I recently wasted far too much time debugging a project that should have been trivial. I mean: really trivial. A simple circuit I was driving from the user-port of a BBC micro wasn’t behaving.
So I went through the process of removing bits to better narrow-down where the fault would lie. And after I had no luck with that, I started splicing-in quick hacks of cable, so I could use my oscilloscope to monitor what was going on. When that failed, I started doubting the laws of physics, and my own sanity.
When you make test cables or circuits in a hurry, you start to worry that you’re chasing bugs which don’t exist at all – you don’t trust your test rig. The solution is to put your current project on hold, and build some half-decent breakout boards so that you can get a proper grasp of what’s going on. Stop thinking of it as a waste of time, and think of it as building-up your arsenal of tools.
So … I threw away my crappy bit of ribbon cable with solid-core wires jammed into the holes, and made myself a proper user-port breakout board instead.
I present this here not because it is particularly clever (it really isn’t) but because it is a simple, straightforward project which has made my life a tiny bit easier. I hope it proves useful to someone.
I’ve built mine with a homemade PCB, but you could do it with stripboard if that’s all you have. But as I have the facilities, I wanted the board to look as simple and neat as possible. Stripboard projects that I make tend to look ugly and fragile.
The screw terminals, IDC connector and solid-core wire were all bits I found in my parts collection.
I laid out the board simply – with an IDC connector at the top (so the ribbon cable would be heading away from me) and the screw terminals at the bottom of the board, towards me. I also added some pads to each track so that I could solder-in some solid-core wire, thereby exposing each track on the board.
Here’s a screenshot of my design. As with all my designs, it’s done from the component side (so: looking down on the board from above).
It doesn’t seem worth talking about putting it together, because there’s really not much to say. Board cut on the CNC, then drilled, soldered … done. The solid-core wires were installed to deliberately arch away from the board, so that it would be easy to get a crocodile clip or oscilloscope probe on, for debugging.
Here is the final board:
I said this wasn’t a complicated project … and I mean it. But it’s been a very useful one. Having connections easily accessible (and more importantly: in a state that I can trust) has taken much of the head-scratching out of debugging.
For example: that project that I just couldn’t get to work, that started this? Well, now I can confirm that it had nothing to do with wiring, or dodgy IDC connections, or me being thick. It turns out that the 30-year-old BBC motherboard was suffering from track-lift around the user-port connector, and needed some resoldering.
The lesson we can take from this is that just “hacking” bits of cable together to try and debug your immediate problem isn’t the best strategy. Building up a decent collection of break-out boards and tools in advance … that’s a worthwhile exercise.