JC3636W518

ESP32S3 round display

espTouch

Exploring the limits of the JC3636W518 — a cheap, off-the-shelf round touchscreen module built around an ESP32-S3 with an ST77916 QSPI 360x360 display and capacitive touch.

The goal is to see how far we can push this little device using ESP-IDF (no Arduino), from basic display driving through to more ambitious interactive and networked applications.

Hardware

Component Detail
MCU ESP32-S3 (QFN56, rev v0.2), 8MB PSRAM
Display ST77916, 360x360 round, QSPI interface @ 40MHz
Touch Capacitive, I2C @ 0x15
Flash 16MB

Current: colour_touch

Interactive colour wheel picker. On boot the display renders an HSV colour wheel — white at the centre blending to full-saturation hues at the edge. Touch anywhere to fill the screen with that colour. It stays on your last pick until you touch again.

Key lesson learned: The espressif/esp_lcd_st77916 component has well-tested default init commands for QSPI. Passing custom vendor init (e.g. from Arduino examples) completely replaces the defaults and can cause display artefacts. See colour_touch/NOTES.md for the full debug story.

Build & Flash

Requires ESP-IDF v5.1+.

cd colour_touch
idf.py build flash monitor -p /dev/ttyACM0

Ideas for Next Steps