The above xkcd comic, which is titled Debugger, alludes to the concern that when you try to apply a particular method to itself, you might not get what you asked for. Turing’s Halting problem is a very famous example of this, i.e., you cannot algorithmically decide whether an algorithm terminates on an input. So, does that issue apply to debuggers as well? In particular, I asked myself whether it makes sense to debug the hardware debugger I am developing with itself.
Continue readingCategory: Hardware Tools
Tools I use
Doing it the Logical Way
When things go wrong, although your program logic appears to be correct, it is time to look at the signals going into the MCU and coming out of the MCU. The best tool for that is a logic analyzer.
Continue reading
How Many Programmers Do You Need …?
… to screw in a lightbulb? The correct answer to this question is: “None, this is a hardware problem!” But then, this is not the right question! The right question is: “How many ISP programmers do you need to burn a program into flash memory?”
Continue reading
Burnt Fuses and Bricked MCUs
One of the most confusing things, in particular for newcomers, are the AVR fuses. Worse, by setting the wrong fuse bits, you can “brick” your MCU, i.e., a normal ISP-programmer cannot talk to the MCU anymore. In this blog post, we will present tools that help you to set the fuse bits right. And if push comes to shove, that is the wrong fuses have been burnt, I tell you how to recover …
Debugging(3): Debugging is Like Being the Detective in a Crime Movie Where You are Also the Murderer
One has to add to the title (quoted from a tweet by Filipe Fortes) that the detective suffers from memory loss. Otherwise, the case could be solved easily. Similarly, with debugging: If I only knew what nasty things I have hidden in the source code, I could just remove them – but I simply do not know. In this blog post, we will have a look at what kind of tools one could use to find the skeletons hidden in the closet.
Unfreeze Your Atmel-ICE

Avrdude is the workhorse for programming AVR chips from Atmel (now Microchip). It works flawlessly on all platforms with a huge number of different programmers. There are a few exceptions, though. The Atmel-ICE, a very decent programmer and debugger, could not be used under macOS (>10.13). But finally there seems to be light …