I’m a huge fan of the #RP2040 microcontroller. It is a powerhouse with a decent price tag and has excellent community support.

Yesterday, I tested a firmware prototype. Nothing serious, just switching a few outputs controlled by an interrupt. The idea seemed easy; I know that it is possible from the datasheet, and I got valuable help from Copilot. Of course, it took some extra time until everything was working as I intended because there are so many possibilities for mistakes, like forgetting to enable the correct output pins. 🤦‍♂️

It is great how easy it has become nowadays to program these modern microcontrollers, especially with their built-in USB connection.

I remember – I was still in school at that time – when I got interested in electronics and started to learn how to program microcontrollers. At that time, I found a book explaining how to program the ATMEL microcontroller family using assembly. Getting an AT90S2313 for a few euros was easy, but the official programmer was totally unaffordable. Luckily there was a schematic on how to build a programmer from a few logic ICs that used the old printer port. I retired this programmer when cheap USB programmers became available and computers with a parallel port became rare.

One great part about the development software was the integrated simulator. You could run the program virtually and observe (and manipulate) all registers of the hardware. This helped me a lot to understand how a microcontroller works and that the periphery is just a bunch of registers that need to be filled with appropriate data to function as intended.