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…
Category: Learn
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…
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,…
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…
Make your Code Safe and Readable with Flags
Flags play an important role in embedded software development. Microcontrollers and chips are using registers where single bits or combinations of bits play a big role in the configuration. All the bits and their role are described in the specification, but writing the bits directly in the code would be very confusing and hard to…
How to Design a Cheap Plant Watering Sensor (Part 5)
This is the fifth part of the meta-tutorial, where I talk about designing a cheap plant watering sensor. If you did not already read the first, second, third and fourth part, please do it now. These parts contain a lot information which lead to this point of the tutorial. The fourth part ended with step 20, where I did usability tests and stability…
How to Design a Cheap Plant Watering Sensor (Part 4)
This is the fourth part of the meta-tutorial, where I talk about designing a cheap plant watering sensor. If you did not already read the first, second and third part please do it now. These parts contain a lot information which lead to this point of the tutorial. The third part ended with step 18, planing the final firmware. There a decision…
How to Design a Cheap Plant Watering Sensor (Part 3)
This is the third part of the meta-tutorial, where I talk about designing a cheap plant watering sensor. If you did not already read the first and second part, please do it now. These parts contain a lot information which lead to this point of the tutorial. The second part ended with step 14, designing a first prototype PCB. So…
How to Design a Cheap Plant Watering Sensor (Part 2)
This is the second part of the meta-tutorial, where I talk about designing a cheap plant watering sensor. If you did not already read the first part, please do it now. It contains a lot information about constraints and decisions made which lead to this point. The first part ended with step 11, building a working prototype…
How to Design a Cheap Plant Watering Sensor (Part 1)
In this article I will talk about how I designed a cheap plant watering sensor. My goal is some kind of meta tutorial, where you can see the steps involved from the initial idea to the final sensor. If you ever planed to create a own device, I hope this article give you some inspiration…