SPI TFT Driver for esp-idf
git clone https://github.com/nopnop2002/esp-idf-ili9340
cd esp-idf-ili9340/
idf.py set-target esp32
idf.py menuconfig
idf.py flash
git clone https://github.com/nopnop2002/esp-idf-ili9340
cd esp-idf-ili9340/
idf.py set-target esp32s2
idf.py menuconfig
idf.py flash
- tjpgd library does not exist in ESP32-S2 ROM.
- JPEG and PNG function is not supported because the ROM is small.
You have to set this config value with menuconfig.
- CONFIG_WIDTH
- CONFIG_HEIGHT
- CONFIG_OFFSETX
- CONFIG_OFFSETY
- CONFIG_MOSI_GPIO
- CONFIG_SCLK_GPIO
- CONFIG_CS_GPIO
- CONFIG_DC_GPIO
- CONFIG_RESET_GPIO
- CONFIG_BL_GPIO
GPIO of ESP32 cannot supply too much current.
The TFT backlight is more stable when supplied from an external power source.
MISO is not use.
M5Stack
4.0" ST7796S 480x320
3.2" ILI9341 320x240
2.8" ILI9341 320x240
2.4" ILI9341 320x240
2.2" ILI9340 320x240
2.0" ILI9225 176x220
2.0" ILI9225G 176x220
1.8" ST7735 128x160
1.77" ST7735 128x160
1.44" ST7735 128x128
0.96" ST7735 80x160
GRAM Offset may be different
The ESP-IDF component includes Tiny JPEG Decompressor.
The document of Tiny JPEG Decompressor is here.
This can reduce the image to 1/2 1/4 1/8.
The ESP-IDF component includes part of the miniz library, such as mz_crc32.
But it doesn't support all of the miniz.
The document of miniz library is here.
And I ported the pngle library from here.
This can reduce the image to any size.
You can add your original fonts.
The format of the font file is the FONTX format.
Your font file is put in font directory.
Your font file is uploaded to SPIFFS partition using meke flash.
Please refer this page about FONTX format.
FontxFile yourFont[2];
InitFontx(yourFont,"/spiffs/your_font_file_name","");
uint8_t ascii[10];
strcpy((char *)ascii, "MyFont");
uint16_t color = RED;
lcdDrawString(&dev, yourFont, x, y, ascii, color);
There is a font file editor.
This can be done on Windows 10.
Developer page is here.
This library uses the following as default fonts:
- font/ILGH16XB.FNT // 8x16Dot Gothic
- font/ILGH24XB.FNT // 12x24Dot Gothic
- font/ILGH32XB.FNT // 16x32Dot Gothic
- font/ILMH16XB.FNT // 8x16Dot Mincyo
- font/ILMH24XB.FNT // 12x24Dot Mincyo
- font/ILMH32XB.FNT // 16x32Dot Mincyo
Changing this file will change the font.