Is it possible to build a hardware debugger for debugWIRE for less than €10? As it turns out, it is. You just have to make a few compromises and also do a bit of soldering and gluing.
Continue readingCategory: Tutorial
Posts that are aimed at explaining something
Real Programmers Write Assembly Code
Although the typical Arduino programmer is probably not interested in writing assembly code, in some situations assembly programming is essential. Let’s have a look at these situations and see what one can do.
Continue reading
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
Connecting the Dots
If you want to drive a 5×7 dot matrix display directly from your MCU, I have the right Arduino library for you. Flexible, easy to use, supporting low power operation, and a low memory footprint: DotMatrix5x7.
Continue reading
Running on Batteries
Running on batteries does not carry your Arduino project very far? Well, when you want to run an Arduino project on batteries, you have to spend some thought on minimizing power consumption. Here we will look at what you can do when you use an AVR MCU. Often you will be able to reduce the average current consumption to a few microamps!
Continue reading
Pimp Your Pro Mini
The Arduino Pro Mini is a very minimalistic Arduino board with a small footprint. For this reason, it is an ideal candidate for being used as the target board in a battery-operated system. In this blog post I’ll show you how to minimize power consumption and how to burn a new bootloader that saves flash memory, allows debugging, and fixes an annoying WDT bug.
Continue reading
Debugging(4): Stub it out!
How can you use a stub in order to squash your software bugs? This blog post shows how to arrive in 7 easy steps at a working debugging solution using a gdb-stub for some 8-bit AVR MCUs. The only additional hardware you need is an ISP programmer in order to burn a new bootloader (well, if you are satisfied with a very slow-running program, you do not even need this).
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.
Debugging(2): It’s the Hardware, Stupid!
When something goes south, it is not always the programmer who is to blame. It could also be the hardware (resp. the electrical engineer) that might be responsible. Note, however, when you are developing your system as a hobbyist, you are both: the electrical engineer and the programmer (so you always can blame yourself). In this blog post, we will take a look at some of the things that can go wrong on the hardware side.
Debugging(1): What Kind of Bug is This?
Be honest: When did you last time designed a system that worked right from the start and did not need any corrections? Right, that was probably a long time ago – or never. People usually spend a lot of time in identifying and correcting errors, colloquially called bugs. In this blog post, I will give you an overview of different forms of bugs and what you can do about them.