Adafruit Qualia ESP32-S3 for TTL RGB-666 Displays

AdafruitSKU: ADA5800
Sale price £19.40
incl. VAT
excl. VAT
Only 12 units left

Awesome Extras

The Pi HutUSB-A to USB-C Cable - Black
Sale priceFrom £2.25 incl. VAT excl. VAT

There are a few things everyone loves: ice cream, kittens, and honkin' large TFT screens. We're no strangers to small TFT's - from our itsy 1.14" colour display that graces many-a-TFT-Feather to our fancy 3.5" 320 x 480 breakout screen. But most people who dabble or engineer with microcontrollers know that you sort of 'top out' at 320x480 - that's the largest resolution you can use with everyday SPI or 8-bit 8080 interfaces. After that, you're in TTL-interface TFT land, where displays no longer have an internal memory buffer and instead, the controller has to continuously write scanline data over a 16, 18, or 24-pin interface.

RGB TTL interface TFT displays can get big: they start out at around 4.3" diagonal 480 x 272 and can get to 800 x 480, 800 x 600 or even 720 x 720. For displays that big, you need a lot of video RAM (800x480 at 24-bit colour is just over 1MB), plenty of spare GPIO to dedicate, and a peripheral that will DMA the video RAM out to the display continuously. This is a setup familiar to people working with hefty microcontrollers or microcomputers, the sort of device that runs cell phones, or your car's GPS navigation screen. But until now, nearly impossible to use on low-cost microcontrollers.

The ESP32-S3 is the first low-cost microcontroller that has a built-in peripheral that can drive TTL displays and can come with enough PSRAM to buffer those large images. For example, on the Adafruit Qualia ESP32-S3 for TTL RGB-666 Displays, we use an S3 module with 16 MB of Flash and 8 MB of octal PSRAM. Using the built-in RGB display peripheral you can display graphics, images, animations or even video (Cinepak, natch!) with near-instantaneous updates since the whole screen gets updated every ~30FPS.

This dev board is designed to make it easy for you to explore displays that use the "secondary standard' 40-pin RGB-666 connector. This pin order is most commonly seen on square, round and bar displays. You'll want to compare the display you're using to this datasheet, if it matches you'll probably be good! One nice thing about this connector ordering is that it also includes pins for capacitive touch overlay, and we wire those up to the ESP32-S3's I2C port so you can also have touch control with your display.

Don't forget! This is just the development board, a display is NOT included. Use any RGB-666 pinout display with or without a touch overlay. Note that you will need to program the driver initialization code, dimensions, and pulse widths in your programming language. Here are some known working displays that you can use in Arduino or CircuitPython:

  • 2.1" 480x480 Round with Capacitive Touch
  • 2.1" 480x480 Round without touch
  • 4" 720x720 Square with Capacitive Touch
  • 4" 720x720 Round without touch
  • 4.6" 960x320 Rectangular Bar

On the Qualia board, we have the S3 modules, with 16 pins connected to the TFT for 5-6-5 RGB colour, plus HSync, VSync, Data Enable and Pixel Clock. There's a constant current backlight control circuit using the TPS61169 which can get up to 30V forward voltage and can be configured for 25mA-200mA in 25mA increments (default is 25mA). Power and programming are provided over a USB C connector, wired to the S3's native USB port. For debugging, the hardware UART TX pin is available as well.

Since almost every GPIO is used, and almost all RGB-666 displays need to be initialized over SPI, we put a PCA9554 I/O expander on the shared I2C bus. Arduino or CircuitPython can be instructed on how to use the expander to reset and initiate the display you have if necessary. The remaining expander pins are connected to two right-angle buttons and the display backlight.

The expander is what lets us have a full 4-pin SPI port and two more analogue GPIO pins - enough to wire up an MMC in 1-wire SDIO mode along with an I2S amplifier to make an A/V playback demo. Maybe we can even eat ice cream while watching kitten videos! There is also the shared I2C port, we provide a Stemma QT / Qwiic port for easy addition of any sensor or device you like.



  • Product Dimensions: 57.3mm x 44.4mm x 7.1mm
  • Product Weight: 13.3g

Payment & Accreditations

Payment methods
Visa Mastercard Maestro PayPal Amazon Klarna

Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.