The latest release of ESP32 uLisp now supports TFT displays


The latest release of the ESP version of uLisp, 4.3b, now supports the uLisp graphics extensions on a couple of ESP32 boards with an integral TFT display, making it easy to write programs that plot points, lines, shapes, and text on these displays.

Adafruit ESP32-S2 TFT Feather

The Adafruit ESP32-S2 TFT Feather adopts the same format as Adafruit’s other Feather boards, and incorporates a 240x135 colour TFT display:

It has a USB-C connector, and uses the ESP32-S2’s native USB, avoiding the need for a UART chip.

It has the same specification as their ESP32-S2 Feather: it provides 4 MB flash and 2 MB PSRAM, and includes a JST connector for a Lipo battery, a Lipo charger to allow the battery to be charged from the USB port, and an I2C LC709203 battery monitor chip. The board also has a QWIIC/STEMMA QT connector for connecting I2C modules.

TTGO T-Display

The TTGO T-Display from Chinese company LILYGO is based on an ESP32, and incorporates the same 240x135 1.14" colour TFT display:

It has a USB-C connector, and uses a CH9102 USB to serial chip. It provides 4 MB flash but no PSRAM, and includes a JST connector for a Lipo battery. It provides a reset button on the side of the board, and two user buttons each side of the USB connector.

For information about the I/O pins and interfaces see: TTGO ESP32 TFT Pinouts.

The photographs show the boards running the following uLisp ray-tracing program: Ray tracing program 240x135 TFT, which is a version of the program described in Ray tracing with uLisp.

To download the latest version of uLisp for ESP boards see: Download uLisp.

For more information about installing uLisp on these boards see: ESP32 boards with a TFT display.

LittleFS on a ESP32-S3 board
LittleFS on a ESP32-S3 board

With this board (ESP32 S3) I have no success:

which is the successor of the board shown above.

Which parameters in the code and in the Arduino IDE I need to set to make my efforts successful?



The T-Display-S3 uses a different TFT display, which connects to the ESP32-S3 via an 8-bit parallel interface, rather than the SPI interface on the original T-Display; see:

T-Display-S3 on GitHub

Unfortunately it’s not a simple matter to get uLisp to interface to it.

Also, I don’t currently recommend the ESP32-S3 boards for use with uLisp because of a problem with the built-in USB interface that causes it to hang up if you upload a long Lisp program. The developers of the Arduino Core are aware of the problem and say they hope to fix it in a future release.


This is pretty funny, because the night before you released this, I hacked together an equivalent for my T-Display! Thank you so much for putting in the effort to do it the right way!

Now to the next step – wiring in my NeoPixel matrix too!

Thanks again – really loving ulisp and this community!