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

atomic14

A collection of slightly mad projects, instructive/educational videos, and generally interesting stuff. Building projects around the Arduino and ESP32 platforms - we'll be exploring AI, Computer Vision, Audio, 3D Printing - it may get a bit eclectic...

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

E32-S3 no DAC - No Problem! We'll Use PDM

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

Interesting LED Curtain

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

ESP32-S3: Which Pins Should I Use?

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

A Potentially Explosive Error

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

Printing PCBs At Home!

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 Keynote - According to GPT4

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 Need More USB Power!

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

ESP32-S3 USBMSC - Can we make it faster?

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

A Faster ESP32 JPEG Decoder?

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

Decoding AVI Files for Fun and...

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

ESP32-S3 Hardware SPI on the Adafruit ST7789

I've had some commenters point out the issue with the slow display updates in my recent Arduino Nano ESP32 video. It turns out, the software SPI of the Adafruit_ST7789 library was the culprit. Lo and behold, the solution is simple - using the hardware SPI constructor of the library. Apparently, this isn't well documented, so I wrote some code to serve as reference for myself and others who might run into the same snags. Trust me, the difference in speed is absolutely bonkers. Check out the video to see the magic in action.
31 August 2023

Should I Start a YouTube Channel? (in 2023)

In this post, I strongly discourage anyone who's thinking of starting a YouTube channel due to the immense amount of commitment and work it requires, in return for almost nothing. Despite my own success as a YouTuber, I argue that it's not at all as fun and glamorous as it seems; with the harsh reality being hours spent on editing videos, trying to appeal to the YouTube algorithm, and the discouraging attention your videos receive. Yet I also share the little joys and proud moments I experience from my channel, and how it has helped me grow and connect with...
02 August 2023

Minimalist Microcontroller: Building a Bare-Bones Dev Board

In a thrilling DIY endeavour, I attempted to build the most minimalist ESP32 dev board possible. Diving deep into the schematic of the ESP32 S3 WROOM module, I chopped out the non-essentials and whittled our needs down to bare bones. The experiment saw me juggling USB data lines and voltage regulators, waving goodbye to an array of capacitors and connectors and boldly embracing the simplicity of direct connections. Despite a few hitches, the miniature Frankenboard came alive, proving that sometimes less is more...at least in the world of microcontrollers.
27 July 2023

No Power? No Problem! A Wireless Pi Doom Machine

In my latest wireless charging experiments, I got my hands on a set of wireless charging PCBs and dove into testing different voltage inputs and their efficiency levels. It was interesting to realise that the 5V input managed to provide a decent efficiency of 73%, while 12V input struggled and heated the receiver board excessively. With the perks and limits of this setup explored, I took a whirl at creating a wireless Pi Doom machine. It worked like a charm! However, I quickly noticed the need to split charging and boost board into two different modules - a project to...
12 July 2023

75% Less Power! - Saving the Planet With Motion Sensing and Image Processing

In this blog, I was dealing with a conundrum on how to reduce the power consumption of my cool magic mirror that was always on, always drawing power. I considered options such as a PIR (Passive Infra Red) sensor and a doppler radar microwave motion sensor. The latter worked brilliantly except for a few too many false positives. Things got technologically fancy when I introduced a camera for motion detection and face recognition, even recognizing who is in front of the mirror! However, while it was fascinating, it upped the power consumption which was against our original goal. After combining...
26 June 2023

Manufactured Outrage

Social media outrage is often fueled by out-of-context statements and its ripple effects can alter stock prices and reputations permanently. A recent example was a drop in Wickes' share price due to #boycotwickes trending on Twitter. Many times, outrage is based on misinterpreted quotes like the recent one from a Wickes' employee. Digging deeper, however, revealed a less sinister motive behind their opinion. Regrettably, folks are now making a living out of creating outrage on social media, and the amplification by influential personalities like Elon Musk doesn't help. In the end, nothing seems credible as it often aligns with existing...
16 June 2023

The Center of Computing History

Faced with free time in Cambridge, I decided to visit the Center of Computing History. It's a bit quirky and tucked away in an industrial park, but worth finding. Right in the entrance, you'll see the Megaprocessor, a 16-bit processor that's programmed to play Tetris. But the highlight for me was seeing the prototype ZX Spectrum, the computer that sparked my interest in tech. Though they didn't have a working Spectrum, I got a kick out of programming on a ZX81 and playing with a BBC Micro. They've even got a room full of consoles and the first ever Apple...
15 June 2023

ChatGPT Plugins - First Impressions and Stats

Now having been two weeks since the release of my Chess plugin on the ChatGPT plugin store, I've decided to share some preliminary stats & thoughts. Initially achieving a day high of 1,800 games, we unfortunately experienced a user drop-off while the plugin was temporarily unverified. The plugin's return saw fewer users, likely due to an influx of new plugins. Despite this, I'm enthusiastic to see an average of 10 moves per game, with many players managing to beat the AI. The operating costs are minimal, mostly carried by storing secrets on AWS Secrets Manager. There's room for improvement such...
29 May 2023
← Older posts Page 2 of 8 Newer posts →
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.