Sunday, June 7, 2020

Reference: TTGO ESP32 1.14 Inch LCD LILYGO

On Banggood.

Random notes for the BG page:

IPS ST7789V 1.14 Inch has 135x240 pixel
Display has 340x240 pixel resolution
LCD resolution 240x135

Driver ST7789 (uncomment #define ST7789_DRIVER in User_Setup.h)
Color order Blue-Green-Red (uncomment #define TFT_RGB_ORDER TFT_BGR in User_Setup.h)
Device TTGO_T_Display (uncomment #include in User_Setup_Select.h)

the display seems to require its own graphic library, on github:

Q:Is the SPI bus accessible for other sensors (other than the display)?
A :  VSPI default pins are connected to display and are not available on the headers. HSPI by default uses GPIO 12 to 15. Unfortunately GPIO14 (CLK) is apparently also used by the display BL function. So I assume you will need to remap 14 to another pin to get CLK. (I have not tried this).

Seems to be a difference in this regard between version 1.0 and 1.1. The board I received says V1.1 in silkscreen. According to the pin-out for this version on GitHub GPIO4 (not GPIO14 as indicated above) is used for BL.


Use this library for the display: github Bodmer TFT_eSPI
Look on github for Tetris Clock and "TTGO_example", you will find a library and example I wrote for this board. It has an explanation page that shows how the board looks when running it.

What pins provide me with access to the serial port? TX / RX?
A: A "standard" ESP32 has more pins, the default pins are 3 (Rx) and 1 (Tx) for Serial(0), 9 (Rx) and 10 (Tx) for Serial1, and 16 (Rx) and 17 (Tx) for Serial2. As you can see, with the limited number of pins on this TTGO board, none of them are there. But the good news is that the "Serial.begin" function has an option to change the pins! By using "Serial2.begin(9600, SERIAL_8N1, 25, 26);" you have the Serial2 port on pins 25 (Rx) and 26 (Tx). I tested this today, it's working like a charm!. It's NOT working on pins 37 and 38 (and maybe other pins), but it IS working on pins 25, 26, 27 !!!

This board is an 'ESP32 dev board' and it can be used with the arduino IDE but because it isn't an arduino you'll need to configure the IDE with the new board by adding an 'additional board manager url' to arduino preferences.
Some details of how to do this are here:  youtube mBaS3YnqDaU

The board comes loaded with the arduino sketch from here:
Search github Xinyuan-LilyGO TTGO-T-Display

There is a good youtube vid explaining it a little here: youtube qj9dN-Ginxc
The above is a great intro into how to use the 320x240 display and even makes use of the two buttons near the usb port to show voltage and scan for wifi networks.


Arduino / Preferences  / Board manager url:
Library / Boards / Board manager: esp32
Tools / Board / TTGO Lora32-OLED V1
File / Examples / ESP32 / ChipID / ChipID     ESP32 Chip ID = FCB5F9AB6224
Tools / Manage Libraries... / install tft_eSPI by bodmer
edit libraries/TFT_eSPI/User_Setup_Select.h
    //#include <User_Setup.h>           // Default setup is root library folder
    #include <User_Setups/Setup25_TTGO_T_Display.h>    // Setup file for ESP32 and TTGO T-Display ST7789V SPI bus TFT
File / Examples/ TFT_eSPI/examples/Generic/alphaBlend_Test
(base) ArduinoBase $ mkdir tools
(base) ArduinoBase $ mv ~/Downloads/ESP32FS tools
restart Arduino
Tools / ESP32DataUploader
Tools / Manage Libraries... / jpegdecoder by bodmer
File / Examples / JPEG Decoder / Other_Libraries / SPIFFS_Jpeg
Tools / ESP32DataUploader

No comments:

Post a Comment