If you're anything like me, the nostalgic screeches of ZX Spectrum games loading might bring a smile to your face. I've taken a trip down memory lane by working on my own tribute to this iconic machine—introducing the ESP32 Rainbow. It’s on Crowd Supply, where we're closing in on full funding! This blog post walks you through the journey of harnessing audial data to load games directly into my emulator—faster and more reliable than those temperamental cassette decks from our childhood.
24 November 2024
I'm gearing up for production with some updates to our prototype, including switching to a 4-layer board to improve EMI, and refining USB power filtering. Check out the video for a deep dive into our battery charger and an exciting expansion port for potential HDMI output. The main goal now is to get our boards ready for manufacturing and shipping through Crowd Supply!
19 August 2024
To make my ESP32 ZX Spectrum touch keyboard work even better, I needed to ensure every key was independent. The ESP32-S3 only has 14 touch pins, so I’ve been using a matrix approach. While this works well, it struggles with key combinations, critical for the ZX Spectrum. I explored touch detection and experimented with analog multiplexer ICs (4051 series) to expand the touch pins. Initial tests were promising. After prototyping with breadboard-friendly versions and ordering parts, the new keyboard was not only functional but exceeded my expectations. Scanning the keyboard now takes around 20ms, and the solution is ready for...
28 July 2024
Started off on a techie adventure with an RP2040 DVI board from Adafruit, aiming to get the pico-zxspectrum going. Things started acting haywire once the USB hub got involved, ending in a complete shutdown, intuitive diagnosis showed the power pin was a ghost town! After pin-pointing (and removing) the dead IC, I performed a delicate soldering operation to bless it with a new 3V3 regulator. Working the kinks out with the resolution led to a thrilling revival and, voila, we were back in business with DVI output and SD Card support!
01 July 2024
In a bid to quench my nostalgia and flex my ESP32 chops, I managed to get a ZX Spectrum emulator running on my ESP32-TV board! Then, spurred on by PCBWay's new full color silk screen service, I pursuit the audacious task of recreating the ZX Spectrum's iconic keyboard. It's been quite the joyride - wrangling touch pins, shrinking screens and creating a thing of beauty on PCB. It's not quite ready for the spotlight, but keep an eye on my newsletter for more eagerly-awaited updates. It's like the Spectrum is reborn!
14 June 2024
Hey folks, I revisited my flame lamp project from 2020 and gave it a serious upgrade - we're talking a leap from 300 to a whopping 1024 LEDs thanks to these nifty flexible WS2812 panels. I've kitted it out with a versatile PCB from my Crystal Balls project, tackled power injection challenges and kept things cool with a current-limiting power supply. I had to wrestle with 3D printing and getting the panels to behave inside the lamp's tube, but the end result? A mesmerizing blaze of colors with gorgeous fire effect, all orchestrated by the WLED software. It's like my...
12 May 2024
Just upgraded my basic AliExpress crystal balls with some tech wizardry - I've thrown in an ESP32-S3-MINI, a mic, and made them battery powered. Thanks to WLED software, they're now smart and responsive! Shared the KiCAD project for fellow tinkerers. Check out my video to see these balls in action!
20 April 2024
Discovered my Hue switch battery performance is correlated with room temperature after a nifty web scrape of Amazon's device usage history. While it's a given that batteries are temperature-sensitive, actual data from my own living room provided a neat confirmation, graphing a daily pattern. Wanted to go green with a rechargeable lithium coin cell, but the voltage risk to the ATmega256RFR2 on the PCB is a no-go. For now, it's back to the humdrum world of regular coin cells and unexciting battery charts. Dive into the video for a deeper geek-out on this!
29 March 2024
Building a USB cable tester turned out to be trickier than anticipated! My first attempt with fully shielded USB sockets was foiled by design flaws and hidden solder issues. The second iteration featured more accessible sockets, yet still posed challenges. The improvement allowed us to distinguish between high-speed cables and average ones. I'm now in the midst of creating Version 3, with all connections broken out for easy testing. Stay tuned for what's next in this unexpectedly complex journey!
18 March 2024
In my latest DIY adventure, I explored nickel plating to harden PCBs at home. I was inspired by a slick resistor box design I found through EEVBlog, which had an incredibly cool switching technique but left the PCBs vulnerable to wear from contact scraping. Despite some initial mix-ups and challenges—like dealing with steel instead of pure nickel, using the wrong voltage, and dealing with contamination—my experiments led to some promising results. I even compared the scratch resistance of plated vs. original PCBs in a very informal test. I wrapped up by sharing some handy links for anyone eager to dive...
16 February 2024
After many months of using EasyEDA for PCB design due to its tight integration with LCSC's parts catalog, I switched to KiCad for one critical feature: 3D model exports for designing enclosures. Despite KiCad's vast library, sourcing symbols, footprints, and 3D models for less common parts was no picnic. Luckily, the 'easyeda2kicad' Python package became a game-changer, converting EasyEDA models from LCSC into KiCad-compatible formats. It's a neat workaround, though one must stay vigilant to verify footprints against component datasheets to avoid manufacturing mishaps. Blend freeware magic with a dash of tinkering in CAD software, and voilà - your custom...
03 February 2024
Disassembling a 16-bit mini handheld video arcade revealed a fairly uncomplex interior with most of the functionality being handled by a blob chip on a single-sided PCB. Despite the simplicity, the impressive design manages to fit 156 games into flash storage on a multi-layered daughter board, which helps simplify the main board's design. While not as hackable as hoped, the teardown provided an interesting glimpse into the device's construction.
26 January 2024
In the latest board revision, I've successfully resolved some key issues, including a USB interface conflict between the USB2244 and the ESP32 and a risky battery charging mistake—no more direct USB 5V to the battery! Plus, I managed to wrap this up without any clumsy bodge wiring. I've even introduced a new feature: a microphone is now on board, setting the stage for some exciting future projects. Stay tuned for what's coming!
14 January 2024
In this post, I tackle the lack of a DAC on the ESP32-S3 by demonstrating how to use Pulse Density Modulated (PDM) audio with Sigma Delta Modulation to achieve analog audio output. I explore the simplicity of creating a PDM signal and its reconstruction into an audio signal using a low pass filter, even an RC filter, though a more sophisticated active filter is recommended. I guide through using both a timer and the I2S peripheral on the ESP32 for outputting PDM data, noting the quirks and solutions for each method. And I wrap up with how straight PDM signals...
05 January 2024
Dove into hacking an LED curtain and discovered that despite lacking visible daisy chaining, it's hackable! With LEDs pre-programmed for their position, it can receive collective data and recognize individual signals. Flashed WLED firmware onto an ESP32 and, voila, it lit up beautifully, even supporting 2D grid patterns for cool visuals. The key components: a BLE SoC, buffer IC for level shifting, and a curious way of LED data handling that's cleverly efficient.
12 December 2023
As an enthusiast of the ESP32-S3's versatility, I recognized the importance of understanding which pins are best to avoid. Inspired by the Random Nerds page for the classic ESP32, I've created a comprehensive pinout for the ESP32-S3 available on GitHub. The community's input is highly valued – suggestions and corrections are welcome to refine this resource into a dynamic guide for developers.
21 November 2023
Just received the new PCBs for the ESP32-TV project and they're looking sharp with only a tiny resistor tweak needed. But I discovered a sneaky, undocumented resistor causing a conflict between the ESP32 and USB2244 over the USB connection. Fixed that, but there's a bigger issue lurking in the design - check the schematic in the video and see if you can spot it before I reveal the explosive mistake!
20 November 2023
Got my hands on a Voltera machine for at-home PCB prototyping - it's a game-changer! Using conductive silver ink, it prints traces and pads, but it's quite finicky, much like 3D printing. It has limitations, such as trace widths, pin pitch for SMT components, and the high cost (over $5000). Plus, this tech requires a delicate touch due to the fragile ink bonding. Despite the machine's impressive capabilities, my partnership with PCBWay is still going strong, as this isn't a one-size-fits-all solution. Nonetheless, the ability to whip up a PCB in just a couple of hours is seriously impressive.
11 November 2023