In the first part of this series, we explored the general concept of event-based firmware. To read that article, follow this link. The concepts we discussed were directly tailored to one specific firmware. Now, let’s develop those concepts further to build an event system that can be integrated into many different applications. First, we’ll look…
Author: Lucky Resistor
Event-based Firmware (Part 1/2)
You start with small, simple firmware. But with each added feature, the complexity grows and grows. Soon, you need a good design in order to maintain the firmware and ensure the code remains clean and readable. In this article, I explain the event-based approach for writing firmware. I use the term “event-based” because it is…
A New Modular CMake Based Toolchain for Feather M0 HAL
In the past months, I developed firmware for a few Adafruit Feather M0 based projects. The reason why I use the Adafruit Feather platform, instead of using an MCU directly, is for modularity. By using a board on sockets, it can be replaced at any later time with a more powerful one – or by…
My Personal Programming Language Recommendation Shift over Time
I am developing software for 20+ years now. In the early days, I developed software in Assembler, Basic, Fortran, Pascal and C. Meanwhile my focus gradually shifted over time. It is a very personal view, with my own language recommendations I gave over time. Languages I never recommend are missing in this article, even I…
Inline AES 256 / CBC Implementation
Today I like to share some encryption code, which can be used in various situations – and is also useful for embedded systems. It is a unique implementation of the AES 256 / CBC crypto algorithm. The goal of this implementation was neither speed nor size. It was written to inline it into existing code….
Tiny Particle Sensor Node with Decorative Case
This article is about a small sensor node with a decorative case. It is based on the Raspberry Pi Zero W board with a custom sensor shield. I publish all hardware files for a simple sensor version, so you should be able to build this kind of sensor node and use it to monitor anything…
How to Automate the Turn-On Time of a Deco Light
I own a decorative light for the winter which I controlled using a simple time switch in the past. The time of dusk is continually shifting, so I had to adjust the turn-on time multiple times each year. This year, I planned to automate the turn-on time. I tried to find a light controlled switch,…
Snowflake Project Documentation
I wrote a short page about the snowflake project from the end of 2017. On the page, you will find a summary of the project and the link to the repository with all the required files. Everything is open-source, including the design files for the hardware and a base version of the firmware for the…
Good Quality Boards from PCBWay
Recently I received boards for a sensor array from PCBWay. This boards were made in a very good quality considering the low price level. I really like the green solder mask they use, it creates a nice optical effect shifting the green colour towards yellow somehow. The solder mask produces a very nice contrast between…
How to Deal with Badly Written Code
Sadly there is a ton of badly written code out in the wild. Hardware related code, seem to suffer more in this regards. I imagine, many developer in this segment are unwillingly to invest time in quality or are just inexperienced. Even if you are dedicated in reliable and high quality code, you will probably…