Skip to content
jayzakk edited this page Aug 17, 2020 · 21 revisions

Background

Due to different timings and features, not all hardware related libraries work out-of-the-box.

Some already got fixes, which need to get their way into release versions. Some don't ;)

If you want to get a library listed, know the working state, or even already submitted PRs and have a working version, please open an issue and we'll update the page.

Libraries

Name Device Interface Known working Alternative Description/Information
Adafruit GFX ST7735 LCD SPI ⭕ : 1.9.0 https://github.com/jayzakk/Adafruit-GFX-Library/tree/lgt8-support PR submitted
see note
ADAFRUIT SSD1306 OLED displays I2C ✅ 2.2.1 just works
Ethernet W5500/W5100 SPI ✅ 2.0.0 just works, see note
FastLED LED Stripes Bit-Bang ⭕ : 3.3.3 https://github.com/jayzakk/FastLED/tree/lgt8f-support PR submitted
Light_WS2812 LED Stripes Bit-Bang ✅ > 2.4 PR by jg1uaa
TFT ST7735 LCD SPI
TFT 1.0.6
GFX 1.5.18
TFT.h uses older Adafruit GFX code, with compatible SPIcode

Notes: Ethernet.h

I measured data throughput with a simple iperf client/server from/to a local linux box.

Receive testing: iperf -c 192.168.178.10 -w 16k -t 20 -i 2 and a simple if (client.available()) client.read(buf, 1024); loop

Sending test: ipferf -s and a simple for (int x=0;x<8192;x++) client.write(buf,1024); loop

Object SPI Speed Receive Mbit/sec Send MBit/sec
Arduino Nano, Atmel 328p, 16MHz 8M 4.14 2.90
LGT at 16MHz 8M 4.19 3.26 (oldSPI)
3.84 (tbufSPI *)
LGT at 32MHz 8M 5.77 (oldSPI)
6.30 (tbufSPI)
4.36 (oldSPI)
7.39 (tbufSPI *)
LGT at 32MHz 16M 8.20 (oldSPI)
14.1
6.08 (oldSPI)
10.7 (tbufSPI *)

For SPI Speed of 16M, a change in w5100.h is needed. This only is possible with a w5500 controller, the older ones do not support higher speeds. Uncomment/Comment SPI_ETHERNET_SETTINGS as outlined in the file.

NB: * = tbufSPI is a PR I submitted to LGT8F core, and one to Ethernet.h, adding a new function using the SPI buffer.

Notes: Adafruit GFX SPI

The PR consists of changing the SPI speed to max, so you can expect at about twice faster drawing at 32MHz.

Clone this wiki locally