Programming Cables for PICAXE(R) Chips
All PICAXE(R) microcontrollers are programmed using a simple serial interface to the host PC, which is presented in the following two diagrams. The circuit on the left is the "basic" circuit, and is all that is required to program a PICAXE chip; the circuit on the right is the "enhanced" version. The 180 ohm resistor in the enhanced circuit protects the PICAXE chip from possible short-circuit damage in the event that there is a mistake in the wiring of the "serout" line, and the diode improves the reliability of the "serin" connection. Both circuits work well, but it's a good idea to at least include the 180 ohm resistor in the serout line. [I have found that a 220 ohm resistor (which is much more common) works just as well as 180 ohms in the serout line, but Revolution Education only recommends 180 ohms.] The programming circuit is identical for all PICAXE chips, but the pin assignment of the serin and serout lines differ from chip to chip. Part I of the PICAXE manual (pp. 19-24) presents the required information for each PICAXE chip.
Basic PICAXE Programming Circuit Enhanced PICAXE Programming Circuit
DIY Serial Adapter
The simplest way to get started with PICAXE chips is to breadboard your circuits, and the easiest way to connect a breadboard circuit to your PC for programming is to use a female DB-9 connector wired as shown in the following photo, and attach it to a straight through serial cable connected to your PC's serial port. If you don't have serial ports on your PC, you can use a USB-to-serial adaptor to make the connection. As you can see in the photo, all you need to do is solder three short wires to the DB-9 connector, strip about 1/4 inch of the insulation from the other end of each wire, and plug the wires into the breadboard circuit.

Commercially Available Cables and Adapters
Revolution Education also markets ready-made PICAXE programming cables (both serial and USB), but they are not very "breadboard friendly" because they mate with a female stereo socket, which can be difficult to connect to a breadboard. To solve this problem, they also make a breadboard adapter (AXE029) for the cables, which is carried by Sparkfun Electronics in the US.
Another DIY Approach
I prefer to use flat ribbon cable and IDC connectors for all my PICAXE programming cables and adapters, for several reasons:
Ease of construction (No soldering is required): IDC stands for Insulation-displacement Connector, and both DB-9 connectors and 2x5 rectangular connectors are inexpensive and readily available.
Ease of Breadboard Connection: The three required connections (serin, serout and ground) are in the same row on the 2x5 rectangular connector, so it's a simple matter to insert a male pin-header into the breadboard, and simply plug the 2x5 IDC connector into it to make the required connections.
Flexible: Sometimes a 1-foot cable is all that is needed; at other times nothing less than a 6-foot cable will do the job at hand. With this approach, it's a simple matter to construct a cable for any situation.
Stripboard-Friendly: I enjoy making small stripboard adapters for PICAXE programming and a 5-pin male header is simple to solder to a stripboard. In addition, I frequently construct small PICAXE projects on stripboards, so I can easily re-program a project whenever I think of yet another great feature I would like to add!
If you are interested in using flat ribbon cable and IDC connectors for programming your own PICAXE chips and projects, the following instructions should help get you started. This approach can also be used to construct a variety of useful interface cables - for example, to connect an LCD module to a PICAXE project.
Constructing IDC Programming Cables for PICAXE Chips
(Click on any of the thumbnails below to see a larger photo)
To construct an IDC Programming Cable for PICAXE chips, you will need the following items, which are all available on this site (see the navigation links on the left side of the page).
Ribbon Cable: Either 9-wire or 10-wire flat ribbon cable (0.05 inches on center)
Female DB-9 IDC Connector
Rectangular (2x5) IDC Connector
You will also need a means of cutting the ribbon cable. A paper cutter assures that the cut is perfectly perpendicular to the cable, but a carefully drawn line and heavy-duty scissors or shears also work well. Finally, you also need a means of squeezing the IDC connector around the ribbon cable. You can buy a specialized tool for this purpose, but an inexpensive and readily available woodworker's Quick-Grip(r) clamp (or small shop vice) also works well.
If you use a magnifying glass to look at the front of a DB-9 IDC connector (or any DB-9 connector, for that matter), you will see that the pins are numbered from 1 to 9. On some connectors, only pins 1 and 6 are labeled; on others, all 9 pins are labeled. In either case, the row of 5 pins always contains pins 1 through 5, and the row of 4 pins always contains pins 6 through 9. For PICAXE programming cables, we are only interested in pin 2 (serout), pin 3 (serin) and pin 5 (ground), which are all contained in the 5-pin row.
If you look at the other end of a DB-9 IDC connector, you will see two staggered rows, one of 4 and the other of 5 metal "fingers" that resemble two-tined forks. When the ribbon cable is inserted into the IDC connector, and the connector is gradually squeezed together, these "forks" pierce the insulation and make contact with the wire inside.
You can use either a 9-wire or 10-wire ribbon cable to construct a PICAXE programming cable. The 9-wire cable is slightly more convenient, but 10-wire cables are more commonly available, and only require one extra step on each end of the cable. The following procedures use a 10-wire cable to illustrate the extra step.
1. Cut a piece of 10-wire ribbon cable to the desired length. Be sure that the cut on each end is square to the length of the cable. Measure the width of your DB-9 connector (usually about 1/2 inch) and use small diagonal wire-cutting pliers to snip off that length of wire #10 on one end of the cable. (The red line on the cable marks wire #1, so wire #10 is on the opposite side of the cable.) The reason for this is two-fold: all 10 wires will not fit into a DB-9 ICD connector, and we want wire #1 to connect with pin 1 on the DB-9 connector. (If you are using 9-wire ribbon cable, this step isn't necessary.)
2. Insert the ribbon cable into the DB-9 connector so that the red stripe lines up with pin 1 of the connector. Insert the cable far enough so that its end is just visible at the far edge of the connector. Maintain a little finger-pressure on the connector and cable so that the cable doesn't inadvertently move, and slide them into the jaws of the Quick-Clamp (or shop vice). Note: the photo shows the connector at the edge of the clamp jaws to make it more visible. You actually have to place the connector closer to the center of the clamp jaws so that pressure is exerted evenly on the connector.
3. Use your other hand to tighten the clamp (or vice) slightly so that you can remove your fingers from the connector without the wire slipping from its correct position. When you are sure the cable is lined-up properly, squeeze the clamp (or vice) until the connector snaps shut. Be careful not to over-do it. It's not difficult to accidentally destroy the connector by using too much pressure! Note: the photo shows the connector at the edge of the clamp jaws to make it more visible. You actually have to place the connector closer to the center of the clamp jaws so that pressure is exerted evenly on the connector.
Attaching the 2x5 rectangular IDC connector to the other end of the ribbon cable is a similar procedure:
1. Measure the width of the 2x5 connector (usually about 1/4 inch) and use small diagonal wire-cutting pliers to snip off that length of wire #10 on one end of the cable. You may wonder why this step is necessary, since the 10-wire ribbon cable will fit nicely into the 2x5 connector without removing wire #10. The reason is that we want wire #1 to line up with the first socket in the row of sockets closer to the end of the cable. If wire #10 is not snipped, wire #1 will line up with the first socket in the row of sockets further from the end of the cable. (If you are using 9-wire ribbon cable, it isn't necessary to snip a wire.) Of course, you could also use this second row of sockets to mate with the 5-pin male header on the breadboard, but following the above procedure results in a programming cable that also mates properly with the line of programming adapters [ref] and project boards [ref] for PICAXE microcontrollers available on this site.
2. Hold the 2x5 connector in one hand (with its sockets facing up) and insert the end of the ribbon cable into the side of the connector that has the polarizing slots and/or protrusion. Insert the cable far enough so that its end is just visible at the edge of the connector, and be sure to align the cable so that wire #1 lines up with the "fork" for the first socket in the row of sockets closer to the end of the cable. In other words, the "fork" for the first socket in the row of sockets further from the end of the cable will not make contact with any of the ribbon cable wires. (If you are using 9-wire ribbon cable, position wire #1 in exactly the same manner.) Note: the photo shows the connector at the edge of the clamp jaws to make it more visible. You actually have to place the connector closer to the center of the clamp jaws so that pressure is exerted evenly on the connector.
3. Repeat step 3 above to firmly attach the 2x5 connector to the ribbon cable.
Most IDC connectors are available with or without "strain relief" attachments, which provide additional strength to the connections and protect against accidentally damaging a connector by pulling too hard on the cable. You can certainly include a strain relief attachment on the DB-9 end of the programming cable if you want, but don't put one on the 2x5 connector end because it will preclude the possibility of plugging the cable into the bottom side of the line of programming adapters [ref] and project boards [ref] for PICAXE microcontrollers available on this site. You may also want to use a similar approach to construct your own stripboard adapters for PICAXE projects.
To use the programming cable with a breadboard circuit, insert a 5-pin male header into the breadboard, plug the row of sockets closer to the end of the cable into the 5 pins on the breadboard, and properly wire the PICAXE programming circuit to pins 2 (Serout), 3 (Serin) and 5 (Ground) as illustrated above.