Home Products Prices Site Map Order Contact What's New Books Free Files Links FAQ
Dontronics Home Page Hardware Hints.
Dontronics Catalog View Shopping Cart Contents

The Table of Contents.

Eliminating Flexure Problems W/ 1-Side PCBs
PIC ISP Adapters: PIC Programmer adapters from 18 pin to 28 and 40 pin.
ZIFs to standard Sockets: How to adapt ZIF sockets to standard sockets and machine pin sockets. Covers Emulator pods and using sacrificial sockets, etc.
Interlink Cable: Connect two computers together via the Printer Ports for transfer of files.
High Voltage Drivers for Relays and LEDs.
Dummy Printer  Make up a DB-25Male plug that thinks it's a Printer.
More on ZIF's and those .025" Header Pins.
Computer I/O socket Mods and save your hair
PCB Tip for home brewers.

Eliminating Flexure Problems W/ 1-Side PCBs

Many of the PIC programmers sold by various dealers around the world work extremely well, especially the designs by David Tait. But there are potential problems associated with the single-sided construction of the programmers, and we have included some specific ways to eliminate these. This knowledge is taken from personal industrial experience from the days when single-sided PCBs were very prevalent (50's/60s). This solution was tested in a vibration chamber years ago, and it WORKS. (And yes, I AM an old guy).

Single-sided boards are quite acceptable when the circuit is never subjected to any force or vibration. The problem is that programming boards MUST be physically handled repeatedly over time. Single-sided boards have an inherent weakness when being handled in that the solder joints are weak compared to plated-through holes (which have great inherent strength), because only the foil of the solder joint keeps the part in place. When vibration and stress is applied to a component on a single-sided PCB, force is passed thru to the foil and it lifts off and breaks, usually without being noticed.

In those days a very simple, proven solution was discovered that totally eliminated the problem - the application of a clear plastic coating after all components were soldered. I add one more step: super glue. Here's how to protect your programmer from handling damage:

  1. Assemble the parts carefully, soldering all components carefully. Be SURE that the components are all the way down, to eliminate any extra "play" before soldering.
  2. Test the board briefly to make sure it works.
  3. Remove all cables, processors, anything else not a part of the actual board. Then CLEAN the board carefully; we use acetone (called fingernail polish remover in days past).
  4. Using a NEW tube of "super" glue, CAREFULLY lay a bead between the PCB surface and the plastic body of the connectors, i.e. 40pin, 18pin, DB25, DB9, power connector, etc. If you get any on the contacts, remove immediately with acetone, toluene, or xylene. This usually sets up in 10 minutes, but to be safe wait 30 minutes before proceeding.
  5. Using masking tape (such as 3M makes), carefully cover the portions that need to be protected from the plastic spray, i.e. the metal contacts of the power connector, parallel or serial connector, and programming connector(s). If there are LEDs, most people protect the TOP of them as well. The remaining components must be unprotected from the spray.
  6. Using a clear plastic spray (we use "Clear Acrylic Sealer, Gloss" from Plaid Enterprises PN CS200305, anything similar will work fine), coat the BOTTOM of the printed circuit board first, and let it dry for at least 30 minutes before doing the top. Then, coat the top of the board thoroughly, allowing the plastic to run down and inside the solder joints of all components. Let the board dry for at least 2 hours before using it. If you accidentally get any on the contacts, either scrape the plastic off or use a Q-tip soaked in acetone or toluene to remove it.
  7. The components are now prevented from moving, as they are "fixed" in place by the hardened plastic. If a component must be replaced, simply soaking the board in acetone will completely remove the coating. Then, when the repair has been done, replace the coating.
These simple steps will literally eliminate flexure damage from reducing the life of your single-sided product. If more info is needed, email me, Bob Axtell. Be sure to checkout our electronics development company, EDTec.
©1999 EDTec LLC
May Be Freely Reproduced

PIC ISP Adapters:

How do you use a PIC Programmer that only has an 18 pin socket or 'ISP' programming header to program the other 28 and 40 pin 'serial programmed' devices?

Simple. Make an adapter. I may eventually do a PCB for this but it's that easy to hook up that anyone can do a fine job with the correct components in a few minutes.

Parts List:

1 by 2"x 3" PCB .1" drilled matrix. Get the type that has donut pads on one side that don't connect to each other.

4 by .5" square Rubber feet.
1 by 18 pin machine pin socket.
1 by 40 pin machine pin socket.
1 by 40 pin Aries brand ZIF socket. Optional? (TEXTOOL if not available).
2 by 18 pin IDC crimp headers. (14 or 16 will do).
1 by 3 inches of 18 (14 or 16 will do) wire flat ribbon cable.

The idea is to have an 18 pin and a 40 pin socket hooked together with the correct connections. You use the 18 pin flat ribbon cable and crimp connectors to jumper from the PIC programmer 18 pin socket to the PCB with the 40 pin socket on board.

18 pin crimp connectors may be hard to find but they are produced. I have them installed on my unit. You can use either 14 or 16 pin headers so long as you correctly align both ends, and it doesn't matter if you bottom or top justify, as all five connections are central and aren't skipped either way.

This could also be done with a 10 pin header from my PIC84PGM board, or a 5 pin header from the PP1 (Australia) or ITU (US) Programmers.

The 40 pin end of things can be done in a number of ways.

1)  Solder in a TEXTOOL ZIF socket.
2)  Solder in an Aries ZIF socket.
3)  Solder in a 40 pin Machine pin socket socket, then:

a)  Use this socket to burn your small quantities of Micros with.
b)  Adapt a TEXTOOL ZIF socket into it. This subject is covered in more
    detail eleswhere in this group of files. This allows you to use this
    ZIF socket on many projects.
c)  Push an Aries ZIF socket into it.
Advantages/disadvantages of these two ZIF sockets.

TEXTOOL is expensive, nice action, easy lever action, pin hole size is large and will need adaption to a machine pin socket, accepts only .6" chips, and I love the 'Kermit Green'.

Aries is cheaper, requires lots of force to toggle lever, pushes straight into machine pin socket, accepts both .3" and .6" chips. Some MicroChip devices now have skinny DIP outlines available in 28 pin devices. Aries ZIFs are available only in 'black or black'.

To burn 28 pin 'serial programmed' devices, align pin 1 of the device into the pin 1 position of the 40 pin ZIF socket.


Standard 18 pin socket to 40 pin socket. (Includes Don's Programmer).
Connect pin 4  of the 18 pin socket to pin 1  of the 40 pin socket. (MCLR).
Connect pin 5  of the 18 pin socket to pin 31 of the 40 pin socket. (GND).
Connect pin 12 of the 18 pin socket to pin 39 of the 40 pin socket. (RB6).
Connect pin 13 of the 18 pin socket to pin 40 of the 40 pin socket. (RB7).
Connect pin 14 of the 18 pin socket to pin 32 of the 40 pin socket. (VDD).

Don's PIC84PGM J1 10 pin IDC header to 40 pin socket.
(This is the same pinout as Dr. Russ Reiss's PICSPA84 Programmer J3 Header)
Connect pin 3 of 10 pin header to pin 1  of the 40 pin socket. (MCLR).
Connect pin 9 of 10 pin header to pin 31 of the 40 pin socket. (GND).
Connect pin 7 of 10 pin header to pin 39 of the 40 pin socket. (RB6).
Connect pin 5 of 10 pin header to pin 40 of the 40 pin socket. (RB7).
Connect pin 1 of 10 pin header to pin 32 of the 40 pin socket. (VDD).

Jim Robertson's Newfound PP1 Production Programmer-
ISP Port J2 to 40 pin socket. (Not required on Warp-3).
Connect pin 3 of 5 pin header to pin 1  of the 40 pin socket. (MCLR).
Connect pin 2 of 5 pin header to pin 31 of the 40 pin socket. (GND).
Connect pin 5 of 5 pin header to pin 39 of the 40 pin socket. (RB6).
Connect pin 4 of 5 pin header to pin 40 of the 40 pin socket. (RB7).
Connect pin 1 of 5 pin header to pin 32 of the 40 pin socket. (VDD).

Chris Sakkas's ITU PIC Programmer Port to 40 pin socket.
Connect pin 4 of 5 pin header to pin 1  of the 40 pin socket. (MCLR).
Connect pin 5 of 5 pin header to pin 31 of the 40 pin socket. (GND).
Connect pin 2 of 5 pin header to pin 39 of the 40 pin socket. (RB6).
Connect pin 1 of 5 pin header to pin 40 of the 40 pin socket. (RB7).
Connect pin 3 of 5 pin header to pin 32 of the 40 pin socket. (VDD).
Get your PCB and position the 4 nice little rubber feet in each corner.
Solder in your machine pin sockets and/or ZIFs and/or male headers.
Make sure you leave enough clearance for the ZIF socket.
Make the 5 wire connection as described above.
Make up the appropriate jumper cable. I mentioned 3". Make it only as long as you need. I would consider 3" the maximum.

How do you crimp those connectors without special tools? Get a small piece of plastic a bit larger than a 40 pin socket and about 1/4" thick. If you can't find a piece that thick, glue several strips together until it is thick enough.

Use a .1" drilled matrix board as a guide to mark out and drill a standard .6" 40 pin outline as well as a skinny .3" 40 pin outline that sits inside the .6" 40 pin outline. You should have 3 rows of 20 holes, a total of 60 holes drilled in such a fashion that any header size from an 8 pin DIP up to a 40 pin DIP will fit.

This plastic 'jig' is now used with a small vice to crimp IDC connectors onto the flat ribbon cable. Just make sure the plastic is thicker than what your connector legs are long.

NOTES *** You may need to look at this if your programmer doesn't work.

Chris Sakkas (ITU) suggests that you connect .1uf caps from pins 1 and 11 to ground. I tried two different types of programmers and neither would work with these caps fitted, so I removed them. Perhaps the ITU design is different enough to cater for these caps.

One user suggested that the 64 requires a pull-up resistor on RA0 and RA1 when burning. It was mentioned in the specs he said. I couldn't find it, however my data is generally way out of date. I live in Australia, so I imagine Tibetan Monks on vacation in Antartica would have later data books than me. One Programmer Designer confirmed that these resistors aren't required.

If you have the ITU Programmer with the 5 pin header, Chris's $25US special for an assembled unit to match his Programmer, complete with Aries ZIF socket and cable, has to be reasonable value.

Here is what Martin Maney said on the ITU programmer:
The only problem I had was that the programming would fail after writing the first few words until I replaced the 100 ohm resistor (R11) with a much smaller value (I used 12 ohms as I had that on hand). Perhaps this varies from PIC to PIC, but I had identical problems with two 16C73 chips.

My programmer has a 100 ohm resistor in line with the 18 pin on board socket and a 100 ohm resistor in line when my PIGMY board is used for in-circuit programming via the 10 pin IDC header and the Load/Run switch. I have only programmed the 64 and 84 with it as I normally use a Newfound PP1 Production Programmer, however Ken Segler of CyberTech Las Vegas US assures me he has programmed with my Programmer board the following PICs without problems:
PIC16C61,C62,C63,C64,C65,C71,C73,C74,C84,C620,C621,and C622.
Back to The Table of Contents.

ZIF to Standard Sockets:

(Covers ZIFs to machine pin sockets, and other items).

Original Article: 12-Mar-95

When you handle expensive or hard to get chips, the last thing you want to do is snap off a pin or two, or accidentally bend the legs, which eventually leads to missing pins.

The same rules apply to Emulator or Downloader pins that plug into target board sockets. Or even an EPROM that must be plugged into many boards for testing, then removed.

How can you overcome this? Easy, use sacrificial Machine pin sockets. These aren't all that expensive, are easy to source, and can be stacked to achieve other benefits such as the ease of plugging in header cables or I.C.'s into target board sockets, or giving clearance to awkward components on target boards.

These sockets are ideal for protecting your EPROM version PIC chips, or Basic Stamp products. Machine pin sockets can be cut down to produce strips or smaller sizes, such as Basic Stamp-IC 14 pin SIP sockets.

They can be combined with ZIF sockets for many applications. If I have a board that I wish to continually insert and remove an I.C., I convert that board into a ZIF (Zero Insertion Force) socket.

To do this you must get the right connector to adapt a ZIF socket to a Machine pin socket, and these can be hard to get. Anyone in the states can get one of two connectors to do this job. In the Digi-Key catalog on page 77 of the Mar-Apr 95 issue, you will find DIP headers and Strip Line SIP headers. Either of these will enable you to easily solder any size ZIF header to a set of pins that can plug into a sacrificial Machine pin socket.

In Australia, if you chase around, you will find suitable double ended pins, or perhaps if you are real lucky, you may find what we used to call DIP component carriers (Same as Digi-Key DIP header). These are used to plug custom circuits or components into a DIP socket. Some of these are very flimsy plastic types and may melt when heated to the required temperature to solder them to a ZIF socket. Others are made using a very sturdy fiber-glass board.

The end result will be a ZIF socket that can be plugged into any target board socket, and removed when its task is finished at a later date.

I have found that for development work, I never have enough sacrificial Machine pin sockets. Get a truck load of various sizes, well if you get 18 pin and 28 pin for PIC work, you can always cut these down to manufacture other sizes.

NOTE *** 14-Jul-95
I have recently discovered an easier method of converting a ZIF socket to a machine pin based socket.

Get any cheap single contact socket that will allow the ZIF socket to be pushed hard into it. Insert this new combination into a machine pin socket. You now have a ZIF socket with machine pins. A unit that can be pushed into any target socket, then removed without damage to the PCB socket.

It's nicer if you install only machine pin sockets into boards that you may wish to "ZIF" at a later stage.

Which brings me to a final question:

Why can't TEXTOOLS make a ZIF socket with machine pins?

Perhaps I'll send them a FAX!

Date:   Thu, 1 May 97 00:17:19
From: "Bret H." hirshman@gidday.ENET.dec.com
To: dontronics.com

Hi Don,

I got the last of the components I needed to finish my DT.001 and fired it
up - works great!  In the process of building it I developed a useful little
socket hack that you may wish to pass along to other DT.001 builders.

Instead of using an expensive ZIF socket I got a good quality double-wipe
contact 18-pinner and pushed out all the contacts except the five that are
actually used (this is very easy to do).  The resulting socket holds a PIC
firmly, but the chip can be easily and quickly rocked out using just the
thumb and index finger.  Not quite as good as a ZIF socket, but pretty close
and a whole lot cheaper.

Back to The Table of Contents.

Interlink Cable:

[Same cable as Laplink, Fastlynx, Ebox, and XTlink].

MS-DOS 6.0+ has a very good file transfer program that uses the parallel printer ports of two PC's as the connection path.

For instance, if you have a Desktop that has drives A, B, and C, and a Laptop that also has drives A, B, and C, after installing Interlink on both systems, the "master" PC will appear to have drives A, B, C, D, E, and F.

But nowhere does Microsoft or IBM tell you the Hardware connections for Interlink.

Following is a description of the pin connections for an MS-DOS Interlink parallel cable. The cable has a male DB25 connector at both ends.

            25 pin          25 pin
            ------          ------
            pin 2   ------  pin 15
            pin 3   ------  pin 13
            pin 4   ------  pin 12
            pin 5   ------  pin 10
            pin 6   ------  pin 11

            pin 15  ------  pin 2
            pin 13  ------  pin 3
            pin 12  ------  pin 4
            pin 10  ------  pin 5
            pin 11  ------  pin 6

            pin 25  ------  pin 25
The second set of 5 wires is the reverse of the first set.

My personal preference for this group of Parallel Port file transfer programs is XTlink, as it's very simple to get going.

Back to The Table of Contents.

Driving Relays and LEDs:

I use High Voltage Drivers to get from TTL logic levels to loads that require much higher voltages or current such as LED's or Relays.

You can generally drive a single LED from an output pin of most TTL gates and Micros via a suitable value resistor. Many examples are given in my circuits.

But for series LED displays (EG: Jaycar large 7 seg has 4), or multiplexed type matrix displays, drivers will be required.

There are two main types of drivers and I'm surprised that they are not as widely known in the Electronics Engineering field as they should be.

These are Anode drivers and Cathode drivers.

The Anode drivers source current and the Cathode drivers sink current.

I use a ULN2003 Cathode driver for my Relay board. If you order anything from me, just ask for this circuit if you need it. If you don't order from me, send me an S.S.A.E. for the circuit anyway.

The ULN2003 is shown in the Dick Smith Catalogue as a UA9667PC. Cat. Z-5380 The data is shown in the data section at the rear of the catalogue. This is a seven gate driver that is used to "Ground" one end of the relay coils on my board. The other end of the coils connect to the supply voltage, generally 12 volts.

There is a ULN2803, 8 gate Cathode driver available, and a 75492 6 gate or hex Cathode driver.

The Anode drivers are used to switch and deliver the supply voltage on one end of the coils. The other end of the coils will generally be permanently grounded.

When I say generally, I mean in most cases only one end of any load is switched, but say you have a matrix of multiplexed LED's and you wish to switch on certain LED's in a row, or a column. Anode and Cathode switches will be required to perform this function.

Examples of Anode drivers are UDN2983 (8 gates) and 75491 (6 gates).

Other equivalents are available.

All of these drivers require a ground connection and will source or sink 500ma per output pin at up to 50 Volts drive.

Silicon Chip December 93, page 64 shows an example of driving an 8 by 8 LED matrix with a UDN2981 (83 equiv.) and a ULN2803. This uses +5 volts only and no current limiting resistors are used or needed. Duty cycle 15us in .5ms which is 3%. Peak current is 70ma, but average is only 2ma. Each output of the 2981's is tied to 8 LED anodes, and each 2803 output is tied to 8 LED cathodes. 74LS273 latches are used to drive them with the clear pin of the 2803 driver used as a power up reset to save the LEDs on switch on.

Here are the three most commonly used pinouts:

    ULN2003 7 gate Cathode driver.      ULN2803 8 gate Cathode driver.

   1 INPUT  16 OUTPUT                  1 INPUT  18 OUTPUT
   2 INPUT  15 OUTPUT                  2 INPUT  17 OUTPUT
   3 INPUT  14 OUTPUT                  3 INPUT  16 OUTPUT
   4 INPUT  13 OUTPUT                  4 INPUT  15 OUTPUT
   5 INPUT  12 OUTPUT                  5 INPUT  14 OUTPUT
   6 INPUT  11 OUTPUT                  6 INPUT  13 OUTPUT
   7 INPUT  10 OUTPUT                  7 INPUT  12 OUTPUT
                                       9 GROUND 10 COMMON DIODES.RE>
The common diode connection is the Cathode end of all internal diodes connected
together. This is usually connected to your supply voltage. EG: 12 volts.
UDN2983 8 gate Anode driver.
   9 VDD    10 GROUND
The ground connection is also the Anode end of all internal diodes connected together.

VDD can be anything up to 50 volts.

The ULN2003 is readily available, the others aren't. Farnell, RS Components, and Stewart Electronics Melbourne are known sources.
Back to The Table of Contents.

Dummy Printer:
To allow a Centronics printer port such as PC LPT1 look like it has a printer connected.

Make up a DB-25 plug as follows:
Connect Strobe (1) to ACK (10)
Connect Busy (11) to PE (12). Connect these via a 270 Ohm resistor to Ground (18 to 25).
Connect SLCT (13) ro ERROR (15). Connect these via a 22K resistor to INIT (16).

INIT goes low during bootup, then goes high. This is enough to pull pins 13 and 15 high.

Back to The Table of Contents.

More on ZIF's and those .025" Pins:

        Date:  Thu, 12 Mar 1998 17:08:23 -0500
       From:   jim nestor nestoji@home.com

Following up on an idea I got from this list, I fabricated a handy-dandy
ZIF socket adapter to use on most of my PIC protoboards.

I used a Dremel tool and ground the rectangular cross-section pins on
the 18-pin ZIF socket to a more tapered shape. It just took a small
amount of reshaping so that the pins would fit snuggly into a regular
machined pin IC socket.

After I had the ZIF socket evenly "plugged in" to the machined pin
socket, I gave it a few extra taps to lodge the assembly tighly

The new "piggy-back" set of sockets (ZIF on top) fits into the regular
socket of most protoboards. You can then easily and safely swap newly
programmed PICs into the circuit until the code is finalized.

The exception is that the ZIF assembly won't quite fit the common 18-pin
protoboards (ITU I believe) if they are fitted with a crytal and a
largish electrolytic capacitor on the 5v power supply. It's OK if you
use a ceramic resonator and/or a tantalum capacitor. You might sqeeze
things in if you tried. However, it all fits fine on my protoboard from
Phil Whitmarsh in the UK and my homebrew protoboards.

BTW, the Whitmarsh protoboards are great but not available outside the
UK. They have room for CPU, 5v supply, switches and LEDs for all I/O
lines and a scratch area for a few extra components. The bare boards
cost about $8 US and the kit with all parts is around $18 US.

If anybody's interested, maybe we can convince Phil to ship some to the

Another neat discovery is the small crimp-on connectors from Jameco.
They crimp easily onto small guage hookup wire and fit snuggly over
.025" header pins.

I'm putting together a sort of PIC LAB consisting of a CPU board, an
accessory board with ULN2803, ADC0831, MAX233, and 8 ohm speaker, and a
solderless breadboard. All of the ICs are terminated with header pins so
I can easily patch-cord assemblies together for testing.

The Jameco pins are part number 100765 and cost about .06 each for
quantity 100. Buy a bunch, they're handy.


Subject:  Computer I/O socket Mods and save your hair
       Date:  Sat, 25 Dec 1999 13:55:29 +0800
      From:   Robert Bates <robbates@
        To:   Don McKenzie <dontronics.com>

Don here's a tip you may wish to pass along to all

Sick of reaching behind your computer to change cables ???

Here's an idea I used at work some time ago after becoming thoroughly annoyed at having to reach behind the workshop PC to change programming cables to suit different radio brands and breeds then having to search for a suitable adapter to go 9 -> 25 pin and visa versa.

Basically I mounted 2 ea. DB9 + 2x DB25 connectors on one of the 'free' drive bay blanks. these were mounted in parallel to the two serial ports DB9+DB25 to serial port 1 and similar to Port 2. On a standard blanking plate there is ample room for
say the 4 serial port sockets as below plus a printer port and power outlets.

This gave very easy access to the required ports and save on wear and tear on the programming cables since they were no longer wrenched from the socket by their cables ( not guilty personally  ... honestly  :-)   )
These extra sockets were connected extension cable style to the ports on the rear of the computer to the dismounted standard connectors.

Obviously this idea could be made neater by making dedicated cables to mate with the header pins on the appropriate board. Beware here though, I have in the past encountered proprietary made serial jumper cables ( the ones going from board to
socket ) which are wired up 'funny' so take a second look at how the originals are wired if you elect to use ribbon cable. This tip also applies if you chose to upgrade your PC's mother board into an old case. For newer computers with socket mounted directly to the board simply route the cables through a vacant card slot blanking plate.

This mod while not particularly good looking is eminently practical and helps save the 'why won't it work' situation when all that is wrong is the appropriate cable is not connected

Cheers Rob

PCB Tip for home brewers.

 Wed, 16 Feb 2000 23:05:51 -0000
        "Steve Nolan" <steve@exells.freeserve.co.uk>

PCB Tip for home brewers.

Usual problem with using acetates from laserjet is that you get uneven deposit of toner, so when you UV expose on copper
photoresist you can get some areas overexposed.

Simple solution .. Kiwi black shoe polish.

I don't know if this particular brand is available elsewhere but..

if you liberally coat over printed acetate .. allow to dry .. and carefully buff polish off  with tissue or soft cloth .. takes time and
patience ..

result is thick black coating over printed tracks..even if tracks were a bit patchy .. looks like black tape ..

I have no idea how or why it works but it does!

Have tried other brands but only Kiwi does the job .. I have made some very good pcb's using this method.

May work on photocopied acetates .. have not tried it .. but similar printing process to laserjet..

To prevent track thinning ensure that acetate is printed such that track side is placed on copper during UV exposure.

Sheet of glass then on top to hold down.

For double sided .. place pcb board on similar thickness cardboard .. cut out shape of pcb with sharp blade.

Make top and bottom acetates.. Align and stick in position on each side of cardboard .. one with flap..

Insert pcb and UV expose..

Easily makes pcbs with one track between 0.1 inch pads.

Good method for prototyping or one-offs. Looks better if you coat tracks with solder before mounting components.

The really sad part is that I discovered it.

regards steve...
Home Products Prices Site Map Order Contact What's New Books Free Files Links FAQ

Dontronics Home Page

Copyright © 1996-2005 Dontronics

Dontronics Catalog View Shopping Cart Contents