PyTestFlow logo

Automating a PSU Test Sequence with PyTestFlow

Intro Recently, I took a look at a project called PyTestFlow. It provides a structured way to turn Python-based hardware control code into a test sequence that an operator can run from a GUI. This kind of approach is particularly useful in manufacturing, validation, and end-of-line testing, where you want a predefined sequence of actions and checks that produces a clear PASS/FAIL result. In this example, I use PyTestFlow to control two devices: a benchtop PSU and an NI DAQ. The PSU is the device under test, and the DAQ is used to verify the PSU output voltage. ...

June 19, 2026 · 948 words · James Costello
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