ESC3B04.

The ESC3B04 and ESP32-C3 Super Mini

Intro A little while ago I got myself a DN24F08, an expansion board for the Arduino Nano Rev 3. I had a lot of fun working with it and ended up writing a library to control it which can be found here, or in the Arduino library repo, just search for DN24F08. This then is going to be in that same vein, I’ll do a review of it and write a library to control it, using the Arduino framework which you’ll find here. ...

February 7, 2026 · 1226 words · James Costello
Adventures in SRAM optimization.

Adventures in SRAM optimization

Intro While working on a project exploring running an RTOS on an Arduino Nano, the limitations imposed by the small amount of Static Random-Access Memory (SRAM) became painfully obvious. 2kB is not a lot of memory and so every byte must be cherished. In this article I’ll go over some of the methods I used to save SRAM in that project, which you can view here. Bitfields Bitfields are a feature in C and C++ that allow you to specify the number of bits a variable should occupy within a structure. Usually, data types have a fixed size. ...

January 21, 2026 · 999 words · James Costello
Arduino UNO with Zig logo.

Zig and the ATmega328p

Intro As with my previous post on TinyGo, this one is meant as further exploration of the capabilities of our old friend the ATmega328p only this time I’m programming it with Zig. The installation process here was a lot more painful than TinyGo, so hopefully it works for you as well. Quick Stat Guide Note: For the following instructions I’m assuming you’re using some kind of Arduino Nano/Uno. Note: These installation instructions are specific to Windows machines. ...

January 11, 2026 · 969 words · James Costello
Arduino UNO with TinyGo logo.

TinyGo and the ATmega328P

Intro At the moment I’m having a look at what I can run on 8-bit microcontrollers, in particular the Arduino Nano (ATmega328P). One of the things that came up during my research was TinyGo’s support for the ATmega328P and so this is going to be a quick guide on how to get TinyGo running on the Nano. About TinyGo Installation Note: For the following instructions I’m assuming you’re using some kind of Arduino Nano/Uno. ...

January 10, 2026 · 794 words · James Costello

Working with an AliExpress NRF52840 devkit

Intro As I was browsing on AliExpress, I kept coming across the NRF52840 and so I decided to get one and test it out. Typical AliExpress image of the NRF52840 board. This board configuration is known as nice!nano, ProMicro or SuperMini. I’ll be referring to it as SuperMini in this piece. The board seems to be popular in the keyboard-building community, something I know little about and have a similar amount of interest in. I got this board because it seemed to be feature rich at a very reasonable price, ~€2.50 at the time of purchasing. ...

November 15, 2025 · 206 words · James Costello