The following information may have errors; It is not permissible to be read by anyone who has ever met a lawyer.

Use is confined to Engineers with more than 370 course hours of electronic engineering for theoretical studies. <p> ph +1(785) 841-3089 Email

Pocket Programmer

From Transwiki
Revision as of 16:59, 8 May 2012 by Karl (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Order information

Pocket Programmer

Phone and email Support

  • Check that the device number on the chip(underneath any stickers) matches the number on the lowest button within the green line.
  • Chip is in the socket correctly (Most chips have any empty socket pins between the notched end and the handle).

Before you call or write be sure to have your system up and running. Be prepared to provide:

  • Software version - found in title bar of programmer - don't call until you try the latest software found at updates
  • Chip number you are working with
  • The precise error
  • Call (913) 422-2094

Try to use email first -


Return it insured to:

612 Newton
Edwardsville, KS 66113

Put this RMA number "ship date-R" on the outside of the package. Also send a detailed description of the problem. Include:

  • Software version - found in title bar of programmer - don't send it in until you try the latest software found at updates
  • Chip number you are working with - best to also leave a sample chip in the programmer when you send it in.
  • Shipping address
  • phone number(s)

The flat cost for repair is US$99 + shipping

Change log and update links for the USB Programmer

Pocket Programmer updates

Software Updates

Common problems FAQ

  • Check to be sure you have the latest software version (Updates ) and the LED pilot light is lit.
  • Handling EPROMs requires ESD prevention measures. If you don't wear a ground strap connected to the chassis on the back of your computer you are likely to damage the programmer or chips sooner or later. For a fuller explanation of static prevention refer to our ESD page.
  • If you get a Device inserted improperly error, it is usually due to a partly static damaged chip. This test is intended to detect backwards inserted chips, but it sometimes detects 'leaky' address lines input gates of the part you are trying to program. The lines get leaky usually from static damage. Static discharges much less than you will ever feel, can damage a chip. You can turn this test off - but be aware that a chip that fails this test is likely to fail.
    • To turn the Backwards test off -
      • Note the programming voltage
      • Click on the programming voltage button.
      • Type the letter 't'.
      • Select the backwards test and turn it off.
      • Be sure to set the programming voltage back to what it was.
  • If there are more pins in the socket than the device, you should see those holes between the notch end of the chip and the lever on the zero insertion force socket.
  • ZIF socket lever not completely down. let it snap down to the fully horizontal position.
  • Do not use Nortel power adapters with the USB version of programmer.
  • If you are running a computer with a noisy parallel port, and you are receiving "not verified" errors when writing, you will want to experiment with the Program Pulse" parameters in the T menu:
    • To modify Program Pulse parameters -
    • Click the Vpp=<some value> button.
    • Type the letter 't'.
    • Initially set Program Pulse to something between 60 and 300. Playing with the value can help read the port when the noise is absent.

First time Programming

  • Start the program
  • Pick a device from the list that matches your ROMs part number.
  • Press load buffer and pick your ROM image file.
  • Press program.

How to copy a chip

  • Start the program
  • Pick a device from the list that matches your ROMs part number. (bottom button of the button group outlined in green)
  • Insert the source chip into the socket
  • Press the Move Device button
  • Insert a blank target chip
  • Press program

USB driver installation problems

Normally, the windows approved USB drivers install without any problems. Sometimes old non compliant drivers can cause a problem - by looking in the device manager and plugging and unplugging the USB programmer you should be able to see it as a device - un-install the associated driver and reinstall our software. Symptoms may be instant programming with a verification failure.

You may also have to uninstall dirty drivers that are listed as USB COM devices.

Display Problems

If you have messed with your default font size ( Desktop properties/settings/advanced/fontsize Bad things can happen. Use the default system font. (This would mess up many other programs as well )

Power adapters, Overseas mains power Running with car power

To see what you need to get for local mains power other than 120Vac Look at our wall adapter page. The 'Pocket programmer USB' is now center positive (don't interchange - but the new one won't get hurt by backward voltage!) Programmers with an LED can have either polarity. Do not use the Nortel power supplies with any programmer with a LED pilot light.

To run the programmer with power from a car get the cigarette adapter. Don't try to just make a cable - the 12-14Vdc of a car have been known to break the programmer. You can run it off a battery (just don't go above 12.2 volts).

If you test a power adapter, it is normal for it to read high without a load - it is rated at 9Vdc with a 300mA load - you may see as much as 13Vdc without a load.


Why isn't the check sum the same? Several things can cause this - if this is a hex file the sum-check depends on what was in the buffer before the the data was overlaid in the buffer. You might try filling the buffer with 00s or FFs. Also, you may be comparing the file check-sum with the ROM check-sum -- they are not the same thing.

There are many types of checksums! The Checksum the pocket programmer does a Byte Checksum while GM does a Word Checksum, because they are using a 16bit CPU. They also store their checksum at the beginning of the Hex file without including it in the actual ROM code.

A Byte Checksum is where all bytes are added together throwing away any 16th bit carries to keep the Sum check one word or 16 bits in length. i.e. 12h + BDh + 56h + C8h = 01EDh In other words, the pocket programmer makes a 16-bit check sum by adding all the 8 bit values in the buffer while throwing away all the carries above the 16 bit boundary.

A Word Checksum is done by adding all the 16 bit words and throwing away any 16th bit carries to keep the Sum check one word or 16 bits in length. i.e. 12BDh + 56C8h = 6985h

Check-sums are calculated on Move device, load file, and edit buffer.

Testing Vpp voltage

There is a way to test your programming voltage.

  • Start the program, select a device, and highlight the Vpp button.
  • Press 'T'. A new menu will appear.

You can now press the Vpp button and change it to the value you want to test (you must press the new Vpp button at least once). Put paper clips in the Pin 1 and 16 socket holes as most meter probes won't reach. Normal ranges for Vpp are as follows

12.5V - 12.7 to 12.9
21V - 20.5 to 21.5
25V - 24V to 26V

What is all this buffer start stuff about?

Most of the time you will never have to touch any of these unless you are splitting ROMs or pasting together files.

Buffer-start Automatically set - but you can change where the software thinks the beginning of the binary file data gets loaded. The buffer-end is always the buffer-start plus the device size.
Device start Normally 0 but you can change so that it will start putting buffer start data at some other address.
Device End Should be the end of the device or equal to device size + device start - tells the program where to stop programming at.
Hex file start Most should never touch this - for pasting together hex files. works the same as buffer start. IF you have to ask you shouldn't be using this.
Hex file end Most should never touch this - for pasting together hex files. works the same as buffer start. IF you have to ask you shouldn't be using this.
Hex offset Makes it load hex file data at different place in the buffer

The buffer size is always the same as the chip size -- extra data will wrap around!

To manipulate the data, you can make use of the buffer or hexfile-start and end settings which will load the buffer from the start point to the end point and will ignore the rest. This is useful if you have a lame compiler that includes the stack as part of the data.

The hexfile offset increases the address of where the file is loaded. To move it down you would need to increase it enough to cause it to wrap around.

  • How to relocate a 27C32 ROM Image into a 29C256 or 27C256 chip (with extra address lines tied high)
    • Set the device type as the chip you are going to program.
    • Set the Device Start to 7000.
    • Load the buffer with your 2732 sized ROM file.
    • Program the device.

Remember that you have to set the Device start back to zero when you are done as it will cause problems doing other types of programming jobs.

To put a 27C256 chip in a 27SF512 chip you would similarly set the start of device to 8000.

How do I put a 1 meg Bin file into two 27C512s (or similar splits)? Assuming a linear split, load the buffer and burn the first chip normally. Then change the start of buffer to 10000h (or what ever the capacity of the chip is) and burn the second chip.

Problems with Particular chips and adapters


When using with the Pocket programmer-USB3 be sure that the adapter is all the way towards you - that is pins 1-4 and 36-40on the programmer are empty.


27C256R - I can't reprogram this why? - it is a OTP(One Time Programmable) It can't be reprogrammed.


2732 - It was working and then I erased it and now it won't program - all of them from that batch act the same way. - Often these were programmed at the wrong voltage - once erased they will never work again.

What is the correct programming voltage for 2732s? 2732 - Oh, this is a nasty chip - it comes with more than one suffix and has differing programming voltages. If you program it with too high of a voltage you can ruin the chip. Be VERY careful about WHICH 2732 you are working with. Look at the suffix to the part number A's use 21V B's and C's use 12.5 anything else use the plain 2732 setting. If you aren't sure - you can try using the lowest voltage first and work your way up until it verifies - at your own risk of course.

Best to replace 2732 with 27C32s if you can find them..

  • Both Intel's 2732 and TI's were 5 volt single supply parts. Both originally were 25 volt programming, but that dropped to 21 volts for the 2732A.
  • The TMS2532 is different from the 2732a -- TI's 2532 had a dedicated Vpp pin so it only had room for one enable pin, which combined Chip Enable with Output Enable. Intel shared the Vpp with Output Enable, and had a seperate Chip Enable, so it could use any address setup time on the bus before the output enable (read) signal was provided, and run faster depending on the bus cycle timing. d TI ended up cloning the 2732A.

Using 27SF512 chips as a substitute for a 27C256

First this is, was and remains a bad idea. You should instead use a high speed chip with an industrial temperature rating. Also, you need to have at least a pocket-programmerII to program this chips, earlier units will not work.

To read a 27SF512 top as a 27C256:

  • select 27SF512
  • Set start of device to 8000
  • Move Device
  • Select 27C256
  • set start of device to 0
  • save buffer
  • set start of device to 0000 so you don't screw up on your next chip.

To program a 27SF512 chip from a 27C256 file

  • select 27SF512
  • Set start of device to 8000
  • Load buffer with a 27C256 sized file (you can check the file size - right click on the file and select properties it should say 32K (32K*8 = 256K)
  • program chip
  • set start of device to 0000 so you don't screw up on your next chip.

If you have problems with this - please don't call us.

875X-USB3 Adapter

The ZIF lever of this adapter faces opposite the ZIF lever of the programmer. Pin one of the chip goes??

Empty holes in the programmer socket go ?

The PIC Adapter

Can't find the PIC chip on the list? Are you running the special PIC program? The PIC devices require you to run a different program. Some PIC parts require a special adapter. See I-PICUSB3 adapter.

PLCC Adapters

PLCC chips and pin 1 orientation

PLCC chips are a bit different than DIP chips in that Pin one is not on a corner of the chip. Looking at the chip from the top (part number visible and right reading) you will see that one corner has a beveled corner. This corner should be on the top left. With the chip so oriented, pin-one is in the middle of the top ro of pins - often marked by a indentation or dot.


Both the PLCC adapters are plugged in in a similar manor with empty holes in the programmer socket up towards the handle.

Empty holes

There are two PLCC adapters the I-PLCC28-32 which handles both 28 and 32 pin PLCC packages and the I-PLCC44 for 44 pin PLC chips.

Configuring The PLCC28-32

If you are programming 32 pin PLCC parts you need to remove the bottom header from the adapter.

Un plug daughter board

Reassemble the daughter board for 28 pin chips. Make sure pin-1 of the daughter board gets plugged into Pin-1 of the adapter - they are marker on the circuit board.

Reassemble for 28 pin packages

Hex and ROM image file types

If you have a hex file instead of a Bin(binary) file and don't have the unit set to hex, it will program the part with the ASCII representation of hex instead of the binary. You need to set the software to the correct file type.

I am working with S-Record files do you have any utilities? Download the Srecord utilities that convert Srecords to Bin and Bin to Srecords. To contact the author of these utilities, Mr. Ant Goffart, Email him at Please thank him for giving permission to share his software.

We also have a Hex to bin converter available for download.

Saving as a Hex file

We don't support it (and for a very good reason). There are many versions of Hex-files and Ascii-hex-files etc. Even the simplest versions can vary with what they use at the end of a line - or if they have spaces between the bytes. There is a free program that should solve most of these issues. Simply save as the buffer (it will be a binary file no matter what the file type setting) and get the program available (free!) at

Hex-files and multiple chips

Best explained as an example. Assume you have a 256kbit file and you are splitting it into 64kbit chips(27C64). Instead of selecting a 27C64 to start, you need to select a chip the same size as the hex-file image. Thus:

  1. Select a 27C256
  2. Load the file select the chip you want to burn.
  3. Burn your first chip.
  4. Change the buffer start to $2000
  5. Burn the next chip -- etc.

Programming algorithms

Do you support SNAP or other programming algorithms?

The SNAP algorithm is only one of several that works; its advantage is one of speed. When programming UVEPROMS one must keep pulsing the cells until they are programmed and then add programming time to insure that they are programmed enough that they won't flip under different temp, Vcc conditions. By increasing Vcc it helps provide a worst case condition. Other parts of the algorithm count the number of pulses to flip the bit and then multiply that by some factor and add insurance pulses. There are all numbers of recipes for doing this. Some expose the chip to excessively high Vcc that can effect the life time of the part. Some are quite slow.

The pocket programmer uses the quick intelligent algorithm (often just called quick) with an elevated Vcc which is supported by all the manufactures (ask you sales rep to get you in touch with a factory engineer if you doubt me). It is a somewhat more conservative system that stresses the chips less (as is required by some military specifications) and uses a bit more time in programming.

The snap algorithm is for programming chips in consumer products in a minimum time (cost), but at the expense of more stress to the part.

It is possible (but not recommended) to program without raising the Vcc and using a very high number of insurance pulses, but with the larger chip sizes that takes a very very long time and fails to provide a worst case check that the elevated Vcc provides.

UV Eraser

How long should I erase a UV erasable chip (27xx types?) Take a programmed part - put it in the eraser for a minute at a time checking each time to see if it is erased. once it is erased triple the time for all chips of that particular part number AND manufacturer. See the D_erase

My eraser rattles is the bulb broken? No. it is normal to make a slight sound.

My eraser won't light up? Most likely because the door is open. There is a tiny safety interlock that keeps it off unless the door is closed. You can check the operation by looking at the pilot lamp - it is actually a bit of florescent material that glows from the UV light.

Reading TI's old TMS2716

This part required 3 supply voltages and can not even be read with out these voltages. If you HAVE to read it, you can build your own adapter.

A normal (non-TMS) 2716 versus a TMS2716 pins out like this:

<-- normal 2716 ---><---- TMS2716 pin redefinitions ----><-------------- Changes to Socket -------------->

 +-----+ +-----+
 A7 |1 +--+ 24| VCC <--- Vcc/PE (PE is Program Enable)
 A6 |2      23| A8
 A5 |3      22| A9
 A4 |4      21| VPP <--- Vbb (-5 volts)                   (Connect Pin 21 to +5 Volts)
 A3 |5      20| /OE <--- A10                              (Move A10 to Pin 19 then Connect Pin 20 to Gnd) 
 A2 |6      19| A10 <--- Vdd (+12 volts)                  (Move A10 here) 
 A1 |7 2716 18| /CE <--- S/PGM (chip select/program)
 A0 |8      17| D7
 D0 |9      16| D6
 D1 |10     15| D5
 D2 |11     14| D4
GND |12     13| D3

You would supply the voltages as in the center column to read the part. If you want to use a 27C16 as a replacement you can use the right hand column to make the changes.

Also see TMS2716.pdf

Altera and Cypress chips

Programing information for Altera and Cypress has not been made available. Some of these chips can't be supported at this time. If you can provide the programming data sheet we can try to add these parts. One should consider using other sources of parts that are more forthcoming with technical information, as this type of attitude may well effect the successes of your development project.

Personal tools