GPIO test point

Today’s blog post discusses the use of a GPIO test point for debugging embedded systems. It explains the benefits of a dedicated GPIO test point, the selection criteria for the GPIO pin, and tips for placing and manipulating the test point. The post also emphasizes the importance of using a GPIO pin over a debugger and a terminal for system monitoring. … More GPIO test point

How’s my sabbatical treating me?

Ever since 2006, I have wanted to take a sabbatical. I wanted to take some time away from working on schedule-driven projects for my employer and do something for me instead. Why have I only wanted one since 2006? That’s a tale steeped in office politics and tech start-up financial drama. What I wanted to do during my sabbatical has varied, but it has always been more about writing (fact or fiction) or travelling than coding. The travel would have been a tour of India, to catch up with friends I met in Silicon Valley who have returned home. Fictional writing would have been purely for me, a complete shift away from work. Now I finally have the opportunity to take a sabbatical I have decided to try to write a book. … More How’s my sabbatical treating me?

Should I rush a post?

The blogger began posting years ago, finding a balance between work and writing. When a full-time job took over, blogging ceased. Resuming during a 3-month sabbatical, the blogger found pressure in meeting a weekly schedule and questioned whether quick posts on the writing process truly add value. Unexpected issues often hinder writing, but also provide future content. … More Should I rush a post?

I2C addressing is easy

An I2C target device has a 7-bit address. We can address a device for read or write transactions. What could be simpler? In my 30 years of experience, every year I have witnessed an occasion when someone got this wrong. With seasoned members of the team to hand it normally gets resolved quickly, but sometimes you find an engineer, who knows it is easy, and so has spent too long trying to fix it before admitting they are lost. … More I2C addressing is easy

An adventure in debugging an I2C bus hang

A few years ago, I encountered an issue in my project involving an I2C device that didn’t always work after a system reset.

In an ideal world, any reset should emulate a power-on reset, but we sometimes encounter warm start issues. The problem I was encountering certainly started feeling like a warm start problem, but I wasn’t sure what was going on. Are you sitting comfortably? Then I shall begin… … More An adventure in debugging an I2C bus hang

How I draw (simple) timing diagrams.

I don’t often need to draw timing diagrams, but occasionally I do. It’s not an everyday task. When talking about a bug, I find it is easiest to share a captured trace from the scope. When trying to describe what an expected signal should be, then I turn to the whiteboard or a piece of paper. There are however times in my life when I am trying to specify how a new hardware block should work; this requires a clean, easy to edit, diagram to share. I have found a few text to image tools that really help a lot. … More How I draw (simple) timing diagrams.