🌈 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

We should be embracing ChatGPT and Friends

In this article, I explore the different reactions that folks are having towards this tidal wave of AI in our lives, ranging from 'meh' dismissals to outright existential anxiety. I argue that AI is here to augment our capabilities, not replace us. While we might find AI occasionally stumbling, let's not overlook the amazing gift of efficiency and productivity it brings. Sure, we might be worried about the implications it has on our jobs, but isn't it also thrilling to have an AI companion working along with us 'cause if a computer can do my job better, maybe I should...
01 January 2023

The Hacker News Effect

My recent post was featured on Hacker News and rose to the number 2 spot, attracting over 45,000 requests or 29,000 unique IPs in a single day, a phenomenon known as the 'Hacker News Effect'. Since my Jekyll-generated site largely comprises static HTML, CSS and images and is hosted inexpensively on Amazon AWS with CloudFront, it was quite capable of handling this traffic surge. Utilizing CloudFront's traffic logs, I've created several visual representations to track and understand the flow of traffic geographically.
15 December 2022

Using ChatGPT As a Co-Founder

In the quest to explore the capabilities of ChatGPT, I decided to utilized it as a startup brainstorming partner. From product description to building the product on AWS and GCP, crafting an elevator pitch, highlighting the ideal customer profile, sketching a business plan, and even generating a logo idea, ChatGPT has been surprisingly helpful and creative. We even explored potential team structures that can bring the business to life! Turns out, ChatGPT might just be the co-founder you never thought you needed.
05 December 2022

Axial Flux PCB Motors - Wedge or Spiral Coils - Which is best?

I've delved deep into the reason why people prefer to use wedge-shaped coils when building PCB motors. After a lot of Googling, a bit of Python scripting, and a ton of visuals, what emerged was a very compelling argument for the humble wedge coil. Turns out, radial lines are the heroes in the story – the more the merrier – because these are what generate the fields in the correct direction to crank up the torque. Don’t get too attached though; there may be alternative, more efficient coil designs yet to discover, but those are topics for another day!
20 November 2022

KiCad PCBNew Python Scripting Cheat Sheet

Recently, I've been dipping my toes into the world of KiCad action plugins, specifically one for generating coils. In this post, I've jotted down some key learnings that would serve as a guide for myself in the future and for anyone else interested in building KiCad action plugins. Here, you'll find insights on getting the current board, adding objects, specifying the start and end points for tracks, creating vias, adding silk screen text, flipping text to the other side, connecting things to your PCB, and more. You'll find code snippets for these and links to additional resources. As my understanding...
24 October 2022

Scripting KiCad to make coils

I've been diving deep into the world of PCB (Printed Circuit Board) coils, inspired by Carl Bugeja's incredible PCB motors! After deciding to set up an automated process for creating the coils rather than manually drawing them (can you imagine?), I found our main constraints became track width and spacing, and the number of layers we could use. During the process of creating spirals for our coils, I encountered some interesting problems - spirals are easy, but what about arbitrarily shaped coils? My attempts ultimately lead me to develop more efficient algorithms and KiCad plugins to generate these special coils....
23 October 2022

Forget SSH and vim, Use VSCode to Remote Develop on the Raspberry Pi

In this blog post, I share how you can avoid hassles of SSH and use VSCode for remotely developing on the Raspberry Pi. I walk through how to initially configure the Pi in a headless setup using the Pi imager app. Then, we install the 'Remote Development' extension in VSCode. I illustrate how easy it is to connect to the Pi using our SSH credentials, clone a GitHub project, and install python extensions. Finally, I explore how to run the code and debug it. However, note that the method doesn't support armv6, so you can't use it on Pi Zero....
24 September 2022

A Life in Tech - The Early Years

I was fortunate enough to enter the world in 1971 alongside Intel's 4004 microprocessor – a moment that ushered in the digital era as we know it. Although a bit of an educational renegade, my curiosity steered me down a path filled with ZX Spectrums, Christmas wish lists, dangerously strewn cables and a legion of half-disassembled childhood toys. In spite of the haphazard approach to my intellectual explorations, I eventually managed to grasp the fundamentals of assembly language and savoured the glory of publishing a small utility, all whilst navigating the complex prepubescent minefield of Dungeons & Dragons. Looking back,...
19 August 2022

Launching the MakerNews Email List

Battling YouTube's frustrating algorithms, I’ve decided to take matters in my own hands. Why rely on YouTube to reach my audience when I, along with a group of fellow Makers around the world, can start up a newsletter to directly connect with our fans? To spice things up, this won't be just about showcasing our work. We plan on sharing a curated list of interesting content, compelling long reads, plus some spotlight features on lesser-known Makers. Ready to shake things up a bit? Subscribe and share our newsletter with your friends! Your engagement is the best way to defy the...
06 August 2022

Flashing the TS80P with IronOS

In this blog post, I explore the TS80P soldering iron, a tool that has been generating buzz. One of the highlights is that its firmware can be flashed with an open source system called IronOS. Here, I share my process of flashing the TS80P with IronOS and testing it out on a Raspberry Pico W. Please note, a Quick Charge or Power Delivery supporting power supply is needed for this iron. While running some tests, I observed that using a fast charger can heat this iron up twice as fast as using an Apple charger. Also, flashing the firmware is...
04 August 2022

What does a successful YouTube video look like?

Wow, one of my videos hit 1.8 million views! Mind-blowing, right? But is it really a 'successful' YouTube video? To answer that, I compared my stats with mega channels like MrBeast and niche channels like GreatScott and The Guy with the Swiss Accent. Shockingly, in comparison to these giants, my 1.8 million views on a single video do seem quite a success, considering my average views often max out at 28K! The comments have been both hilarious and strange, and the video did lead to a substantial boost in my subscribers count. But did it pay off? Well, the video...
27 July 2022

Picking up Free Lithium Cells Off the Street and Making them Safe for Use

This blog post reveals how you can salvage lithium cells from the many discarded, disposable vape devices that get littered in our towns and cities. With a pair of pliers and some bravery, I managed to rescue some decent batteries, which still had a good amount of power in them. However, with no in-built protection in these cells, I also demonstrated the importance of adding a battery protection board to ensure they are safe for use in various projects. Conclusively, through rummaging in the trash, I not only acquired useful components for my projects but also took a step towards...
16 July 2022

The PCBs are in production - what have I messed up?

After some stress and trepidation, I finally took the plunge and sent my PCB design off for manufacturing. My design centers around building a large seven-segment clock with LED filaments. Jumping hurdles such as voltages, pin usage, and limiting the load on my power supply, I've settled on the ESP32 as the system's heart and come up with a final circuit design. While doing this, I've quickly realized I could improve my layout and fixed a small mistake. Also, I've prepared for either types of LED filaments - the high-voltage ones or the larger, 3v ones. However, I did bungle...
06 February 2022

ESP32 I2S DMA Settings - dma_buf_len and dma_buf_count Explained

In this blog post, we delve deep into the intriguing concepts of I2S audio and DMA, particularly focusing on parameters like dma_buf_count and dma_buf_len. We explore their roles, ideal values, and the impacts they have on aspects such as CPU load and latency. We also discuss the limitations that come hand in hand with these parameters. This post aims to provide you some insights on trading-off between latency, CPU load, memory usage and the overall buffer space allocation. However, the primary takeaway remains that the optimal configurations largely depend on individual context and application needs.
20 April 2021

Are you an effective team?

This blog outlines the absolute fundamental elements that any competent team needs to ensure smooth operations. It emphasizes the importance of continuous integration, continuous deployment, running effective unit tests, comprehensive code reviews, and the ability to run the system locally. The objective here is not to over-complicate procedures, but to streamline consistent quality through these five basic yet crucial practices which when implemented should mark an effective team.
26 November 2020

DIY Alexa With the ESP32 and Wit.ai

This post provides a comprehensive guide to building a do-it-yourself (DIY) Alexa using an ESP32 and Wit.ai. It illustrates how to create a wake word detection system, use Python for machine learning and employ TensorFlow for the 'wake' word identification. It also covers the usage of Wit.ai for intent recognition and managing commands. The post is fully backed with code snippets, examples and video tutorials to deliver an interactive learning experience to readers.
15 October 2020

ESP32 Audio Input - MAX4466, MAX9814, SPH0645LM4H, INMP441

In this blog post, I've delved deep into the world of audio input for ESP32, exploring all the different options for getting analogue audio data into the device. After discussing the use of the built-in Analogue to Digital Converts (ADCs), I2S to read ADCs with DMA, and using I2S to read directly from compatible peripherals, I go on to present hands-on experiments with four different microphones (MAX4466, MAX9814, SPH0645, INPM441). This comprehensive look at getting audio into the ESP32 should be a valuable resource for anyone hungry for a deep-dive into ESP32's audio capabilities, complete with YouTube videos for an...
12 September 2020

TensorFlow Categorical Classification

In this blog, I venture beyond binary classification and delve into categorical classification using TensorFlow. Specifically, I show how to generate and classify images into four categories: blank, square, circle, and triangle. Crucially, I highlight the use of one-hot encoding for labeling and the softmax activation function in our model. I provide examples of code, results of my model's predictions, and link to the full code in my GitHub repository. Feel free to try it out and explore this exciting domain of machine learning further.
06 September 2020
← Older posts Page 4 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.