r/CheapYellowDisplay

▲ 181 r/CheapYellowDisplay+2 crossposts

Now with BLE-HID Gamepad Support — Play retro-go on NM-CYD-C5 with a Bluetooth Keyboard🎮

Hi r/esp32,

Following up on our retro-go port for the NM-CYD-C5 — we've now added BLE-HID gamepad support. That means you can pair a Bluetooth controller and play without touching the screen. No wires, no mods, just pair and play.

We tested with the Shan Wan Q36 — a compact Bluetooth gamepad that maps cleanly to retro-go's input system — but any BLE-HID keyboard/controller should work.

Quick recap for context:

the NM-CYD-C5 is an ESP32-C5 board with 8 MB PSRAM, 16 MB flash, and a 2.8" 240×320 ST7789 display. Our retro-go port runs on it out of the box — no PSRAM soldering needed. Now it talks Bluetooth too.

What's new in this release:

  • BLE-HID host mode: scanning for BLE HID keyboard devices at boot

  • Auto-pair: picks up the first advertising BLE-HID keyboard in range and

connects automatically — you can also manually pair via the launcher menu

  • Gamepad mapping: Shan Wan Q36 (D-pad + ABXY + shoulder buttons) mapped to

retro-go's standard input layout:

- D-pad → directional input

- A / B → retro-go A / B

- Start / Select → menu / select

A few technical notes:

  • ESP32-C5's BLE 5.0 stack is handled via NimBLE in ESP-IDF 5.5+; we use the

standard esp_hid component with a thin HID→retro-go input bridge

  • The Shan Wan Q36 advertises as a BLE-HID keyboard (mode: HID for Android), which is why the HID report parsing treats a subset of keycodes as gamepad buttons

  • Pairing is stateless per session — no bonding or persistent storage needed; just turn on the controller before booting the board

Getting started:

  1. Flash the latest retro-go .img to 0x0

  2. Power on your Shan Wan Q36 (or any BLE-HID keyboard) — put it in pairing mode

  3. Power on the NM-CYD-C5 — it auto-scans and connects

  4. Launch a ROM and play with the gamepad

Software tag: https://github.com/RockBase-iot/retro-go/releases/tag/Retro-Go_1.46_NM_CYD_C5

(Updated .img includes BLE-HID support)

Would love to hear what controllers you test with — drop a comment if you try

something other than the Q36.

Happy gaming 🕹️

u/NMTech-Official — 7 days ago
▲ 198 r/CheapYellowDisplay+2 crossposts

We port the nm-cyd-c5 to retro-go - support NES, Gameboy, Lynx, Game Gear, Master System

Hi r/esp32,

We added support for the NM-CYD-C5 board to retro-go (the ESP32 retro emulator launcher/frontend).

If you haven't seen it, this excellent Instructables guide shows how to turn an ESP32-CYD into a RetroGo handheld:
https://www.instructables.com/Retro-Handheld-Based-on-the-ESP32-CYD-and-RetroGo/

The main difference with the NM-CYD-C5 is that the board already ships with 8 MB PSRAM, plus an ESP32-C5 (RISC-V @ 240 MHz), 16 MB flash, and a 2.8" 240×320 ST7789 display. That let me skip the external PSRAM mod/wiring that the original CYD build requires — it mostly works out of the box once the SPI display, SD card, and touch pins are mapped.

A few technical notes:

  • New target: nm-cyd-c5
  • Requires ESP-IDF 5.5+ (needed for ESP32-C5 support)
  • The XPT2046 touch controller is mapped to a virtual gamepad for launcher nav and basic testing
  • Audio defaults to the dummy sink because the board docs don't list an onboard DAC or speaker
  • The CPU is single-core RISC-V, so it has less headroom than dual-core ESP32/S3 targets — start with launcher + retro-core before trying heavier emulators

If you want the full handheld build (case, physical buttons, controls), the Instructables guide linked above is still the best reference; this board just saves you the PSRAM soldering step.

Hardware ref: https://github.com/RockBase-iot/NM-CYD-C5 Software tag: https://github.com/RockBase-iot/retro-go/releases/tag/Retro-Go_1.46_NM_CYD_C5

you can just flash the .img file to 0x0 to run retro-go on your NM-CYD-C5.

u/NMTech-Official — 13 days ago

WLED wireless touch controller

I made an open source touchscreen remote for WLED based on capacitive CYD (cheap yellow displays).

- It works wirelessly over WLED’s default ESP-NOW (no router required)
- Flash straight from the browser

* Basic functions (supported by WLED’s basic remote protocol):
- Power on/off
- Control brightness
- Select presets 1-7 by default

* Extended mode opens up a lot of features by just uploading a simple remote.json file via wled.local/edit

Extended mode offers:
- Presets 1-20
- Basic solid colors
- Selecting 163 of the built-in WLED effects
- Modifying selected effect parameters
- Peek/preview of selected effect

3D printed case files included for both a wired and battery-powered (18650 cell) versions.

Please feel free to check it out. Hope it is useful to some of you!

Installer: https://figamore.github.io/wled-touch-remote

GitHub repo: https://github.com/figamore/wled-touch-remote

u/figamore — 13 days ago
▲ 13 r/CheapYellowDisplay+1 crossposts

.bin firmware launcher for CYD (CHEAP YELLOW DISPLAY) QuadEver Launcher

🚀 A premium OTA firmware launcher and application manager for ESP32 Cheap Yellow Display (CYD). Browse, download, rate, and boot apps over-the-air or via SD card!

QuadEver Launcher is a highly optimized, feature-rich resident firmware launcher and app manager designed for the Cheap Yellow Display (CYD) ESP32-2432S028R development board. It allows users to store, browse, flash, and boot multiple application binaries (.bin files) from an SD card or wirelessly via a Web User Interface, transforming your CYD display into a versatile multi-tool.

GitHub:- https://github.com/samiralam5755/QuadEver-Launcher

u/wingselectronics — 12 days ago

Basic CYD tips

Hi, I'm very new to Arduino programming, and wanted to get into it more now that my son is 13 years old. I bought a CYD, installed Arduino IDE on my Linux computer (Pop_os), but I can't seem to get it to recognize the CYD. Would anyone be willing to talk me through some troubleshooting? My son is excited about the possibilities of the CYD since it has a screen compared to just an Arduino Uno.

This is CYD that we purchased to start: from Amazon, listed as a ESP32-2432S028R

reddit.com
u/NeonShadowWorld — 13 days ago