Specifications
Hardware Specifications
[FLASH]QSPI flash 4MB /16MB
[SRAM]520 kB SRAM
[Button]Reset
[USB to TTL]4MB CP2104 or CH9102F (Currently only compatible with Windows because of the Mac system updates , uploading programs with the MAC system isnot supported)
[Modular interface]UART、SPI、SDIO、I2C、LED PWM、TV PWM、I2S、IRGPIO、ADC、DACLNApre-amplifier
[Working voltage]2.7V-4.2V
[Working current]About 67MA
[Sleep current]About 350uA
[Working temperature range]-40℃ ~ +85℃
[Size&Weight]51.52*25.04*8.54mm(7.81g)
Power Supply Specifications
[Power Supply]USB 5V/1A
[Charging current]500mA
[Battery]3.7V lithium battery
[JST Connector]2Pin 1.25mm
Wi-Fi
[Standard]FCC/CE-RED/IC/TELEC/KCC/SRRC/NCC(esp32 chip)
[Protocol]802.11 b/g/n(802.11n,speed up to150Mbps)A-MPDU and A-MSDU polymerization,support 0.4μS Protection interval
[Frequency range]2.4GHz~2.5GHz(2400M~2483.5M)
[Transmit Power]22dBm
[Communication distance]300m
Bluetooth
[Protocol]Meet bluetooth v4.2BR/EDR and BLE standard
[Radio frequency]With -97dBm sensitivity NZIF receiver Class-1,Class-2&Class-3 emitter AFH
[Audio frequency]CVSD&SBC audio frequency
Software specification
[Wi-Fi Mode]Station/SoftAP/SoftAP+Station/P2P
[Security mechanism]WPA/WPA2/WPA2-Enterprise/WPS
[Encryption Type]AES/RSA/ECC/SHA
[Firmware upgrade]UART download/OTA(Through network/host to download and write firmware)
[Software Development]Support cloud server development /SDK for user firmware development
[Networking protocol]IPv4、IPv6、SSL、TCP/UDP/HTTP/FTP/MQTT
[User Configuration] AT + Instruction set, cloud server, android/iOSapp
[OS] FreeRTOS
Shipping List
1* TTGO T-Display(4MB CP2104 Chip)
1* Charging Cable
2* Pin
Pinout
Arduino
Install Board Manager
Install the board manager for ESP32. Click Arduino → preferences and add the url for the ESP32 board manager.
ESP32 Board Manager URL: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Install the ESP32 board by selecting Tools → Board Manager and inputing esp32. Install the latest version.
Install the T-Display Libraries
Code https://github.com/Xinyuan-LilyGO/TTGO-T-Display
git clone https://github.com/Xinyuan-LilyGO/TTGO-T-Display.git cd TTGO-T-Display cp -R TFT_eSPI ~/Documents/Arduino/libraries/.
Select Board
Select the development board ESP32 Dev Module, select Disable in the PSRAM option, select 4-16MB in the Flash Size option, Other keep the default
Color Picker Example
Project | https://www.youtube.com/watch?v=0P5OyN8uz-o |
---|---|
Code | https://github.com/VolosR/ColorPickerTTGO/blob/main/colorPicker.ino |
Display |
#include <TFT_eSPI.h> #include "orbitron20.h" TFT_eSPI tft = TFT_eSPI(); // Create object "tft" TFT_eSprite img = TFT_eSprite(&tft); #define gray 0x94B2 const int pwmFreq = 5000; const int pwmResolution = 8; const int pwmLedChannelTFT = 0; int brightnes=80; uint16_t color2=TFT_WHITE; uint16_t color1=TFT_BLACK; void setup() { pinMode(35,INPUT_PULLUP); pinMode(12,INPUT_PULLUP); pinMode(27,INPUT_PULLUP); pinMode(26,INPUT_PULLUP); pinMode(0,INPUT_PULLUP); tft.init(); tft.fillScreen(TFT_WHITE); tft.setRotation(1); img.setFreeFont(&Orbitron_Medium_18); img.setTextColor(color1,color2); img.createSprite(240, 135); ledcSetup(pwmLedChannelTFT, pwmFreq, pwmResolution); ledcAttachPin(TFT_BL, pwmLedChannelTFT); ledcWrite(pwmLedChannelTFT, brightnes); } void loop() { drawS(); } void drawS() { img.setTextColor(color1,color2); img.fillSprite(color2); int r=map(analogRead(2),4095,0,0,255); int g=map(analogRead(15),4095,0,0,255); int b=map(analogRead(13),4095,0,0,255); img.drawRect(4,24,132,20,gray); img.drawRect(4,68,132,20,gray); img.drawRect(4,112,132,20,gray); img.drawString("RED: "+String(r),6,0); img.fillRect(6,26,r/2,16,TFT_RED); img.drawString("GREEN: "+String(g),6,44); img.fillRect(6,70,g/2,16,TFT_GREEN); img.drawString("BLUE: "+String(b),6,88); img.fillRect(6,114,b/2,16,TFT_BLUE); if(digitalRead(26)==0) { brightnes=map(analogRead(13),4095,0,0,255); ledcWrite(pwmLedChannelTFT, brightnes); } uint16_t chosen=tft.color565(r, g, b); img.drawString("COLOR",148,0); img.drawString("0x"+String(chosen,HEX),148,90,4); img.drawString("BRIGHT: "+String(brightnes),148,118,2); img.fillRect(148,24,80,62,chosen); img.drawRect(146,22,84,66,gray); if(digitalRead(12)==0) color1=chosen; if(digitalRead(27)==0) color2=chosen; if(digitalRead(0)==0) { color1=TFT_BLACK; color2=TFT_WHITE;} if(digitalRead(35)==0) { img.fillScreen(color2); img.drawString("text:0x"+String(color1,HEX),6,10,4); img.drawString("back:0x"+String(color2,HEX),6,30,4); img.drawString("select:0x:"+String(chosen,HEX),6,50,4); } img.pushSprite(0,0); }
References
Reference | URL |
---|---|
Datasheet | https://github.com/Xinyuan-LilyGO/T-Display-S3/blob/main/doc/esp32-s3_datasheet_en.pdf |
Reference Manual | https://github.com/Xinyuan-LilyGO/T-Display-S3/blob/main/doc/esp32-s3_technical_reference_manual_en.pdf |
New sketches for TTGO T-Display (FREE) | https://www.youtube.com/watch?v=Th4IdigA6xE |