The Digg Button from adafruit industries www.adafruit.com is a very simple DIY electronics kit suitable for beginners. It consists of a microprocessor, a 3-digit display, a button and some available i/o pins.

As it comes from adafruit, it's a counter that displays the number of times it's button has been pressed. The open i/o lines can be connected with jumpers (small pieces of wire) to produce a couple of different behaviors.

But, with a simple parallel interface connecting it to a computer, it can be a sturdy platform for experimenting with microprocessor programming.

The site, [www.ladyada.net], which has all the instructions and support forums for adafruit products, has instructions for some simple software hacks based on ponyprog 2000, a program for communicating with the microprocessor. The site also describes how to make a simple parallel port connector to connect the Digg Button to your computer. The description is very straight forward, but it requires soldering the connector to the Digg Button. This is not conducive to hacking your button then displaying your warez.

SO, since I like showing off what I do, I designed a simple clip-on connector that allows me to easily connect and disconnect my Digg Button for hacking. I also created a modded version of the Button firmware, which I'm calling diggX, that can be uploaded using this cable and can itself be hacked using ponyprog 2000.

Here's a video demo that shows the connector in use and describes the firmware hack:

Time Required:

Should be easy to finish this in an hour


  • (1) Right-angle break-away pin header strip with at least 6 pins spaced at .1" (Jameco #686111 -- this is a 6-position header, you might order several, or get a longer one in case you mess one up)
  • (1) Several feet of #24 stranded hook-up wire (Jameco #734405. Yellow. This is for a 100' roll which is a little overkill. RadioShack has #22 hook-up wire which would technically work, but will be a little bulkier.)
  • (6) Connector socket pins (optional. Jameco #496421, these are the cheap ones. You can get pricier versions with different metal, but these seem to work OK)
  • (1) 8" or so of 1/16" heat shrink tubing (only 3" needed if not using the socket pins. Jameco #419127, black)
  • (1) D-Sub Connector with solder terminals (male or female, see text. Jameco #223010 for male, #223079 for female.)
  • (3) ~1k ohm resistors (Jameco #690865, this is for quantity 100. You can get in sets of 5 from RadioShack)
  • (1) Fast setting epoxy (5-minute, or so, available everywhere). Epoxy putty also works fine.
  • (1) Short piece of "hobby stick", a couple of inches long
  • (2) Small binder clips (from any office supply, the 3/4" ones are a good size)

The connector socket pins are used at one end of the cable wires so the cable can be easily hooked up to a parallel port or other interface if needed--and, removed later. If you want, you can solder the wires directly--in this case to the D-Sub connector--obviating the need for these. One advantage of using the socket pins is that if you later want to connect the cable to a serial programmer (works with my AVRDragon just fine), you can just move the wires to the serial connector without resoldering. But, it's up to you.

If you are going to connect the cable directly to your computer port, you'll probably need a male connector. On the other hand, that isn't very convenient. You're always having to look around behind your computer to see what's going on with the Button. For a few dollars, you can buy a "straight-through" parallel cable that plugs into your computer port on one side and the interface cable you're building on the other. That's what I use. It has male connectors on both ends. In that case, you should get a "female" D-Sub connector so it'll plug into the cable.

Make sure to use stranded wire, solid wire would be too stiff and difficult to handle (though it *would* technically work)

Tools (some of which you'll probably have if you built the Digg Button to begin with):

  • Wire cutters
  • Small pliers (I actually use small jewelry pliers I got from a craft store)
  • Soldering Iron and Solder (standard 60/40 thin-ish electronics solder)
  • Hair dryer (hot) or heat gun for shrinking tubing

Optional, but infinitely worth their weight:

  • Wire strippers (I use the very simple type shown in the photos and they work fine)
  • Small project vise (e.g. PanaVise Jr.)

I'm assuming you know how to solder. If not, you can check out the NASA videos on their radiojove site, http://radiojove.gsfc.nasa.gov/telescope/soldering.htm, which is a very cool radio telescope project of its own.

Now, assuming you've gathered everything together, on to the building part.

Step 1: Prepare the 6-Pin Connector

If you look at the back of the Digg Button circuit board, you'll see six small connector pads at the top. This is where the connector attaches. It turns out that the pad centers are spaced .1" apart which is one of the standard board spacings. That's lucky for us, because the pin headers have pins also spaced at .1".

To make talking about the connector pads on the circuit board easier I'm going to assign the letters A-F to the pads. If the back of the board is towards you facing right, the pad on the top is "A", the next one is "B", etc. until the pad on the bottom, which would be "F". Note: I'm talking about the little pads which are actually connected to the circuit, not the big wide pads that go nowhere.

Anyway, you may have a right-angle pin header that has more than six pins. Technically, you only need five pins to connect to the D-Sub connector, but I think it's easier to avoid mistakes in clipping the header to your Digg Button to use all six pads. In this case, you need to break off (or, clip off) a six-pin section to use for your connector.

The header pins will be clipped to the board with the right-angle part touching the board and the other end of the pins facing back away from the board. Notice which is the "A" pin, "B" pin, etc.
advice for removable: use female headers on board
Good point. Thanks for bringing it up! I was trying to not mod the original board, but the connection would definitely be easier if there was a female header to receive the cable pins. Maybe a surface mount one so you wouldn't have to drill holes?
you could use straight female header and solder it flat with the board, or get a wire wrap female header and then cut the leads down to size.
yes smd will be a good idea here
just made mine, sadly yours looks a little better. but it seems to be working ok :P
Congratulations! Glad it's working ... and that's the really important part :-) BTW, I upgraded WinAVR recently and discovered that a couple of deprecated items in the code were no longer compiling correctly. And, in the process of debugging the problem, I found some dead code that I took out to leave a little more room for experimentation. SO, I updated the source and reposted as Firmware V1.1 which should work OK.
doing this asap!. will report back soon great instrutable btw. easy to follow
Excellent! I'll look forward to hearing what your experience is.
Thank you! No impact and reversible design are among my favorite themes :)
This is a very fine instructable. I don't have a digg counter, but I love the idea of the temporary connection to the board with your header. It keeps the counter looking neat!

About This Instructable




Bio: See. Think. Make.
More by RobertGallup:Build a Morse Code Wearable Minimalist Cork iPad Sleeve Panavise Mashup | Junior Head + Standard Base 
Add instructable to: