It was soldering night at the lab tonight. I try to avoid having to do any soldering until the final stages of a project or until I really need something so when I do heat up the iron I tend to have a few jobs to do at once. Tonight it was breadboard modules - an LED breakout board and some flexible cables to connect to anything that has pin headers or a male IDC connector.
LED Breakout Board
This is something I've been meaning to do for a while but have been putting off due to the sheer annoyance factor - which is one of the main reasons for making it into a module in the first place.
Using LED's in your breadboard design is fairly straightforward - determine the appropriate current limiting resistor and connect that in series with the LED to your output pin. For one or two LED's that's fine - when you are using more than that it gets a little annoying and starts to take up valuable breadboard space, for each LED you need at least two hookup cables, at least two columns of your breadboard as well as the LED and the resistor (look at the breadboard layout for this module for an example of how much space this can consume).
What I wanted was a module with at least 8 LED's and a common ground pin so it would only use number of LED's + 1 columns on the breadboard. Ideally you should use a LED bar graph module, I had a Kingbright DD12HWB module with 12 LED's in it which I intended to use but the pin-outs for that module are slightly odd and difficult to use in generic situations. A better solution would be an 8 LED bar in a DIL package (such as this one) but I didn't have any available so I just used individual LED's - the circuit will work just as well with both.
The circuit is very simple (you can download the Fritzing project here - it provides the schematic and a breadboard layout), as provided it supports 8 LED's but it can be expanded to support as many (or as few) that you need. I've used 220 Ohm resistors for current limiting - these will drive standard LED's within (or close to) specifications with both 5V and 3.3V input signals and will draw less than 20mA current in both cases (at 3.3V the LED's will not be as bright obviously).
I was intending to wire this up on a veroboard but I had a small prototyping board with a slightly odd layout (it was similar to this one from Adafruit but had some seemingly arbitrary track cuts in it) that matched my requirements almost perfectly. In fact I could fit two of the circuits on the same board but keep them electronically isolated so I wound up making a single board with 8 red LED's and a common ground as well as 8 green LED's with a common ground. Using the technique I described in a previous post I added some ribbon cable with 9 pin headers to each side so I could easily plug it into my breadboard and use either (or both) sides very easily.
I soldered everything up, did some testing (my soldering skills are not the best so I always use a multimeter to double check I'm getting the right voltages at the right places) and printed up a version of my parametric PCB holder adjusted for the size of the PCB to hold it in. The end result can be seen in the image to the left.
If you want to make one of these yourself I recommend using a LED bar module in DIP format, this will make it a lot easier to layout on a standard veroboard.
Although this is a very simple module it will save you a lot of time during the prototyping stage - I can't count the number of hours I've wasted wiring groups of LED's into a circuit (and the huge amount I've time I've spent trying to lay it out on a breadboard and then double checking the connections to make sure I had it wired up correctly).
Generic Pin Header Cable
This is another simple breadboard helper - it allows you to bring the output from any device that has pin headers (or IDC male headers) into your breadboard. This was inspired by the clunkiness of my original Raspberry Pi breakout adaptor which brought all 26 pins from the Pi to the breadboard (with labeling for each pin). In reality you are not likely to use every pin, you only need a subset. This adaptor allows you to bring specific pins (and they don't need to be physically close to each other) out to a breadboard.
I bought a bunch of DuPont Cables (these are ribbon cables that have a single female socket at each end that will connect to a single pin header or single pin of an IDC male connector - see the image to the left), do a search on eBay in your area and you will find a range of them available. The name is a little misleading, I had no idea that that was what they were called until I came across them on eBay.
To create the pin header adaptor cable I peeled off 8 strands from the cable I had, cut it in half and then soldered each half to a thin piece of veroboard and attached a single line of pin headers to the veroboard to simplify usage with a breadboard (I describe this technique in more detail in my tips and tricks post.
The resulting cable is very useful when you want to bring out specific pins from an IDC header or any device that provides pin headers for IO. More specifically it is awesome for bringing out IO pins from the Raspberry Pi while conserving your breadboard space. The image to the right shows an example (the pins used are not relative to anything specific, I just connected random pins for illustration purposes).
Spending some time to make breakout modules and cable connectors will save you a lot of time during the prototyping phase and will let you fit a lot more circuitry in a small amount of breadboard space.
Generally this will involve soldering which is not the most pleasant activity at the best of times (at least for me). Here are a few tips that will make it a bit easier for you:
- Prepare all your components and cables before you turn the soldering iron on - make sure they are all at hand and easily distinguishable (separate resistors and capacitors by value for example).
- Make sure you strip all your cables beforehand. It is very easy to screw up the cable stripping process (especially for shorter cables) so having everything ready to go beforehand saves a lot of frustration later.
- When it comes to cable stripping always give yourself a little bit more stripped cable than you think you will need. It's much easier to cut the stripped portion a bit shorter afterwards than to find out you don't have enough to create a good solder joint.
- For braided cables (almost all ribbon cables) make sure you twist the braids together after stripping. You first job with the soldering iron should be to tin (apply a coat of solder to) these wires. I find that the tinning process leaves a slight blob of solder at the tips which I cut off with side-cutters (see tip 2 above) so the wire will fit into the PCB hole easily.
When you have cable outputs from your module try and put them at the very edge of the circuit board, this makes it easier to solder them on.
Following these tips should make your soldering experience a little easier.