The greatest challenge that every embedded software developer faces is troubleshooting their embedded system. When I speak at conferences such as Embedded World, the Embedded Systems Conference, and Arm TechCon, or when I've polled registrants and attendees to my courses and newsletter (Embedded Bytes), on average, developers spend 40% of their time debugging their software. If the average project length is 12 months, that's as much as a year being spent on failure work!
The ability to debug and visualize what an embedded system is doing can help to decrease the amount of time we spend debugging by providing developers with critical system information and a way to easily see what the software is doing. In this chapter, we will build a tool in Python that allows us to visualize what our MicroPython-based embedded system...