Arduino

last modified: October 23, 2025

Candlelight Emulation – Complexity with Layering

Posted on 2023-02-01— Projects

I explain microcontroller firmware that emulates candlelight using layered, low-resource random waves and simple integer math. I cover color gradients, LED mapping (WS2812B), and flicker modulation so constrained boards can produce organic light. If this interests you, please read the full post for code and details.

Read this post

Event-Based Firmware Example

Posted on 2019-08-05— C++, Improve your Code, Learn

I provide a complete event-loop firmware example for SAM‑D boards (Arduino Zero, Feather M0). I explain module design—Buttons, Display, and a support library—initialisation and polling logic, and link the source and demo. If you're curious, read the full post for code and implementation notes.

Read this post

C++ Templates for Embedded Code

Posted on 2019-07-20— C++, Improve your Code, Learn

I walk through C++ templates for embedded projects, showing how function templates work, why they’re type-safe, and how they can keep firmware small and fast. Using Arduino examples like circularShift, reverseBits and a template-based Sender, I invite you to read the full post to learn practical tips and patterns.

Read this post

Guide to Modular Firmware

Posted on 2019-07-14— C++, Improve your Code, Learn

I wrote a concise guide for embedded developers to refactor Arduino/C++ firmware into clean, modular components. I walk you through creating Display, Buttons, and Animation modules, testing and committing small changes, and improving maintainability. If you'd like practical steps and examples, please read the full article.

Read this post

Class or Module for Singletons?

Posted on 2019-07-09— C++, Improve your Code, Learn

I compare implementing a singleton as a class or as a module/namespace for Arduino firmware using simple LED driver examples and compiler measurements. I cover size, initialization and runtime trade-offs and explain when each approach makes sense. Read the full post for code, disassembly and practical recommendations.

Read this post

Event-Based Firmware (Part 2/2)

Posted on 2019-07-08— C++, Improve your Code, Learn

I guide you through evolving a simple Arduino blink example into a reusable event system. In Part 2 I cover function-pointer events, an EventLoop module, and practical multi-event examples. If you want cleaner, non-blocking firmware structure, read the full post for code and explanations.

Read this post

Event-based Firmware (Part 1/2)

Posted on 2019-07-05— C++, Improve your Code, Learn

I walk through a practical, minimal event-based approach to firmware using Arduino examples. Step by step I refactor blink sketches into modular events, introduce a millisecond timer, prevent skipped events, and encapsulate logic into classes and modules. Read on to follow the examples and apply them to your projects.

Read this post

A New Modular CMake Based Toolchain for Feather M0 HAL

Posted on 2019-06-19— Projects

I built a simple, modular CMake-based toolchain for Adafruit Feather M0 boards that reuses Arduino tools while giving full build control. It’s aimed at prototype work and HAL development on macOS and Linux. If you’re curious, read the full post for setup steps and examples.

Read this post