{"id":25629499,"url":"https://github.com/DustinWatts/esp32-touchdown","last_synced_at":"2026-06-10T12:30:15.186Z","repository":{"id":38994734,"uuid":"314272877","full_name":"DustinWatts/esp32-touchdown","owner":"DustinWatts","description":"ESP32 TouchDown","archived":false,"fork":false,"pushed_at":"2024-04-20T16:28:46.000Z","size":52781,"stargazers_count":336,"open_issues_count":3,"forks_count":51,"subscribers_count":34,"default_branch":"main","last_synced_at":"2024-04-20T18:04:58.972Z","etag":null,"topics":["esp32","ili9488","tft"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DustinWatts.png","metadata":{"files":{"readme":"README.md","changelog":"changelog V1 to V1.txt","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-11-19T14:29:01.000Z","updated_at":"2024-04-20T16:28:50.000Z","dependencies_parsed_at":"2022-07-27T02:01:56.594Z","dependency_job_id":"e17ed656-c92c-434d-97ec-b58368225e1c","html_url":"https://github.com/DustinWatts/esp32-touchdown","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DustinWatts%2Fesp32-touchdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DustinWatts%2Fesp32-touchdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DustinWatts%2Fesp32-touchdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DustinWatts%2Fesp32-touchdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DustinWatts","download_url":"https://codeload.github.com/DustinWatts/esp32-touchdown/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240222473,"owners_count":19767461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","ili9488","tft"],"created_at":"2025-02-22T19:17:23.059Z","updated_at":"2026-06-10T12:30:15.074Z","avatar_url":"https://github.com/DustinWatts.png","language":null,"funding_links":["https://www.patreon.com/dustinwatts","https://www.paypal.me/dustinwattsnl"],"categories":["Others"],"sub_categories":[],"readme":"# ESP32 TouchDown\n[![](https://img.shields.io/badge/buy-on%20Tindie-blue)](https://www.tindie.com/products/dustinwattsnl/esp32-touchdown/)\n[![](https://img.shields.io/discord/693862273864827012?color=5165f6\u0026label=chat%20on%20Discord)](https://discord.gg/RE3XevS)\n[![](https://badgen.net/github/license/DustinWatts/esp32-touchdown)](https://github.com/DustinWatts/esp32-touchdown/blob/main/LICENSE)\n[![](https://badgen.net/badge/watch/on%20youtube/ff0000)](https://www.youtube.com/watch?v=sdVtHU2Gz7Y)\n[![](https://img.shields.io/twitter/follow/DustinWattsNL)](https://twitter.com/DustinWattsNL)\n\n\n\n## Where to buy?\n\nAvailable from:\n\n- Tindie: -\u003e https://www.tindie.com/products/dustinwattsnl/esp32-touchdown/ (Ships from The Netherlands)\n\n- Lectronz -\u003e https://lectronz.com/products/esp32-touchdown (Ships from The Netherlands)\n\n- Eplop Electornics -\u003e https://store.eplop.co.uk/product/esp32touchdown/ (Ships from the UK)\n\n- PCBWay -\u003e https://www.pcbway.com/project/gifts_detail/ESP32_TouchDown.html (Ships from China) \n\n## FreeTouchDeck\n\n#### Your ESP32 TouchDown comes with FreeTouchDeck pre-installed. Check out this simple start guide: [With FreeTouchDeck pre-installed](https://github.com/DustinWatts/esp32-touchdown/wiki/With-FreeTouchDeck-pre-installed)\n\n![ESP32 TouchDown](/Images/osh.JPG)\n\n![ESP32 TouchDown](http://www.dustinwatts.nl/ESP32-TouchDown/ESP32_TouchDown_features.png)\n\nWhile working on [FreeTouchDeck](https://github.com/DustinWatts/FreeTouchDeck), I really wanted to use capacitive touch. Unfortunately, most modules I could find were resistive touch and capacitive touch has a much nicer user experience. While I was designing, it made sense to put the ESP32 on the board itself, removing the need for an ESP32 Dev board. I wanted to take full advantage of the ESP32 wireless capabilities (Wifi, BLE) so I included a battery management circuit. ESP32 TouchDown can run off of a LiPo battery and also charge it. Here is a full list of the features:\n\n- ESP32-WROOM-32D\n- ILI9488 480*320 TFT screen in 4-wire SPI mode\n- FT62x6 Capacitive Touch Controller\n- APK2112 3.3V regulator _(On V1.1 of the board an AP7365 is used, see changelog.txt)_\n- MCP73831 battery management IC _(On V1.1 of the board a Shouding SD8016 is used, see changelog.txt)_\n- CP2102 USB-to-UART bridge\n- USB-C connector\n- microSD card holder\n- Battery voltage divider connected to GPIO35\n- Passive buzzer connected to GPIO26\n- 12 unused GPIO's broken out\n- Stemma / JST-PH I2C connector\n\nESP32 TouchDown works out of the box (as ESP32 Dev Module) with the Arduino IDE, providing you have installed the ESP32 Arduino Core. If you have not, this is where you can find it: [https://github.com/espressif/arduino-esp32](https://github.com/espressif/arduino-esp32).\n\n## Documentation:\n\nDocumentation can be found in the [Wiki](https://github.com/DustinWatts/esp32-touchdown/wiki).\n\n## TFT screen and touch controller\n\nESP32 TouchDown uses an 480x320 screen with an ILI9488 ([datasheet](https://github.com/DustinWatts/esp32-touchdown/blob/main/Hardware/Datasheets/ILITEK_ILI9488.pdf)) driver. There are numerous drivers out there, but I found TFT_eSPI by Bodmer the most versatile. [https://github.com/Bodmer/TFT_eSPI](https://github.com/Bodmer/TFT_eSPI). \n\nPins used by the TFT screen are:\n\n- GPIO2 -\u003e DC_RS\n- GPIO4 -\u003e TFT_RESET\n- GPIO15 -\u003e TFT_CS\n- GPIO18 -\u003e SPI Clock\n- GPIO23 -\u003e SDI (MOSI)\n\nThe 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 GPIO32. You can this pin and use PWM to control the backlight brightness.\n\n_Note: On V1.1 of the board the jumpers used are with bridged pads. So by default have no solder blob. See changelog.txt_\n\n![TFT Backlight Select](http://www.dustinwatts.nl/ESP32-TouchDown/backlight_select.png)\n\nThe touch controller is a FocalTech FT62x6 ([datasheet](https://github.com/DustinWatts/esp32-touchdown/blob/main/Hardware/Datasheets/FT6236-FocalTechSystems.pdf)). The first batch uses an FT6236 and the second batch of boards has the FT6206. Both have the same I2C address of 0X38. I made an Arduino IDE library available here: [https://github.com/DustinWatts/FT6236](https://github.com/DustinWatts/FT6236). This library also supports the FT6202.\n\nPins used by the FT62x6 are:\n\n- GPIO21 -\u003e I2C data\n- GPIO22 -\u003e I2C clock\n- GPIO27 -\u003e IRQ\n\n## GPIO Breakout\n\nThe following GPIO's are broken out on the header:\n\n- GPIO 12\n- GPIO 13\n- GPIO 14\n- GPIO 16\n- GPIO 17\n- SCK (GPIO 18, used as SPI clock)\n- SDO (GPIO 19, used as SPI MOSI)\n- SDA (GPIO 21, used as I2C data)\n- SCL (GPIO 22, used as I2C clock)\n- SDI (GPIO 23, used as SPI MISO)\n- GPIO 33\n- GPIO 34 (note: INPUT only!)\n\n## SD Card\n\nThe following pins are used by the SD card holder:\n\n- GPIO 25 --\u003e CD/DAT3\n- GPIO 23 --\u003e CMD\n- GPIO 18 --\u003e CLK\n- GPIO 19 --\u003e DAT0\n\n*CD (card detect) DAT1 and DAT2 are not connected.*\n\n## Speaker (buzzer)\n\n- GPIO 26\n\n## Uploading code to the ESP32 TouchDown\n\nFor FreeTouchDeck installation instructions see: https://github.com/DustinWatts/FreeTouchDeck/wiki/1.-Installation\n\nFor other code: The ESP32 TouchDown uses the same configuration as an ESP32 Dev Module. So you can use those board definitions to upload your own code to the ESP32 TouchDown:\n![Arduino IDE board settings](http://www.dustinwatts.nl/ESP32-TouchDown/docs/board_settings.png)\n\n## Open Source\n\nEverything 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.\n\n\u003cdiv style=\"margin:0 auto;\"\u003e\n  \n  \u003cdiv\u003e \n    \u003cimg src=\"http://www.dustinwatts.nl/ESP32-TouchDown/license.svg\" alt=\"License\" width=\"200\"/\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n    \u003cimg src=\"/Images/oshw-mark-nl000004-transp-900x660.png\" alt=\"OSHW\" width=\"160\"/\u003e\n  \u003c/div\u003e\n\n\u003c/div\u003e\n\n## Support Me\n\nIf you like what I am doing, there are a number of ways you can support me. \n\n| Platform | Link|\n|:-----:|:-----|\n| [\u003cimg src=\"https://github.com/DustinWatts/small_logos/blob/main/twitter_logo.png\" alt=\"Twitter\" width=\"24\"/\u003e](https://twitter.com/dustinwattsnl \"Follow me on Twitter\") | You can follow me on Twitter: [@dustinwattsnl](https://twitter.com/dustinwattsnl \"Follow me on Twitter\")|\n| [\u003cimg src=\"https://github.com/DustinWatts/small_logos/blob/main/youtube_logo.png\" alt=\"YouTube\" width=\"32\"/\u003e](https://www.youtube.com/dustinwatts \"Subscrive to my YouTube channel\") | You can subscribe to my channel on Youtube: [/dustinWatts](https://www.youtube.com/dustinwatts \"Subscribe to my YouTube channel\") |\n| [\u003cimg src=\"https://github.com/DustinWatts/small_logos/blob/main/patreon_logo.png\" alt=\"Patreon\" width=\"32\"/\u003e](https://www.patreon.com/dustinwatts) | You can support me by becoming a patron on Patreon: https://www.patreon.com/dustinwatts |\n| [\u003cimg src=\"https://github.com/DustinWatts/small_logos/blob/main/paypalme_logo.png\" alt=\"PayPal.me\" width=\"32\"/\u003e](https://www.paypal.me/dustinwattsnl) | You can make a one time donation using PayPal.me: https://www.paypal.me/dustinwattsnl |\n\n## Help\n\nFor quick access to help you can join my Discord server where I have a dedicated #esp32-touchdown channel. https://discord.gg/RE3XevS\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDustinWatts%2Fesp32-touchdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDustinWatts%2Fesp32-touchdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDustinWatts%2Fesp32-touchdown/lists"}