Bread Head

A breadboard programming header for AVR microcontrollers

 

I’ve been working with AVRs quite a bit lately, and I wanted a quick way to program them on a breadboard. Something that would be durable, and easy to stick into an existing circuit for rapid iteration of code.

This is what I came up with. I call it the Bread Head.

This is designed for 8-pin AVR microcontrollers. Note that Pin 1 is marked, as is the "notch" on the standard 6-pin programming header. I'm a huge fan of the ATtiny13a, and I use a lot of them, so this was a logical form factor for me.

 

This little guy was easy to make, and has been a real time saver when iterating on a breadboard. The trick is upside-down protoboard, and longer-than-usual headers! Read on to see how it’s built.

The connector on top is just two rows of snappable header, three pins long. The trick is that they are soldered to the top side of an upside-down piece of protoboard. Soldering under the plastic bits without melting them was a bit tricky. It's important that the pins do not stick through the protoboard. They are flush with the non-copper surface.
The two rows of four pins on the bottom are also snappable headers. The trick with these is that they are longer than usual. These are 13mm long (shown here, next to standard 10.37mm headers). They must not be any shorter than 13mm. Longer is fine.
The four-pin underside connectors are simply solder to the copper pads on top of the protoboard (which is normally the underside!). Next, very carefully run jumpers from each pin on the topside header to the appropriate pins on the underside headers.
Here's another angle on this process. These connections are a bit tricky and space is tight, so take your time.
Here it is all assembled, and ready for testing!
The other side. Purple is the prettiest wire colour.
Now we're ready to test it. You can see how it fits over the microcontroller. All you have to do is leave an empty row of holes immediately surrounding the chip. Otherwise, you just prototype your circuit as you normally would.

 

Here it is fully inserted, with the programmer attached. Notice that I wasn't kidding about the 13mm headers or the flushness requirement of the topside pins. The non-copper side of the protoboard is tight against the top of the microcontroller.
Once I knew it worked, I slathered the whole thing in epoxy. It's going to get yanked in and out a lot, so it needs to be tough. I also marked pin 1 and where the notch would be if I wasn't too cheap to buy a 6-pin boxed header. Note how leaving an empty row of holes around the chip is all that is needed. Prototype away!
Here's the header doing its thing without complaint in the real world.

That’s the Bread Head. This has been such a success, that I think I will make other sizes for other common AVRs, such as the ATtiny2313.

 

26 thoughts on “Bread Head

    1. That’s a great idea! I like the use of a longer socket. I used that trick myself on the Dish-O-Tron (http://blondihacks.com/?p=92). If you look closely, the two 555s are actually in a single 18-pin socket. The extra row of pins between them is used as a socket for the tilt switch. Saved me a header, plus I have a big pile of 18-pin sockets I’m trying to get rid of. 🙂

    2. I like the idea of mounting smaller chips in multiples in a single holder!

      Here are some better pictures of the 8 pin version and the 28 pin version with the XTAL, ISP header, and an LED on pin 13. Like yours, this saves a lot of time when breadboarding. I had seen posts on minimalist Arduino and thought this would be a nice way to go. It has the same profile as the chip side to side, i.e. doesn’t use any more holes and I hang the header over the end of the BB so that doesn’t take up any space either.

      http://i1213.photobucket.com/albums/cc466/Neuport/top2.jpg
      http://i1213.photobucket.com/albums/cc466/Neuport/side2.jpg
      http://i1213.photobucket.com/albums/cc466/Neuport/bottom2.jpg



      1. Nice! That’s another great approach to this problem. I was also inspired by those minimalist arduinos, and frankly, I think this sort of thing is better. I don’t really want all the baggage that goes with an arduino. I just want the uC!

  1. Love this idea! I’ve been using Attiny13’s quite a bit lately as well, and have been thinking about setting up an easier way to connect them from breadboard to programmer rather than jumper wires. My solutions aren’t nearly as elegant as this, great job!

  2. I love the idea, and will adapt it a bit, as I found the square pins widen the breadboard quite a bit, I will try a cut-in-half IC socket with round pins as platform, they are not as wide. Experience might vary with breadboard manufacturers.

    1. Interesting- I have noticed that the square pins are more difficult to insert than round leads. Stands to reason that they would result in more stretching of the connections. Some lengths of snap able SIP socket could be of use here- nice single rows of .1″ spaced round pins.

  3. Just a thought, to make it even tighter and simpler, use an 8-pin socket to build on. The kind with strong but flat pins. Then you just slide it down over the top of the chip and voila. The pins will make contact with those of the chip directly rather than going into the next row of holes on the breadboard. This is handy if you want to reprogram a chip already soldered onto a board. I’ve used this method to make test connections on boards for many years.

    Enjoy,
    Ray Moore

    1. Good idea, Ray! I seen people do this with pogo pins as well. For me personally, I like something that I can leave connected and will stay solidly in place under its own power. This allows me to go back and forth from code to circuit very often.

  4. I really wish someone would make a proper PCB for this (and for other AVRs) so I could just order one and solder headers onto it. I’ve been wishing that for a while, maybe it’s time I was that someone. Unless you know of a PCB design out there for this already… ?

      1. Hah- I had no idea someone had done that. It’s not a new idea, I don’t think, but I assume that person borrowed it from me since they used the name.

        Anyways, honestly, it’s only about two minutes of running some jumpers on perfboard to get it going. An etched PCB seems like overkill to me. But hey, to each their own. 🙂

            1. Sorry, that was a quote from a previous comment. I’ve not made this. Just noticed that the link had been posted by Dustin Andrews, where he gave you credit in 2012.

  5. The perfboard solution definitely has the “making do with what’s at hand” awesomeness to it. 🙂
    At only $2.30 (free shipping) for 3 of them from oshpark.com though, it’s hard to go wrong.

    1. Holy cow, that’s cheap. I had no idea. Then yes, by all means, OSH away. 🙂

  6. What’s that circuit on the background of the last picture? Looks like a breadboard-compatible, dual-voltage power adapter.

  7. Just made the 10 pin version the AVR programmer uses. It was too simple not to have this accessory dealing with breadboard assemblies first!

Comments are closed.