ESP32 TouchDown

An ESP32 with a 3.5" (480*320) Capacitive Touch TFT, with battery management.

Similar projects worth following
Starting from
DustinWattsNL has 284 orders / 5reviews
Ships from Netherlands
While working on FreeTouchDeck (another project) I used resistive touch screens modules. I was trying to find a capacitive touch module, but couldn't find a suitable one. The screens themselves are pretty easy to get by. So I decided to make my own module. And while I was at it, I decided it was a good idea to include an ESP32 onboard. I also wanted these screens to be portable, so I added battery management to the board. I had some room left, so I also added a speaker, broke out all the unused pins, added an micro SD card connector, and added a Stemma (I2C) connector. After some designing ESP32 TouchDown was born!

Available from:

Tindie: -> (Shipping from The Netherlands)

Eplop Electornics -> (Shipping from the UK)

PCBWay -> (Shipping from China)

ESP32 TouchDown features:

  • ESP32-WROOM-32D
  • ILI9488 3.5" (480*320) TFT screen in 4-wire SPI mode
  • FT62x6 Capacitive Touch Controller
  • APK2112 3.3V regulator
  • MCP73831 battery management IC
  • CP2102 USB-to-UART IC
  • USB-C connector
  • microSD card holder
  • Battery voltage divider connected to GPIO35
  • Stemma / JST-PH I2C connector
  • Compact size: 100x57x15mm


Documentation can be found in the Wiki. Github repository:

TFT screen and touch controller

ESP32 TouchDown uses an 480x320 screen with an ILI9488 (datasheet) driver. There are numerous drivers out there, but I found TFT_eSPI by Bodmer the most versatile.

Pins used by the TFT screen are:

  • GPIO2 -> DC_RS
  • GPIO15 -> TFT_CS
  • GPIO18 -> SPI Clock
  • GPIO23 -> SDI (MOSI)

The TFT backlight anode (positive supply) is selectable via a jumper on the back. You can either power it directly from 3.3V or use GPIO32. By default, the positive source is 3.3V. You can change this and use PWM to control the backlight brightness.

TFT Backlight Select

The touch controller is a FocalTech FT62x6 (datasheet). The FT62x6 uses I2C and has address 0X38. I made an Arduino IDE library available here:

Pins used by the FT62x6 are:

  • GPIO21 -> I2C data
  • GPIO22 -> I2C clock
  • GPIO27 -> IRQ

GPIO Breakout

The following GPIO's are broken out on the header:

  • GPIO 12
  • GPIO 13
  • GPIO 14
  • GPIO 16
  • GPIO 17
  • SCK (GPIO 18, used as SPI clock)
  • SDO (GPIO 19, used as SPI MOSI)
  • SDA (GPIO 21, used as I2C data)
  • SCL (GPIO 22, used as I2C clock)
  • SDI (GPIO 23, used as SPI MISO)
  • GPIO 33
  • GPIO 34 (note: INPUT only!)

SD Card

The following pins are used by the SD card holder:

  • GPIO 25 --> CD/DAT3
  • GPIO 23 --> CMD
  • GPIO 18 --> CLK
  • GPIO 19 --> DAT0

CD (card detect) DAT1 and DAT2 are not connected.

Open Source

Everything about the ESP32 TouchDown is open source. This means I provide you will all the designs I make. In this repository, you will find the KiCad project, including schematic, and board layout. Also, the complete BOM is available to you. I have included the datasheets of all the hardware used.


View all 2 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates