UTFT with support for ESP8266 and ESP32
C C++ Processing
Switch branches/tags
Nothing to show
Clone or download



Project Summary

This project brings support for the ESP8266 and ESP32 series of microcontrollers to the popular UTFT library. For now, only displays with serial interfaces are supported (no 8-bit parallel mode, etc).

To use it, simply copy the UTFT folder to your Arduino library folder.

In addition to the original bit-banging communication method of the UTFT library, this project also introduces support for true hardware SPI communication for serial interface displays. A new UTFT constructor has been added for this purpose:

UTFT(byte model, int CS, int RST, int SER=0);

When the above constructor is invoked, the library will automatically use the hardware SPI pins for SCK and MOSI (GPIO14 and GPIO13 respectively on the ESP8266 and ESP32).

You might want to have a look at the included Arduino IDE examples for ideas on how to establish the communication between the ESP8266 and your TFT display.

This work has been tested with an ESP-12 module, an ESP32 module, several ILI9341-based and ST7735-based serial displays, Arduino IDE 1.6.5, 1.6.6 and 1.6.11, using stable versions 2.0.0 and 2.3.0 of the excellent esp8266 platform package for Arduino and Arduino core for the ESP32.

Please keep in mind that this is still work in progress. Use it at your own risk.

For bug fixes and code improvements, please submit a pull request.

License and Credits

This project is based on the original UTFT library developed and maintained by Henning Karlsen, and licensed under CC BY-NC-SA 3.0.

As a derivative work of the original UTFT library, this project is licensed under:


Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

Personal view on the non-commercial clause of the license

I personally disagree with the non-commercial clause of the license, I'd much prefer a license which does not restrict commercial reuse, but I'm legally bound by the original author's choice of license.

Interesting articles on this topic:

Required procedure for commercial re-use of this project

If you plan to use this project for commercial purpose, you need to obtain an approval from both myself and Henning Karlsen. Please contact me via email (or just leave a comment to one of my commits) and I will gladly approve your project free of charge, but keep in mind that since this is a derivative work, you also need to contact Hennning Karlsen and get a commercial license for the original UTFT library as well.


I do not currently accept any donations, but if you find this project useful, you should consider donating to Hennning Karlsen for his great effort in providing and maintaining the original UTFT library.