🌈 ESP32-S3 Rainbow: ZX Spectrum Emulator Board! Get it on Crowd Supply →
Teaser Image
atomic14

CH32V003

Want to keep up to date with the latest posts and videos? Subscribe to the newsletter
  Â·     Â·     Â·     Â·     Â·   Posts  Â·   Videos  Â·   Tags  Â·   Tools  Â·   Support

That was 2025!

2025 was the year I actually shipped hardware: the ESP32 Rainbow—a modern, full-color riff on the Sinclair Spectrum—crowdfunded, certified, manufactured, and in customers' hands. The economics were brutal (COGS, tariffs, shipping, CE/UKCA), but the community made it worth it. I also went deep on high voltage, made a 10¢ MCU sing and talk, escaped printf hell with USB/JTAG, built a browser serial plotter, fixed broken gadgets, and even let AI pick parts. For 2026: more ESP32 mischief, more joyful builds, and probably more bodge wires than I'd like to admit.
31 December 2025

I made a 10 Cent MCU Talk

I taught a 10¢ CH32V003 RISC‑V MCU to talk. By bit-banging PWM as a DAC and using a tiny 2‑bit ADPCM decoder, I squeezed ~6–7 seconds of recognizable audio into 16 KB of flash. Then I went full retro with LPC speech synthesis (Think: Speak & Spell) using the Talkie library and a small web tool I built to generate LPC data—so this little 8‑pin chip can now play samples and ‘speak’ lots of words with only a few kilobytes.
29 October 2025

Brain Surgery

I cracked open a cheap Halloween toy, found the super-simple LED + LR41 setup with the arm-as-switch trick, and swapped the ‘empty head’ for my own CH32V003 + buzzer PCB. Now it screams as well as shines—powered by a small lithium cell for extra volume because if you’re going to be annoying, do it properly. New schematic, new brains, same spooky vibes.
24 October 2025

10 Cent Music Machine

I built a tiny coin‑cell music board around the $0.10 WCH CH32V003J4M6 (8‑pin, 48MHz RISC‑V, 16K flash/2K RAM). The PCB is just 16.3×11.7mm with a piezo buzzer and transistor, and in standby it sips 7–8µA. I did hit a snag: playback caused 130mA peaks that browned out a CR2032. A LiPo fixed it, but I really wanted coin‑cell, so I upped the buzzer’s base resistor to 10k, dropping peaks to 56mA and average to ~7mA—now it runs happily (and loudly) from a coin cell. Pro tip: if standby bricks programming, wlink can erase via power-off mode. I’m bit‑banging audio, published...
12 October 2025
Subscribe!
All content copyright Chris Greening © 2025 • All rights reserved.
Made with Jekyll

This website uses cookies to enhance your browsing experience and analyze site traffic.