We had originally intended for this article to be a scathing review of the TOP2005 programmer, one of chose cheap USB EEPROM programmers that are coming out of China these days. We bought one a while back and it was fine for standard 27C64 eproms and the like, but totally sucked when trying to read anything modern like a PIC or newer electrically erasable devices. So into the file cabinet it went to collect dust.

Fig 1 – TOP2005 Programmer
However, when we ripped the beast apart we liked what we saw. It’s a bit of a hack to an old parallel programmer we think, but the hardware looks good. A USB to parallel adapter talks to an 8051-clone microcontroller. The micro talks to a Xilinx CPLD and a Xilinx FPGA that run the pin buffers. The programmer attempts to implement a good bit of eeprom programmer fanciness such as identifying logic devices, reading manufacturers, etc. Plus, it’s portable and USB powered and oh so cheap and hackable. We REALLY wanted it to work, but it just acted like a piece of junk.
We probed the pins, snooped the USB, and disassembled the software. It’s rather cool in that when changing devices, it uploads a new bitstream to the FPGA. So in theory, this guy should be infinitely extensible if you were inclined to write new bitstreams to the FPGA and do some custom software work.
Opportunities like that bring to mind images of relaxing by the fireplace on a snowy winter’s day… While the TOP feverishly spews attacks to some micro or something, quietly blinking and churning out data. Since the programmer can supply power from 2.7v to 20v and can drive 40 pins (all with an unprotected micro and Xilinx’s), this thing could be a pretty awesome programmable test bench.
However, it couldn’t even read an ATtiny!?! We had to find out what was the problem.
Continued on Next Page…







Super site, and nice text.
Wow thanks alot. I bought this thing years ago when I was in college and just didn’t have alot of time to mess with it. I just unpacked all my stuff and just have stacks of eeproms, memory, z80′s, 6803 of all things and it good to be able to be able to mess with it without spending an arm and a leg for a new programer.
I am still impressed with its cheapness though. I bought it because it supported gal/pal programing, not that many use those anymore:P
Any recommendations on a good programmer? I know most mcu’s are serial programed but still be nice to get something with better software.
I tried installing the working English version but got “BORLNDMM.DLL not found”. Is it my problem or have you omitted some files?
Wilfred
Hi Wilfred,
We have not used borland in our tools, but the original software may have. Please install the original software and make sure it works first.
In case anyone is curious as to what the TOP3100 looks like on the inside, I have one disassembled on my desk:
– 32-bit ARM Cortex STM32F103 in an LQFP100 package
– An 18-pin DIP with the component identification removed.
– Two IDC 10-pin connectors, not soldered in.
– One labeled ISP1
– The other labeled CON4 (Looks to be wired to the JTAG / Serial Wire Debug on the ARM)
– One single row of 6-pins (that is soldered in)
All of these connectors seem to end up going to the ARM, but I haven’t finished tracing everything out just yet.
The USB port is attached to the ARM as well.
Pin 5 on the mystery 18-pin DIP goes to ground,
Pin 14 goes to 5V
The programmer itself has a 48-pin ZIF socket.
I intend to try this thing with Tomrammer and see what happens, in hopes that I can add support for more devices and get away from using the stock software.
Heck yeah, take some pictures! We’d be happy to post your findings up here for the others to see.
Hi, I have (suppossedly) the 6.11 version. But when I’m trying to use the function Read, pops a messange: “bad USB read!” and the program closes.
The program appears in a double-window, one of them reads Topwin6 and the other TopWinVer6.11 in Windows state bar, curiously there’s a message in the main window that reads version 5.02 so I thought I could use your new compilation, but I got the same message as Wilfred, something about borland. Is there any way I can make work this thing? Any advice? thanks in advance.