Reflection Technology
   

SimmStick Hardware Hints

The Table of Contents.

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-25 Male plug that thinks it's a Printer.
More on ZIF's and those .025" Header Pins.

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.

4x .5" square Rubber feet.
1x 18 pin machine pin socket.
1x 40 pin machine pin socket.
1x 40 pin Aries brand ZIF socket. Optional? (TEXTOOL if not available).
2x 18 pin IDC crimp headers. (14 or 16 will do).
1x 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.
b)  Adapt a TEXTOOL ZIF socket into it. This is detailed 
    elsewhere 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.

Circuit:

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).          

Assembly:

  1. Get your PCB and position the 4 nice little rubber feet in each corner.
  2. Solder in your machine pin sockets and/or ZIFs and/or male headers.
  3. Make sure you leave enough clearance for the ZIF socket.
  4. Make the 5 wire connection as described above.
  5. 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's 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 Top

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: don@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.

-Bret

Back to Top

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 Top

 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 8x 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
   8 GROUND  9 COMMON DIODES.          8 INPUT  11 OUTPUT
                                       9 GROUND 10 COMMON 
                                       DIODES.          

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.

   1 INPUT  18 OUTPUT
   2 INPUT  17 OUTPUT
   3 INPUT  16 OUTPUT
   4 INPUT  15 OUTPUT
   5 INPUT  14 OUTPUT
   6 INPUT  13 OUTPUT
   7 INPUT  12 OUTPUT
   8 INPUT  11 OUTPUT
   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 Top

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 Top

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

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

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 together.

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 States.

Another neat discovery is the small crimp-on connectors from Jameco.

They crimp easily onto small gauge 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.

Jim

BACK    TOP  
 

All rights reserved © 1999-2005 Giovanni Moretti Palmerston North, New Zealand

  Privacy Statement Contacting Reflection Technology Product Return details