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
OpenAI's new offerings are game-changers in the AI field, with personalized ChatGPT variants (GPTs), a developer-friendly Assistance API, GPT-4 Turbo with enhanced capabilities, and novel voice and vision modalities. These innovations, bolstered by a strategic partnership with Microsoft, pave the way towards sophisticated AI agents and a future brimming with untapped human potential.
07 November 2023
I've been accumulating more and more USB powered devices for my workbench lately, and my single 65W USB-C supply just isn't cutting it anymore. So, I've decided to source a new solution. After some digging, I stumbled upon a remarkable board on AliExpress with four USB standard sockets and four USB-C ports, which support just about every protocol there is! Oh, it easily delivers a solid 65 Watts. With this, I am finally able to fully power my gear. From mini hotplates to soldering irons, my workbench is more juiced up than ever!
04 November 2023
After lots of tinkering, I've managed to improve the speed of writing to the SD Card of my ESP32-TV considerably, but it's still not as fast as I'd like. The Arduino 'readRaw' and 'writeRaw' functions were the culprits, they can only write one sector at a time! After bypassing this and using IDF functions, writing speed improved by 70%. I also experimented with writing to the SD Card in the background, which ironically yielded even better results. However, it's still slower than I'd like, so I've got a crazy new plan: using a cheap IC (GL823) for SD card interfacing...
09 October 2023
An intriguing issue appeared in the esp32-tv project that deals with speeding up JPEG file decoding using SIMD (Single Instruction Multiple Data) instructions, showing immense performance boost. However, there were some notable differences in speed when it comes to drawing the images versus simply decoding them. The problem was found to be with the DMA drawing mechanism and the way the new fast library decodes the image all at once. But despite this hiccup, by overlapped decoding and displaying process, a high frame rate can still be achieved. Joined me in this dissecting process and my initial tests showing approximately...
30 September 2023
After some quality time with my ESP32 microcontroller, I've developed a version of the TinyTV and learned a lot about video and audio streaming along the way. Using Python and Wi-Fi technology, I was able to set up the streaming server with audio data, video frames, and metadata. I've can also explored the picture quality challenges of uncompressed image data and learned about MJPEG frames. Together with JPEGDEC for depth decoding, I've managed to effectively use ESP32's dual cores to achieve an inspiring 28 frames per second. Discussing audio sync, storage options and the intricacies of container file formats for...
26 September 2023