Skip to content

Where To Get It

JimGat edited this page Sep 15, 2026 · 6 revisions

Where to Get It

CYM Logo

Everything you need to build and flash a Cheap Yellow Monster.


Flash the Firmware (Easiest Start)

No toolchain needed. Plug in your board via USB-C (or USB, on Classic CYD) and flash directly from your browser. CYM now supports three boards — see Supported Hardware — the web flasher has a board selector at the top for all of them.

CYM Web Flasher

  • Works in Chrome and Edge (Web Serial API required)
  • Board selector: NM-CYD-C5, Classic CYD, or Waveshare WS-C5-28
  • Stable tab: latest released firmware from main
  • Dev tab: latest test build from Jimgat_Dev branch — new features first
  • No drivers needed on Linux or Mac; Windows may require the CP210x driver

Manual Flash (esptool)

All required binaries for every board are attached to every GitHub Release. Bootloader offset differs by chip — ESP32-C5 boards (NM-CYD-C5, WS-C5-28) use 0x2000; the Classic CYD (plain ESP32) uses 0x1000.

NM-CYD-C5 (--chip esp32c5):

esptool.py --chip esp32c5 --baud 460800 write_flash \
  0x2000  bootloader.bin \
  0x8000  partition-table.bin \
  0x10000 CYM-NM28C5.bin

Waveshare WS-C5-28 (--chip esp32c5):

esptool.py --chip esp32c5 --baud 460800 write_flash \
  0x2000  bootloader.bin \
  0x8000  partition-table.bin \
  0x10000 CYM-WS-C5-28.bin

Classic CYD / CYD-2432S028 (--chip esp32 — note the 0x1000 bootloader offset):

esptool.py --chip esp32 --baud 460800 write_flash \
  0x1000  bootloader.bin \
  0x8000  partition-table.bin \
  0x10000 CYM-CYD-2432S028.bin

Each board's bootloader.bin and partition-table.bin are board-specific — use the set from the same release/board, don't mix them. Alternatively, each release also has a merged *-full.bin per board (bootloader + partition table + firmware already combined) that flashes as a single file at 0x0000 with any flasher that accepts a full image.


Hardware

NM-CYD-C5 — Primary / Preferred Board

CYM Hardware

The heart of CYM, and the primary/preferred board — new features land here first, and it's the only board with the full NM-RF-HAT plug-and-play expansion. ESP32-C5, 2.8″ ST7789 touch display, MicroSD, WS2812 RGB LED, all in a compact CYD form factor.

Where Link
Official store (nmminer.com) nmminer.com/product/nm-cyd-c5
Board documentation & schematics github.com/RockBase-iot/NM-CYD-C5

Classic CYD (ESP32-2432S028R) — Also Supported

The original dual-USB "Cheap Yellow Display" board that started the CYD ecosystem. Widely available from many generic sellers — there's no single official store. See Classic CYD Support for what works and what's different from NM-CYD-C5.

Where Search term
AliExpress / Amazon / generic electronics sellers "ESP32-2432S028R" or "Cheap Yellow Display dual USB"

Waveshare ESP32-C5-Touch-LCD-2.8 (WS-C5-28) — Also Supported, New

Waveshare's own ESP32-C5 touch board — on par with NM-CYD-C5's core feature set, plus onboard IMU, temp/humidity, RTC, and audio codec. See Waveshare WS-C5-28 Support for hardware differences and RF-HAT wiring.

Where Link
Official store (Waveshare) waveshare.com — search "ESP32-C5-Touch-LCD-2.8"
Board documentation github.com/waveshareteam/ESP32-C5-Touch-LCD-2.8

NM-RF-HAT — RF Expansion Board

Adds CC1101 Sub-GHz, nRF24L01+ 2.4 GHz, PN532 NFC/RFID, IR TX/RX, and RF433 OOK. DIP switches select which module is active. All ICs are soldered on-board — no plug-in modules to lose.

Where Link
Official store (nmminer.com) nmminer.com — search "NM-RF-HAT"
Board documentation github.com/RockBase-iot/NM-CYD-C5

DIP switch quick reference: DIP 1 = CC1101 Sub-GHz · DIP 2 = nRF24L01+ · DIP 3 = PN532 NFC/RFID · DIP 4 = IR · DIP 5 = RF433


GPS Module (Optional — for Wardriving)

Any ATGM336H-based 3.3 V UART module works. The Teyleten Robot 2-pack is the confirmed tested option.

Where Search term
Amazon (ASIN B09LQDG1HY) Teyleten Robot ATGM336H
AliExpress "ATGM336H GPS BDS module UART"

Wiring (LP-UART header on NM-CYD-C5):

GPS pin NM-CYD-C5 pin Notes
TX GPIO 4 GPS output → ESP32 receive
RX GPIO 5 ESP32 transmit → GPS input
VCC 3.3 V or 5 V Most ATGM336H breakout boards have an onboard LDO; both voltages work
GND GND

Default baud: 9600 / 1 Hz. Opt-in 115200 / 5 Hz available in Options → GPS Baud (ATGM336H confirmed). CYM auto-detects baud on boot. See Getting Started → GPS Wiring for full troubleshooting guide.


Haptic Vibrator (Optional — for haptic alerts)

Any small 3 V ERM coin or cylinder vibrator motor. Requires a small diode circuit on the SPEAK_IN header — see Haptic Feedback for the full build guide and wiring photos.

What Where
ERM vibrator motor (3 V, 8–16 Ω) AliExpress — search "ERM vibrator motor 3V" or "coin vibration motor 10mm"
1N5819 Schottky diode Any electronics supplier
1N4148 signal diode Any electronics supplier

3D Printed Cases

Dexters Lab Splash

Three community-designed enclosures fit the full NM-CYD-C5 + NM-RF-HAT stack.

Case Link Notes
MakerWorld — GPS + 18650 battery makerworld.com/en/models/2670158 Full field kit with onboard battery; DIP switches internal
Printables — Magnetic lid printables.com/model/1638712 6×2 mm magnets; clean look; DIP switches internal
Thingiverse — Community favorite thingiverse.com/thing:7305463 DIP switches accessible from exterior — best for frequent module switching

Tip: If you switch RF modules often (DIP 1–5), the Thingiverse case is the only one with external DIP switch access. For the other two cases, consider soldering short extension wires to the switch pads and mounting a panel-mount DIP switch externally before printing.


Source Code & Releases

Resource Link
GitHub repository github.com/JimGat/CYM
Latest release + binaries github.com/JimGat/CYM/releases
Web flasher jimgat.github.io/CYM

DeeDee

Clone this wiki locally