ESP32 boards with integrated TFT display

There are a few TTGO boards on Aliexpress that caught my eye recently. These comprise an Espressif ESP32 with a TFT as a single module. TFT sizes of 1.8", 2.2" (ILI9341) and 2.4" are available each with different features.

The board I ordered is this one, it has a 2.2" TFT with the ILI9341 driver plus 4 Mbytes of extra PSRAM, Grove I2C connector, Lipo charger and these boards are also available with a case. Mine arrived in just 7 days from China.

These displays work well with the TFT_eSPI library and can be used to display Weather information using this library.

The displays are sold as "bitcoin trackers" that show the value of crypto currencies but they have the micro USB port and can be programmed using the Arduino IDE with the usual ESP32 board package.

The displays are sometimes available at a lower price on Aliexpress discount days, so watch out for those. There are also discount vouchers you can use.

The display modules work very well and have 3 control buttons that can be programmed to functions in a sketch.

The 1.8" screen module is smaller and cheaper but examine the features before purchase. The 2.4" module is designed for mp3 audio playback and internet radio applications and the audio DAC is supported by Arduino libraries. I have been so impressed with the 2.2" display version that I have ordered one of the 2.4" boards to play with the audio capability, mainly to try internet radio and speech synthesis.

Setup settings for TFT and pins as follows:

#define ILI9341_DRIVER

#define TFT_MISO 12
#define TFT_MOSI 23
#define TFT_SCLK 18

#define TFT_CS   27
#define TFT_DC   26
#define TFT_RST   5

#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF

#define SMOOTH_FONT

#define SPI_FREQUENCY  40000000 // Maximum for ILI9341

This is a great find, Bodmer... thanks for posting it. Ordered the 2.2 ILI9341. Noticed that they also offer many other integrated display variants, including e-Ink.

Hi, yes I have ordered a 2.7" epaper board, these are a better size and aspect ratio compared to the 2.9" and I do not need the faster partial refresh. They will work with the TFT_eSPI library and I will be adding some support examples.

The boards fit nicely in the price gap between a DIY setup of cheap boards and those from suppliers like Adafruit. They save the error prone hassle of wiring to the display and the additional PSRAM on the "bitcoin ticker" module is really great.

I see now after searching the there is a review of some of the earlier boards here.

The TTGO TM TFT module arrived today, delivered in only 7 days from China to the UK.

The price of the module is high at the moment it is best to wait until there is a sale day on these boards to lower the cost.

This board works fine with TFT_eSPI when the ST7789 driver is selected. The pin settings are different and the RGB colour order is reversed compared to other boards so I have added an option to the TFT_eSPI library to set the colour order.

The setup required is:

#define ST7789_DRIVER

#define TFT_MISO 12
#define TFT_MOSI 23
#define TFT_SCLK 18

#define TFT_CS   05
#define TFT_DC   16
#define TFT_RST  17

#define TFT_WIDTH  240
#define TFT_HEIGHT 320

//#define TFT_RGB_ORDER TFT_RGB  // Colour order Red-Green-Blue
#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red

#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF

#define SMOOTH_FONT

#define SPI_FREQUENCY  40000000

The Good:
I have set the SPI rate to 80MHz and the ST7789 TFT seems to work perfectly at that clock speed, the higher clock frequency boosts the drawing speed (e.g. clear screen in 18ms as opposed to 33.3ms).

The Bad:
The tiny Lipo on/off switch was jammed and started to break when moved. It still works but the tiny plastic slider retainer has cracked and broken away. The solder joints at the back of the switch look like they have been re-worked manually, so I suspect flux got in the switch and jammed it, you may be luckier. No PSRAM on this board but you do get an audio out jack and DAC that should allow a Bluetooth speaker or internet Radio to be implemented.

The Ugly:
The Grove I2C connector is not soldered in, this is clearly because the pins would poke through the board and damage the back of the display. It would be possible to "surface mount" the connector by bending the pins but I think the solder flowing into the PTH may melt the reflective backlight diffuser screen at the back of the display. One way around this would be to fill the holes with epoxy first.

iam getting a fluctuating value for x=8613 and y= 543 in serial by using above code