Latest articles about Microcontrollers
Aqara E1: Replacing the firmware in the Aqara E1 light switch

Aqara are one of the few manufacturers producing affordable, well built, Zigbee “compatible” light switches that are both available in my part of the world, and suitable for local electrical installations. Aqara are a brand of Xiaomi-backed Lumi United Tech.
Aqara E1 Switch Firmware
A simple error output method for embedded projects with (almost) no UI

Full SWD/JTAG debugging is great wherever possible, but sometimes it’s not available, or a device is being tested in a production environment, or is perhaps in production.
Generals
Using C++ with the NXP Zigbee SDK

The NXP Zigbee SDK is not well setup for use with C++. Although I prefer it over the Texas Instruments ZStack for various reasons, ease of C++ development is not one of them. I had no trouble converting ZStack sample programs to C++. I had all sorts of issues with the NXP SDK.
Generals
Getting started with the NXP Zigbee SDK

My attempt to develop custom firmware for the Aqara E1 Zigbee wall switch necessitated learning NXP’s Zigbee SDK for the JN5189.
Generals
Zigbee MCU and module cheat sheet

A comprehensive list of major Zigbee IC vendors and module makers, including a matrix of which module maker use which vendor's ICs.
Generals
How to sleep an ATMega328p on less than 1ยตA with timer wakeup

How to configure an ATMega328p to consume lest than 1uA, while still retaining the ability to wake the processor up periodically via timer (or external interrupt).
Generals
BT audio player: Conclusion, problems and screwups

Discussion of the design and implementations problems encountered during the design/construction of my in-wall Bluetooth audio player, with environmental sensors, proximity wake-up, metadata display, and cat animations.
Bluetooth Audio Player
BT audio player: Firmware

Firmware design for the Bluetooth audio player project. The basic architecture uses events to trigger external interrupts. Handlers post the event details into a queue and a simple control loop polls the queue and dispatches events to various handlers.
Bluetooth Audio Player
BT audio player: Circuit and PCB

Circuit and PCB design for the Bluetooth audio player project. The circuit design is not complicated. The main sections are MCU with 8MHz crystal and supporting caps, ...
Bluetooth Audio Player
BT audio player: System Design

My latest project is a cat-themed Bluetooth audio player to be permanently installed in my bathroom. The unit will be housed in a standard electrical junction box on the bathroom wall..
Bluetooth Audio Player
STM32 Microcontroller Cheat Sheet

STM32 microcontroller cheat sheet by product line, feature, model number. Includes product code descriptions and timer/peripheral information.
Generals
DIY toaster reflow oven - Part 4 (Controller software)

Continuing on from the prior posts on the controller hardware and manufacturing, the device needs software.
Toaster Reflow Oven
DIY toaster reflow oven - Part 3 (Manufacturing)

So far we’ve looked at the hardware design, but aside from modifying the oven in part 1, nothing has been built yet.
Toaster Reflow Oven
DIY toaster reflow oven - Part 2 (Controller hardware)

In part 1 we discussed the selection and modification of the oven itself. It’s now time to work on the external controller.
Toaster Reflow Oven
DIY toaster reflow oven - Part 1 (Oven hardware)

After reflowing for some time with hot air and saucepans, I’ve decided it’s time to build a dedicated reflow oven. There are tons of DIY reflow oven projects out there, but I decided to design and build my own (see NIH syndrome) for the fun of it.
Toaster Reflow Oven
Building an automated water level maintainer for my green wall to prevent another fish apocalypse

Building an automatic water manager for a vertical garden wall.
Water-level Maintainer