Repository navigation
Boards
The ESP32 touch panels recorded as targets for the player, read from the makers' pages on 19 October 2026. One board runs it today, the Waveshare ESP32-C5-Touch-LCD-2.8 described on Hardware; the rest are what the second, third and later boards could be, chosen so that each proves something the first cannot: a different chip (ESP32-S3, ESP32-P4, ESP32-C6, the classic ESP32), a different display interface (QSPI, RGB parallel, MIPI-DSI), a different touch controller, a different audio path (a stereo codec with its own master clock, a line DAC to a jack, an I2S amplifier without a codec) or a headphone output.
What a board must have to be a target:
- a capacitive touch display, since the face and its touch are the product;
- an I2S audio path, as a codec, a DAC or an amplifier on the board, or at least free pins to add one through the GPIO matrix as Audio out does;
- a microSD slot, for the music;
- PSRAM, where the decoder's buffers and the display's frame live;
- 16 MB of flash or more, for two application partitions.
A board without an audio path can still run the Volumio companion and is listed as such. A board that fails one of the other requirements is listed with the reason, so that it is not looked up twice.
How to read the tables. Chip gives the module or chip the maker names, then PSRAM and flash. Display gives the size and resolution, then the interface and the panel controller. Touch gives the controller. Audio gives every part on the audio path the maker names. Headers is what is left for a DAC board or a carrier. Price is the maker's or a reseller's, in US dollars on the reading date, a range where it varied. Note says why the board is on the list and gives the maker's lifecycle word where it is not simply in production. A question mark is a fact the maker's page does not state; it is filled in from a schematic or a board on the bench, not from a guess.
Runs the player today.
| Board | Chip, PSRAM, flash | Display | Touch | Audio | microSD | Headers | Price USD | Note |
|---|---|---|---|---|---|---|---|---|
| Waveshare ESP32-C5-Touch-LCD-2.8 | ESP32-C5HR8, 8MB, 32MB | 2.8in 240x320 IPS, SPI, ST7789 | Cap, CST3530 | ES8311 mono codec (no MCLK, clock from BCLK), NS4150B amp, mic, speaker header | yes | J8 GPIO2/3, J6 GPIO11/12 | 26-27 | Current board: companion v0.1.0 and evo-esp32 run here |
In the post; on the bench next.
| Board | Chip, PSRAM, flash | Display | Touch | Audio | microSD | Headers | Price USD | Note |
|---|---|---|---|---|---|---|---|---|
| Waveshare ESP32-S3-Touch-LCD-2.8 | ESP32-S3R8, 8MB, 16MB | 2.8in 240x320 IPS, SPI, ST7789 | Cap, CST328 (V1) / CST3530 (V2 from 2026-06-05) | PCM5101A stereo DAC (SCK grounded) into APA2068K stereo amp, 4-pin speaker; no line out on a connector; no mic | yes | 12-pin: GPIO15, GPIO18 spare | 20-26 | S3 with the PCM510x circuit on board; a carrier-board partner's board, on its way |
Each proves something the first board cannot: another chip, display interface, touch controller or audio path. The next boards to buy, in this order.
| Board | Chip, PSRAM, flash | Display | Touch | Audio | microSD | Headers | Price USD | Note |
|---|---|---|---|---|---|---|---|---|
| M5Stack Tab5 | ESP32-P4NRW32 + ESP32-C6-MINI-1U (Wi-Fi over SDIO), 32MB octal, 16MB | 5in 1280x720 IPS, MIPI-DSI; ILI9881C, then ST7123 (2025-10), then ST7121 (2026-04) | Cap; GT911 early, then integrated in ST7123/ST7121 (0x55) | ES8388 codec (MCLK G30), ES7210 mic ADC, NS4150B amp, 3.5mm headphone jack with detect, 1W speaker | yes (SPI or SDIO) | PORT.A, M5-Bus, GPIO_EXT, 2.54 10P, RS485, USB-A host | 55-60 | P4, MIPI-DSI, stereo codec with MCLK, headphone output, esp-hosted Wi-Fi. Check panel sticker and P4 chip revision |
| Waveshare ESP32-S3-Knob-Touch-LCD-1.8 | ESP32-S3R8 + ESP32-U4WDH (second MCU), 8MB, 16MB (+4MB on U4WDH) | 1.8in 360x360 round IPS, QSPI, ST77916 | Cap, CST816 | PCM5100A stereo DAC to 3.5mm jack, no amp (SCK grounded per schematic read), mic; CH445P switch selects which MCU feeds the DAC | yes | ? (knob encoder per MCU) | 45-47 | QSPI, CST816, PCM510x line out to a jack on a shipping board, rotary encoder |
| Waveshare ESP32-S3-Touch-LCD-7C-BOX | ESP32-S3 (WROOM-2-N32R16V per reseller listings, not on the maker's page), 16MB, 32MB | 7in 800x480 IPS, RGB parallel; ST7262 (per Resources, not on docs page) | Cap 5-pt, GT911 (per Resources, not on docs page) | ES8389 stereo codec (MCLK GPIO6), ES7210 mics, speaker amps (PA_CTRL EXIO3), 3.5mm connector + MX1.25 | yes (SPI) | I2C, screw terminals; no free I2S | 52 | RGB parallel at 7in, 16MB PSRAM under framebuffer load, second stereo codec family |
| Waveshare ESP32-S3-Touch-LCD-3.5B | ESP32-S3R8, 8MB, 16MB | 3.5in 320x480 IPS, QSPI, AXS15231B | Cap, AXS15231B (Waveshare selection table) | ES8311, amp (NS4150B per reseller listings, not on the maker's page), mic, MX1.25 speaker | yes | 2.54mm header: I2C, UART, USB, GPIO | 26-33 | AXS15231B display+touch in one chip, common on cheap boards |
| M5Stack Core2 v1.3 | ESP32-D0WDQ6-V3 (classic), 8MB, 16MB | 2.0in 320x240 IPS, SPI, ILI9342C (ILI9342E from 2026-08-07) | Cap, FT6336U | NS4168 I2S amp (BCLK G12, LRCK G0, DATA G2), no codec, SPM1423 PDM mic, 1W speaker | yes (shares LCD SPI bus) | M5-Bus; BCLK G12 not on the bus; G19, G27 free | 43 | Classic ESP32 (LX6), FT6336, I2S amp without codec, SD sharing the display bus, AXP192 |
| Waveshare ESP32-C6-Touch-LCD-2.8 | ESP32-C6, none, 16MB | 2.8in 240x320, SPI, ST7789 | Cap, CST3530 | ES8311, NS4150B, mic, speaker | yes | SH1.0 12-pin (I2C, UART) | 24-25 | Same panel, touch and codec as the C5: chip-only comparison; tests the player without PSRAM |
After the core boards: a second maker for a chip already covered, a reference design, a keyboard, an e-paper face.
| Board | Chip, PSRAM, flash | Display | Touch | Audio | microSD | Headers | Price USD | Note |
|---|---|---|---|---|---|---|---|---|
| Waveshare ESP32-P4-WIFI6-Touch-LCD-4.3 | ESP32-P4NRW32 (P4-Core) + ESP32-C6-MINI-1, 32MB, 32MB | 4.3in 480x800 IPS, MIPI-DSI 2-lane, ST7701 | Cap 5-pt, GT911 | ES8311, ES7210, dual mics, speaker (amp not named on page) | yes (SDIO 3.0) | 40-pin 2.54mm, 'compatible with some Raspberry Pi HATs' (pinout not on page) | 34-43 | Second P4 vendor; Pi-HAT header for DAC HATs without a carrier |
| Espressif ESP32-S3-BOX-3 | ESP32-S3 (WROOM-1), 16MB octal, 16MB | 2.4in 320x240, SPI, ILI9342C | Cap, TT21100 or GT911 (BSP) | ES8311, NS4150, ES7210 + 2 mics, 1W speaker; no jack | only on BOX-3-SENSOR accessory | DOCK: 2 Pmod, 16 GPIO | 47-50 | Espressif reference; esp-bsp first-class support |
| LilyGO T-Deck | ESP32-S3FN16R8, 8MB, 16MB | 2.8in 320x240 IPS, SPI, ST7789 | Cap, GT911 | MAX98357A I2S amp, ES7210 ADC + mics, speaker | yes (SPI shared) | Grove UART | 47-53 | MAX98357A class (no I2C, no MCLK), keyboard input |
| LilyGO T-Deck Pro (Voice variant) | ESP32-S3FN16R8, 8MB, 16MB | 3.1in 320x240 e-paper (GDEQ031T10), SPI, controller ? | Cap, CST328 (V1.0) / CST3530 (V1.1) | PCM5102A per shop and pin header (README says PCM512A: verify), speaker + 3.5mm headphone jack | yes (SPI) | Qwiic | 85-94 | e-paper face plus a line DAC with headphone jack |
| Guition JC3248W535C | ESP32-S3 (S3R8 per maker), 8MB, 16MB | 3.5in 320x480 IPS, QSPI, AXS15231B | Cap, AXS15231B | I2S amp (NS4168 or AX98357A, unconfirmed), DIN41/BCLK42/LRCLK2, speaker; no mic | yes (SPI) | ~12 IO on headers | 11-18 | Cheap community favourite; large user base for compatibility |
| Waveshare ESP32-Touch-LCD-3.5 | ESP32-D0WDR2-V3 (classic), 2MB, 16MB | 3.5in 320x480 IPS, SPI, ST7796 | Cap, FT6336 | ES8311, NS4150B, mic, speaker | yes | 32-pin header | 27-29 | Low-memory edge (2MB PSRAM); same family as the S3, C5 and P4 3.5in boards |
Fits every requirement and would run the player, but adds little a core or second-wave board does not. Recorded so that a request for one is answered from the table, not from a fresh search.
| Board | Chip, PSRAM, flash | Display | Touch | Audio | microSD | Headers | Price USD | Note |
|---|---|---|---|---|---|---|---|---|
| Waveshare ESP32-C5-Touch-LCD-3.5 | ESP32-C5HR8, 8MB, 32MB | 3.5in 320x480, SPI, ST7796 | Cap, FT6336 | ES8311, NS4150B, mic, speaker | yes | 32-pin header, camera interface | ? | C5 with FT6336/ST7796; pairs with the classic and S3 3.5in |
| Waveshare ESP32-P4-WIFI6-Touch-LCD-3.5 | ESP32-P4NRW32 + ESP32-C6, 32MB, 16MB | 3.5in 320x480 IPS, SPI, ST7796 (MIPI pads reserved) | Cap, FT6336 | ES8311, NS4150B, mic, speaker | yes (SDIO 3.0) | 2.54mm header | 38-40 | P4 with an SPI panel; chip comparison against the 3.5in family |
| Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C | ESP32-P4NRW32 + ESP32-C6-MINI-1, 32MB, 32MB | 3.4in 800x800 or 4in 720x720 round, MIPI-DSI 2-lane, ? | Cap 10-pt, GT9271 | ES8311, NS4150B, ES7210 + dual mics, speaker | yes (SDIO 3.0) | 40-pin header (28 GPIO) | 65-75 | Round MIPI panel, GT9271 |
| Waveshare ESP32-S3-Touch-LCD-4.3C | ESP32-S3 (WROOM-1-N16R8), 8MB, 16MB | 4.3in 800x480 IPS, RGB, ST7262 | Cap 5-pt, ? | ES8311, NS4150B, ES7210 + mics, speaker | yes | I2C terminal, 2 DI + 2 DO | 40-46 | RGB at 4.3in with codec |
| Waveshare ESP32-S3-Touch-LCD-1.85C (V2) | ESP32-S3R8, 8MB, 16MB | 1.85in 360x360 round, QSPI, ST77916 | Cap, CST816 | V2: ES8311, NS4150B, ES7210 + dual mics (V1 had PCM5101A + NS8002) | yes | 2x14 1.27mm, I2C, UART | 32-36 | Round QSPI with codec. Maker status: in production (out of stock) |
| Waveshare ESP32-S3-Touch-LCD-1.46B | ESP32-S3R8, 8MB, 16MB | 1.46in 412x412 round, QSPI, SPD2010 | Cap, SPD2010 | PCM5101A + NS8002 amp, mic, speaker | yes | 20-pin header | 22-27 | SPD2010 display+touch; PCM5101A |
| Waveshare ESP32-S3-Touch-AMOLED-1.75 | ESP32-S3R8, 8MB, 16MB | 1.75in 466x466 round AMOLED, QSPI, CO5300 | Cap, CST9217 | ES8311, NS4150B, ES7210 + dual mics, speaker | yes | 8-pin 2.54mm | 30-40 | AMOLED CO5300, CST9217 |
| Waveshare ESP32-S3-Touch-AMOLED-2.06 | ESP32-S3R8, 8MB, 32MB | 2.06in 410x502 AMOLED, QSPI, CO5300 | Cap, FT3168 | ES8311, NS4150B, ES7210 + mics | yes | pads only | 30-32 | AMOLED watch format, FT3168 |
| M5Stack CoreS3 | ESP32-S3, 8MB, 16MB | 2.0in 320x240 IPS, SPI, ILI9342C (ILI9342E from 2026-08-07) | Cap, FT6336U | AW88298 I2S amp, ES7210 mic ADC, 1W speaker; no codec, no jack | yes (SPI) | PORT.A/B/C, M5-Bus | 60 | AW88298 (I2C-configured amp) |
| M5Stack CoreS3 SE | ESP32-S3, 8MB, 16MB | 2.0in 320x240 IPS, SPI, ILI9342C | Cap, FT6336U | AW88298, ES7210, 1W speaker | yes | PORT.A/B/C, M5-Bus | 39 | Cheaper CoreS3 |
| M5Stack Stopwatch | ESP32-S3R8, 8MB, 16MB | 1.75in 466x466 round AMOLED, QSPI, CO5300 | Cap, CST820B | ES8311, AW8737A amp, mic, 1W speaker | ? | PORT.A, 14-pin EXT | 45 | AMOLED with codec |
| M5Stack Tough | ESP32-D0WDQ6-V3, 8MB, 16MB | 2.0in 320x240, ?, ILI9342C | Cap, CHSC6540 | NS4168, mic, 1W speaker | yes | PORT.A/B/C, RS485, M5-Bus | 50 | CHSC6540 touch, rugged |
| Espressif ESP32-S3-Korvo-2 V3.1 + LCD | ESP32-S3 (WROOM-1), ?, ? | 2.4in 320x240, SPI, ILI9341 | Cap, GT911/TT21100 (BSP) | ES8311, NS4150, ES7210 + 2 mics, speaker port | yes | test pads only | 55+ | Espressif audio reference board (ESP-ADF). Maker status: ? |
| Espressif ESP32-P4X-Function-EV-Board | ESP32-P4 rev >= v3.1 + ESP32-C6-MINI-1, 32MB, 16MB | 7in 1024x600 (LCD optional), MIPI-DSI, EK79007 | Cap, GT911 (BSP) | ES8311, NS4150B, 1 mic, speaker port | yes (4-bit) | J1 header | 60+ (LCD extra) | Espressif P4X reference; replaces the EOL P4 v1.x board |
| Espressif ESP-VoCat v1.2 | ESP32-S3 (WROOM-1-N16R16VA), 16MB, 16MB | 1.85in 360x360 round, QSPI, ST77916 | Cap, CST816S (BSP) | ES8311, NS4150B, ES7210 + 2 mics, 3W speaker | yes (1-bit) | UART/5V magnetic, I2C | 70 | esp-bsp round QSPI |
| LilyGO T-Display-P4 | ESP32-P4 + ESP32-C6 (SDIO), 32MB, 16MB | 4.05in 540x1168 TFT or 4.1in AMOLED, MIPI-DSI; HI8561 (TFT) / RM69A10 (AMOLED) | Cap; HI8561 / GT9895 | ES8311, NS4150B, mic, speaker | yes (SDMMC 4-bit) | 2x8P, 2x 1x4P; I2S not on a header | 97-120 | Third P4 vendor; expensive. Maker status: new |
| LilyGO T-Deck Plus | ESP32-S3FN16R8, 8MB, 16MB | 2.8in 320x240 IPS, SPI, ST7789 | Cap, GT911 | MAX98357A, ES7210 + mics, speaker | yes | none (GPS on Grove) | 71 | T-Deck with GPS and battery |
| LilyGO T-Display-S3-Pro (+MVSR) | ESP32-S3R8, 8MB, 16MB | 2.33in 222x480 IPS, SPI, ST7796U | Cap, CST226SE | with MVSR back-plate: MAX98357A, PDM mic, speaker (uses camera pins) | yes | 2x Qwiic | 38-42 | CST226SE touch |
| Elecrow CrowPanel Advanced 7in ESP32-P4 (DHE04107D) | ESP32-P4NRW32 + ESP32-C6-MINI-1, 32MB, 16MB | 7in 1024x600 IPS, MIPI-DSI, ? | Cap 5-pt, GT911 | NS4168 I2S amp (no codec), PDM mic, speaker | yes (1-bit) | 11-pin GPIO + Crowtail I2C/UART | 49 | P4 at 7in, cheap |
| Elecrow CrowPanel Advanced 5in ESP32-P4 (DHE04005D) | ESP32-P4NRW32 + ESP32-C6-MINI-1, 32MB, 16MB | 5in 800x480 IPS, RGB 16-bit, ? | Cap 5-pt, GT911 | NS4168, PDM mic, speaker | yes (1-bit) | 7-pin GPIO + Crowtail | 43 | P4 driving an RGB panel |
| Elecrow CrowPanel 5.0in HMI basic (DIS07050H) | ESP32-S3-WROOM-1-N4R8, 8MB, 4MB | 5in 800x480 TN, RGB, ILI6122 + ILI5960 | Cap, GT911 | I2S amp ? (IO17/18/42), no mic | yes (SPI) | GPIO_D, I2C, UART | 27 | Cheap RGB 5in; 4MB flash is tight |
| Elecrow CrowPanel Advance 3.5in (DIS01835A) | ESP32-S3-WROOM-1-N16R8, 8MB, 16MB | 3.5in 480x320 IPS, ?, ILI9488 | Cap, GT911 | I2S amp ? (IO11/12/13, mute IO21), I2S mic, speaker | yes | HY2.0 UART/I2C, wireless socket | 25 | ILI9488 |
| Elecrow CrowPanel Advance 2.8in (DIS01728A) | ESP32-S3-WROOM-1-N16R8, 8MB, 16MB | 2.8in 320x240 IPS, ?, ST7789 | Cap, FT6336U | I2S amp ? (IO11/12/13), I2S mic, speaker | yes | HY2.0, wireless socket | 27 | Same size as the Waveshare 2.8, different vendor |
| Makerfabs MaTouch ESP32-P4 7in MIPI (E32P4MI71) | ESP32-P4NRW32 + ESP32-C6FH4, 32MB, 16MB | 7in 1024x600, MIPI-DSI, JD9165 | Cap 5-pt, GT911 | ES8311, amp ?, mic, 4 ohm 3W speaker | yes | 26-pin GPIO | 58 | P4 MIPI with codec |
| Makerfabs MaTouch ESP32-S3 Parallel TFT 7in (MTESPS37) | ESP32-S3-WROOM-1-N16R8, 8MB, 16MB | 7in 800x480 or 1024x600, RGB565, ? | Cap 5-pt, GT911 | MAX98357A/B, speaker | yes | Mabee I2C + GPIO | 39-42 | RGB 7in, MP3-from-SD demo |
| Makerfabs MaTouch ESP32-S3 Parallel TFT 4.0in (E32S3RGB40) | ESP32-S3-WROOM-1-N16R8, 8MB, 16MB | 4.0in 480x480 IPS, RGB565, ST7701S | Cap 5-pt, GT911 | MAX98357A, speaker shipped | yes | Mabee I2C + GPIO | 32 | RGB 4in with I2S amp |
| Makerfabs MaTouch AI ESP32S3 2.8in ST7789V (MAAI28ST) | ESP32-S3, 8MB, 16MB | 2.8in 320x240, SPI, ST7789V | Cap 5-pt, GT911 | MAX98357, 2x INMP441 mics | yes | 4 GPIO | 40 | GT911 on a 2.8in SPI panel |
| Guition JC4827W543C | ESP32-S3-WROOM-1 N4R8, 8MB, 4MB | 4.3in 480x272 IPS, QSPI, NV3041A (community) | Cap, GT911 | NS4168 I2S amp | yes | ~10 IO | 12 | NV3041A; 4MB flash leaves no OTA room |
| Guition JC4880P443C | ESP32-P4 + ESP32-C6 (JC-ESP32P4-M3-C6), 32MB, 16MB | 4.3in 480x800 IPS, MIPI-DSI, ST7701 | Cap, GT911 or gsl3680 (sources disagree) | ES8311, PA GPIO11, speaker + mic connectors | yes (SDMMC) | 26-pin header | 32 | Cheapest P4 with a codec |
| Guition JC1060P470C | ESP32-P4 + ESP32-C6-MINI-1U, 32MB, 16MB | 7in 1024x600 IPS, MIPI-DSI, JD9165 | Cap, GT911 | ES8311, PA GPIO20 (or 11), speaker | yes (SDMMC) | 2x 14-pin FPC | 37 | Cheap 7in P4 |
| Seeed SenseCAP Watcher W1-A | ESP32-S3 + Himax HX6538, 8MB, 32MB | 1.45in 412x412 round, QSPI, SPD2010 | Cap, SPD2010 | ES8311 + ES7243 ADC, 1W speaker, mic | yes (SPI) | 2x4 header, Grove I2C | ~70 | SPD2010 with codec |
| Seeed reTerminal D1001 | ESP32-P4NRW32 + ESP32-C6, 32MB, 32MB | 8in 800x1280, MIPI-DSI, 9365DA-H3 | Cap, GSL3670 | ES8311, ES7210, NS4150B, 2W speaker, 2 mics | yes | ? | 85 | Large P4 panel. Maker status: new |
| LCDWIKI ES3C28P | ESP32-S3 N16R8, 8MB, 16MB | 2.8in 240x320 IPS, SPI, ILI9341V | Cap, FT6336G | ES8311, FM8002E amp, MEMS mic, speaker | yes (SDMMC 4-bit) | IO2, IO3, IO14, IO21 | ? | 2.8in S3 with codec and 4-bit SDMMC |
| Wireless-Tag WT32-SC01 Plus | ESP32-S3 N16R2, 2MB, 16MB | 3.5in 320x480 IPS, i8080 8-bit, ST7796 | Cap, FT6336 | I2S speaker amp (part ?), BCLK36/WS35/DOUT37 | yes (SPI) | 6 GPIO on FPC, RS485 | 22-32 | i8080 with I2S amp; 2MB PSRAM |
| DFRobot DFR1221 Round Touch Display | ESP32-S3R8, 8MB, 16MB | 1.85in 360x360 round, ?, ST77916 | Cap, CST816 | I2S DAC (part ?) to 3.5mm jack, I2S mic | yes | ? | 33 | Another line-out-to-jack board; DAC part unconfirmed |
Audio modules for M5Stack cores; the core they stack on is in the tables above.
| Board | Chip, PSRAM, flash | Display | Touch | Audio | microSD | Headers | Price USD | Note |
|---|---|---|---|---|---|---|---|---|
| M5Stack Module RCA 13.2 (add-on) | PCM5102APWR | ? | - | PCM5102A line DAC, RCA L/R + 3.5mm jack; bus BCK pin 22, DIN 23, LRCK 24 | - | M5-Bus | 12 | Line DAC for an M5 core; core pin mapping not on page: verify |
| M5Stack Module Audio (add-on) | ES8388 + STM32G030 | ? | - | ES8388, 3.5mm TRRS headphone + mic | - | M5-Bus I2S + I2C 0x10 | 8 | Headphone codec for an M5 core |
No I2S audio path. The Volumio companion fits; the player does not.
| Board | Chip, PSRAM, flash | Display | Touch | Audio | microSD | Headers | Price USD | Note |
|---|---|---|---|---|---|---|---|---|
| Waveshare ESP32-S3-Touch-LCD-2.8C | ESP32-S3R8, 8MB, 16MB | 2.8in 480x480 round IPS, RGB, ST7701 | Cap, GT911 | none | yes | SH1.0 12-pin | 33-40 | No audio |
| M5Stack ToughC5 | ESP32-C5HR8, 8MB, 16MB | 2.0in 320x240, SPI, ILI9342C | Cap, CHSC6540 | buzzer only | yes | PORT.A/B/C, RS485 | 50 | C5 from a second vendor; no audio |
| M5Stack Dial v1.1 | ESP32-S3FN8 (StampS3A), none listed, 8MB | 1.28in 240x240 round, SPI, GC9A01 | Cap, FT3267 | buzzer only | ? | PORT.A, PORT.B | 35 | No PSRAM, no audio |
| LilyGO T4-S3 | ESP32-S3R8, 8MB, 16MB | 2.41in 450x600 AMOLED, QSPI, RM690B0 | Cap, CST226SE | none | yes | pin header | 57-60 | No audio |
| LilyGO T-RGB | ESP32-S3R8, 8MB, 16MB | 2.1in or 2.8in 480x480 round, RGB, ST7701S | Cap; FT3267 / CST820 / GT911 by variant | none | yes | Grove (I2C shared) | 30-39 | No audio |
| LilyGO T-Panel S3 | ESP32-S3 + ESP32-H2, 8MB, 16MB | 3.95in 480x480 IPS, RGB, ST7701S | Cap, CST3240 | none | yes | 2x Qwiic, RS485/CAN | 36-59 | No audio |
| LilyGO T-HMI | ESP32-S3, ?, 16MB | ? 240x320, i8080 8-bit, ST7789 | Resistive, XPT2046 | none | yes | ? | 18 | No audio; i8080 and resistive |
| Elecrow CrowPanel 2.8in HMI basic (DIS04028H) | ESP32-WROOM-32-N4, none, 4MB | 2.8in 320x240 TN, SPI, ILI9341V | Resistive | single-pin amp on IO26 (not I2S) | yes | GPIO_D, I2C, UART1 | 14 | No PSRAM, no I2S |
| Makerfabs MaTouch ESP32-S3 Parallel TFT 3.5in ILI9488 (ESP32S335D) | ESP32-S3-WROOM-1-N16R8, 8MB, 16MB | 3.5in 480x320, i8080 16-bit, ILI9488 | Cap, FT6236 | none | yes | Mabee I2C + GPIO | 30 | No audio; i8080 |
| Guition ESP32-2432S028R (CYD) | ESP32-WROOM-32, none, 4MB | 2.8in 240x320 TFT, SPI, ILI9341 (v1/v2) or ST7789 (v3) | Resistive, XPT2046 | internal DAC GPIO26 to FM8002A amp; no I2S | yes | IO22, IO27, IO35 | 15 | Huge user base; no PSRAM |
| Guition JC2432W328C | ESP32, none, 4MB | 2.8in 240x320, SPI, ST7789 | Cap, CST820 (or CST816S) | amp on GPIO26, speaker | yes | IO21, IO22, IO35 | 5-9 | Capacitive CYD; no PSRAM |
Fails a requirement; the note says which.
| Board | Chip, PSRAM, flash | Display | Touch | Audio | microSD | Headers | Price USD | Note |
|---|---|---|---|---|---|---|---|---|
| Espressif ESP32-S3-LCD-EV-Board (SUB2/SUB3) | ESP32-S3 (WROOM-1-N16R16V), 16MB (older 8MB), 16MB | 3.95in 480x480 / 4.3in 800x480, RGB, GC9503CV / ST7262E43 | Cap, FT5x06 / GT1151 | ES8311, NS4150, ES7210 + 2 mics, speaker | no | TCA9554 P4-P7 only | 64-80 | No microSD |
| Espressif ESP-SensairShuttle v1.0 | ESP32-C5 (WROOM-1-N16R8), 8MB, 16MB | 1.83in 240x284, SPI, ST7789P3 | Cap, CST816T | PDM output to amp, speaker, analog mic; no codec | no | GPIO, I2C, Bosch Shuttle | 49 | No microSD, no codec |
| LilyGO T-Watch S3 | ESP32-S3, 8MB, 16MB | 1.54in 240x240 IPS, SPI, ST7789V3 | Cap, FT6336U | MAX98357A, PDM mic, speaker | no | ? | 43-44 | No microSD |
| LilyGO T-Circle-S3 | ESP32-S3R8, 8MB, 16MB | 0.75in 160x160 round, SPI, GC9D01N | Cap, CST816D | MAX98357A, PDM mic, speaker | no | 6 IO | 24 | No microSD, tiny panel |
| Elecrow CrowPanel Advance S3 4.3/5/7in | ESP32-S3, 8MB, 16MB | 4.3-7in, RGB | Cap | speaker I2S shares IO4/5/6 with microSD (switch selects one) | yes | ? | ? | microSD and speaker cannot be used together |
| Makerfabs MaTouch ESP32-C3 SPI TFT 3.5in | ESP32-C3-MINI-1-N4, none, 4MB | 3.5in 480x320, SPI, ILI9488 | Cap, FT6236 | none | yes | Mabee I2C | 36 | No PSRAM, no audio |
| Seeed SenseCAP Indicator D1Pro | ESP32-S3 + RP2040, ?, 8MB | 3.95in 480x480, RGB, ST7701S | Cap, FT5x06 family | buzzer on RP2040; no I2S | on RP2040 | Grove | 112 | No audio on the ESP32 side. Maker status: sold out (Pi Hut) |
| Adafruit Qualia ESP32-S3 RGB-666 | ESP32-S3, 8MB, 16MB | panel sold separately, RGB-666, init via PCA9554 | Cap, per panel | none | no | STEMMA QT, SPI, analog, UART TX | 20 | No audio, no microSD. Maker status: out of stock |
The board fits but something outside it does not yet: a toolchain, stock.
| Board | Chip, PSRAM, flash | Display | Touch | Audio | microSD | Headers | Price USD | Note |
|---|---|---|---|---|---|---|---|---|
| Espressif ESP32-S31-Korvo-1 V1.1 | ESP32-S31 (WROOM-3), 16MB, 16MB | 4.3in 800x480 (LCD separate), RGB, ST7262E43 | Cap, GT1151 | ES8389 stereo codec (MCLK unconnected per BSP), 2x NS4150B, 2 mics | yes (4-bit) | ? | 58+ | ESP32-S31 needs ESP-IDF master; Rust support unconfirmed |
| LilyGO T-Watch Ultra | ESP32-S3, 8MB QSPI, 16MB | 2.06in 410x502 AMOLED, QSPI, CO5300 | Cap, CST9217 | MAX98357A, PDM mic, speaker | yes | ? | 78 | Sold out. Maker status: sold out |
Each board links to the page it was read from: the maker's product page, documentation or wiki. Where the maker publishes nothing usable, a community page (atomic14's board notes for some Guition boards) or a news article (CNX Software) stands in and the link says so. Facts that a page did not state are marked with a question mark rather than taken from a forum.
evo-esp32 is designed, built and maintained by one developer in his own time. If it has earned a place on your bench:
Provided as-is under the Business Source License 1.1; sponsorship is a thank-you, not a purchase: it buys no priority, no features and no support agreement. evo™ and evoframework™ are trademarks of Just a Nerd.