cbm80amiga / ST7789_AVR

Fast SPI library for the ST7789 IPS display optimized for AVR Arduinos
GNU General Public License v3.0
17 stars 1 forks source link

license-badge version ![hit-count] github-issues

ST7789_AVR

Fast SPI library for the ST7789 IPS display optimized for AVR Arduinos

Replaces obsolete Arduino_ST7789_Fast: https://github.com/cbm80amiga/Arduino_ST7789_Fast

Significantly optimized for 16MHz AVR Arduino boards (2.5-5x faster than other libraries).

Achieved 7.1Mbps SPI transfer rate (at DIV2/16MHz clock).

In compatiliblity mode it should work with other MCUs, but I didn't test all configurations.

For STM32 (BluePill) there is separate optimized version here: https://github.com/cbm80amiga/Arduino_ST7789_STM

YouTube video:

https://youtu.be/GciLKcWQZK4

YouTube playlist with all videos related to ST7789:

https://www.youtube.com/playlist?list=PLxb1losWErZ7thUyB05phRR3DoiYN_kcD

Configuration

Use #define COMPATIBILITY_MODE - then the library should work on all Arduino compatible boards

Remove above define for the best performance on 16MHz AVR

Use #define CS_ALWAYS_LOW for LCD boards where CS pin is internally connected to the ground, it gives better performance

Tested with Arduino IDE 1.6.5 and Adafruit_GFX 1.5.6

Extra Features

Tested displays:

Circuit Front Back
Circuit Front Back
Circuit Front Back
Circuit Front Back
Circuit Front Back
Circuit Front Back

Connections:

Without CS (1.3" only) - use CS_ALWAYS_LOW

LCD pin LCD pin name Arduino
#01 GND GND
#02 VCC VCC (3.3V only!)
#03 SCL D13/SCK
#04 SDA D11/MOSI
#05 RES D9 or any digital
#06 DC D10 or any digital
#07 BLK NC

With CS - don't use CS_ALWAYS_LOW

LCD pin LCD pin name Arduino
#01 GND GND
#02 VCC VCC (3.3V only!)
#03 SCL D13/SCK
#04 SDA D11/MOSI
#05 RES optional
#06 DC D10 or any digital
#07 CS D9 or any digital
#08 BLK VCC

If you find it useful and want to buy me a coffee or a beer:

https://buycoffee.to/cbm80

https://www.paypal.me/cbm80amiga