This breakout board features a 1.9” full-angle color TFT display with *SPI interface that works for 3.3V and 5V microcontrollers. Since the display is using IPS (In-Plane Switching), it has excellent viewing angles and rich colors.
The display is available from generic Chinese sources (like Estardyn and others) for around €2.00:
It is used by renown brands as well. The 1.9” Adafruit Display has a snappier PCB design and comes with good documentation. You decide whether this is worth 10x the cost (around €20.00):
In-between this price range, there are many other vendors offering their own PCB designs, including this cleverly designed PCB from WaveShare with the smallest-possible form factor and an excellent documentation that equally applies to the breakout boards from other vendors:
Item | Description |
---|---|
Supply Voltage | 3.2-5.0V |
Resolution | 170x320 |
Pixel Size | 0.1335x0.1335mm |
Colors | 262K (18bit) |
Controller | ST7789 |
Controller Power Consumption | 7mA |
Backlight Power Consumption | 20-40mA |
Sleep-In Power Consumption | 30uA |
Module Size | 29x62x5.1mm |
Screen Size | 23.7x43.7mm |
Visible Size | 22.7x42.7mm (0.5mm margin) |
Weight | 9.8g |
SPI Interface
Both the Chinese Board and the Adafruit Display expose the SPI interface:
Pin (Display Board) | Description | Pin (Lolin32 Lite) |
---|---|---|
GND | Ground | G |
VCC | positive supply voltage | 3V |
SCL | SPI Clock (SCK) | 18 |
SDA | SPI MOSI | 23 |
RES | Reset | EN or programmable GPIO, (low active) |
DC | Data/Command (Data=high, Command=low) | any output GPIO |
CS | Chip Select (low active) | 5 |
BLK | Backlight | any PWM pin or 3V (100% bright, no dimming) |
Backlight
The display backlight is controlled via pin BLK:
- Controllable: if you want your microcontroller to control the backlight (i.e. to dynamically dim it), connect BLK to any PWM pin.
- Fixed: when you connect BLK to 3.3V/5V directly, the backlight works independently from the microcontroller. You could use a small potentiometer to manually adjust its brightness.
With the latter setup, the display remains on (and fully readable) when the board enters deep sleep. This can be highly power efficient if you want your device to display static content.
Reset
Via the RES pin, the display controller can be resetted (low active). Here are your options:
- Don’t care: if you do not plan to reset the display, pull this pin high by connecting it to VCC, ensuring that the device won’t reset itself randomly.
- Sync With Microcontroller: when your microcontroller breakout board exposes its own Reset pin, you can connect RES to the reset pin of your microcontroller. This way, you don’t waste a precious GPIO and get basic reset behavior: when you reset your microcontroller (i.e. by pressing its Reset button), the display is resetted as well. This may be invaluable because else, when you reset your microcontroller, the display would still continue to show its previous content. This can be highly confusing, especially when you flash the microcontroller with fresh firmware (without removing its power). If the new firmware isn’t drawing content on the display, after the firmware update, the board would still show the old display content, and users could be led to believe the firmare update wasn’t successful.
- Manual: when wiring RES to any output GPIO, you can control when to reset the display. Make sure the GPIO has a pullup resistor enabled, and pull the GPIO low to reset the display controller.
Unless you have a real reason why you wanted to ever manually reset the display controller, connecting RES to the Reset Pin of your microcontroller appears to be the best value (provided your development board exposes this pin).
Programming
The display boards use the ST7789 controller that can be programmed with these librarys and components:
- ArduinoIDE/platformio: Adafruit-ST7735-Library, TFT_eSPI
- ESPHome: ILI9XXX component, ST7789V TFT LCD component (obsolete)
Here is a good walkthrough using this display plus these:
- Lolin32 Lite development board
- ArduinoIDE
- TFT_eSPI library
Materials
- How To Connect Breakout-Board: excellent and detailed documentation (by WaveShare) covering the WaveShare breakout board. Applies to breakout boards from other vendors as well. Covers using the display with various microcontrollers (including Raspberry Pi, STM32, and Arduino).
Slow Website?
This website is very fast, and pages should appear instantly. If this site is slow for you, then your routing may be messed up, and this issue does not only affect done.land, but potentially a few other websites and downloads as well. Here are simple steps to speed up your Internet experience and fix issues with slow websites and downloads..
Comments
Please do leave comments below. I am using utteran.ce, an open-source and ad-free light-weight commenting system.
Here is how your comments are stored
Whenever you leave a comment, a new github issue is created on your behalf.
-
All comments become trackable issues in the Github Issues section, and I (and you) can follow up on them.
-
There is no third-party provider, no disrupting ads, and everything remains transparent inside github.
Github Users Yes, Spammers No
To keep spammers out and comments attributable, all you do is log in using your (free) github account and grant utteranc.es the permission to submit issues on your behalf.
If you don’t have a github account yet, go get yourself one - it’s free and simple.
If for any reason you do not feel comfortable with letting the commenting system submit issues for you, then visit Github Issues directly, i.e. by clicking the red button Submit Issue at the bottom of each page, and submit your issue manually. You control everything.
Discussions
For chit-chat and quick questions, feel free to visit and participate in Discussions. They work much like classic forums or bulletin boards. Just keep in mind: your valued input isn’t equally well trackable there.
(content created Oct 20, 2024)