Skip to main content

Next Console (v4)

Target requirements for the next console, beyond what the ESP32-S3 does today:

  • MAME, 16-bit and 32-bit systems
  • PlayStation and Nintendo 64
  • HDMI output in addition to the built-in screen: without a cable the picture stays on the screen as today; plugging the cable moves it to the TV, unplugging it brings it back
  • Wireless controllers over Wi-Fi / Bluetooth

PS1 and N64 decide the platform​

RequirementESP32-S3 (current)ESP32-S3 32 MB flash / 16 MB PSRAM (Plan D)ESP32-P4 + ESP32-C6Linux SoC (ARM + GPU)
Classic MAME (Z80 / 6502)🟢🟢🟢🟢
16-bit (SNES, MD, PCE, Neo Geo)🟡 SNES at the limit, Neo Geo at part speed (ROMs paged from the SD)🟡 same speed, Neo Geo / CPS1 with far less paging🟢 almost all (Neo Geo only up to 32 MB of ROM)🟢
32-bit (GBA, 32X, Sega CD, CPS2)🔴🟡 CPS2 memory fits, speed to measure; GBA / 32X / Sega CD 🔴🟡 Sega CD / CPS1 likely, GBA uncertain, 32X unlikely🟢
PlayStation🔴🔴🔴 no RISC-V dynarec🟢
Nintendo 64🔴🔴🔴🟢 with a real GPU
HDMI🔴 no peripheral, only marginal experiments🔴 same chip🟢 through the LT8912B DSI → HDMI bridge Espressif supports (720p)🟢 built in
Bluetooth controllers🟡 BLE only: recent Xbox pads work, DualShock / DualSense / Switch Pro do not🟡 BLE only (same chip)🟢 with an original ESP32 as radio chip (Classic + BLE); 🟡 with the C6 (BLE only)🟢 Bluetooth Classic + BLE: all of them
Wi-Fi🟢🟢🟢 through the C6🟢
  • No microcontroller reaches PS1 and N64. The emulators that run them on cheap hardware depend on a dynarec (MIPS code translated to ARM on the fly), and the N64 also needs a GPU (OpenGL ES) for its 3D graphics. That means an ARM application processor with a GPU, running Linux.
  • Bluetooth is a hidden trap. The ESP32-S3 and C6 support only BLE (the P4 has no radio at all), while most controllers (PlayStation, Switch Pro, many 8BitDo pads) use Bluetooth Classic. Only the original ESP32 among Espressif chips has Bluetooth Classic, which is why Plan A pairs the P4 with it.
  • It has been done. Commercial handhelds built on the Rockchip RK3566 (the Anbernic RG353 class) have HDMI out and Wi-Fi / Bluetooth, run the PS1 well and much of the N64 library, on Linux with EmulationStation / RetroArch (distributions such as ROCKNIX).

One step or several​

PathVerdict
A. In stages: S3 → P4 → LinuxNot recommended. The P4 step costs a new board but reaches neither PS1 nor N64 and does not solve Bluetooth Classic; the move to Linux still has to happen, so three boards get designed instead of two.
D. Module swap on the S3 (v3.2)Worth doing on its own, not instead of B. Same board and firmware with 32 MB flash and 16 MB PSRAM: more apps, Neo Geo / CPS1 with less paging, a chance at CPS2, in ~3–4 weeks for ~+$5 per console. It reaches none of PS1, N64, HDMI, Bluetooth Classic, so it does not count as a v4 step. See Plan D.
B. One jump to a Linux moduleRecommended. One step covers every new requirement. A compute module on a carrier board of our own design avoids routing DDR memory on our PCB.
ModuleCPU / GPUN64PS1HDMIWi-Fi / BTPower (indicative)
Raspberry Pi CM54 × A76 2.4 GHz / VideoCore VII🟢 very good🟢🟢🟢 on the modulehigh (3–7 W)
Raspberry Pi CM44 × A72 1.5 GHz / VideoCore VI🟡 much of the library🟢🟢🟢 on the modulemedium
RK3566 (e.g. Radxa CM3)4 × A55 1.8 GHz / Mali-G52🟡 much of the library🟢🟢🟢low (2–3 W)

These ratings are estimates from how the chips behave in existing handhelds; a development board measurement confirms them before any design work. Recommendation: RK3566 or CM4 for a handheld (lower power, a proven software base for this kind of device); CM5 for the best N64 at the cost of battery life and heat.

What changes against the current console​

  • Display: the ILI9488 on an 8080 parallel bus is not supported by these SoCs; the panel becomes MIPI-DSI or RGB, so the enclosure and the FPC change too.
  • Power: the IP5306 (2.1 A max) is not enough. A 3–5 A charger / PMIC is needed; with a 5000 mAh cell battery life drops to roughly 4–6 hours (about 2.5–3.5 hours with the 3000 mAh 103665 the v1 board uses since 2026-11-01). Heat needs a thermal path.
  • Software: retro-go is not ported; an existing Linux distribution is used, and the work becomes integration (device tree, display, buttons, audio) instead of writing emulators.
  • Boot: 10–20 s instead of instant-on.
  • Wi-Fi antenna (top priority, found 2026-09-29): on the current board the module antenna sits over full GND/+3V3 planes, 15 mm inside the edge — RSSI about −90 dBm next to the router, so SD-over-Wi-Fi (OTA, ROMs, logs) is slower than USB. Any next board, whichever plan: antenna over the board edge with an all-layer copper keep-out, and a gate that checks it. Details: docs/known-issues.md, RESPIN section.

The four plans in detail​

Plan A: ESP32-P4 + C6Plan B: RK3566Plan C: CM4Plan D: S3 32 MB
Requirements met4 of 6 (32-bit partly)6 of 6 (N64 partly)6 of 6 (N64 partly)2 of 6 (MAME / 16-bit better, 32-bit only CPS2 maybe)
PS1 / N64🔴 / 🔴🟢 / 🟡🟢 / 🟡🔴 / 🔴
Keeps display, enclosure, retro-goyesnonoyes, and the PCB
Time (estimate)~4–5 months~6–8 months~5–7 months~3–4 weeks
BOM per console (estimate)~$52–58~$70–100~$80–110~$45 (today +$5)
Battery lifelike today~5–6 h~4–5 hlike today

Roadmap​

  1. v3 (ESP32-S3): the current console, as built today.
  2. v3.1 (ESP32-S3): v3 with the fixes from Remediation (audio, emulator bugs, hardware backlog); it stays the low-cost, instant-on 8/16-bit console.
  3. v3.2 (ESP32-S3, optional): the same board with the WROOM-2-N32R16V module (Plan D): more apps and more arcade, no new requirements.
  4. v4 study (a few weeks): buy an RK3566 development board and a CM4 / CM5, and measure N64 and PS1 frame rates, power draw and Bluetooth controller compatibility on a set of reference games. Same method as with the S3: measure first, then design.
  5. v4 carrier board: the chosen module, DSI display, HDMI, PMIC, buttons and I2S audio; Wi-Fi and Bluetooth come with the module.

All the new requirements arrive together at step 5, with no intermediate boards.