Suggestions for Good Chip Programmer (Flash, PIC and AVR)

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Suggestions for Good Chip Programmer (Flash, PIC and AVR)
by on (#75823)
Hi all. I just bought what I thought was a cheap USB chip programmer off eBay. It's not (I'll be giving it away soon). Anyway, I am looking for suggestions for a good chip programmer that supports a wide range of memory and MCU's. My budget is $100 to $150. Any suggestions? It needs to be 100% USB (or USB + AC/DC Power). I'd like it to support ATtiny and ATmega series MCU's as well.

Thanks!

by on (#75833)
I currently use 2 USB programmers, a GQ-2X and a Pickit 3. They're both USB only - no parallel port or external power required.

If you think you might possibly use PIC24 or PIC32 chips, the Pickit 3 is a great deal for around $45 prior to shipping. The in circuit debugging is a huge plus. I use it with both Windows XP 32-bit and Windows 7 64-bit.

I keep the GQ-2X for programming EEPROMs and most 8-bit Atmel ATTiny and ATMega chips. The new model is the GQ-4x and advertises that it supports 32-bit & 64-bit versions of Windows XP, 7 & Vista. It's around $95 prior to shipping. Make sure your chips are on the supported list. The last time I checked it didn't include the ATMega1284p.

http://www.mcumall.com/comersus/store/comersus_viewItem.asp?idProduct=4282

On a side note, I used the ATTiny series for a couple years before moving to the ATMega. I finally went to the PIC24 then PIC32 because they're usually a bit cheaper and have more peripherals than comparable Atmel UC3 chips. I used the PIC24FJ64GB002 for the first NES USB keyboard adapter (DIP package) before moving to the PIC32MX series.

by on (#75852)
There's a True-USB version of the Willem programmer that uses USB both for power and data transfer (you can find it here).

I haven't tried it myself. Though I have the original Willem (with LPT port), and it has worked well for me.

by on (#75865)
I am going to build this :
Willem EPROM Programmer

Image

by on (#75869)
Thanks for all of your feedback. It seems there is no universal programmer that fits the product mix I want. I am going to use my Arduino board as an ISP programming board for ATMega chips, and I'm going to use the Parallel port on the motherboard of my MAME console to program ROMs with the programmer I have :D

Thanks again!
hard to find a good programmer for $150
by on (#75908)
with that small budget finding a USB universal programmer with large device support sounds semi-impossible. you should either increase your budget, or lower your expectations. There is one on Ebay for $150, but it is not a USB programmer;

http://cgi.ebay.com/Xeltek-SuperPro-Z-Universal-Device-Programmer-/250743801144?pt=LH_DefaultDomain_0&hash=item3a617ec538#ht_1282wt_1139

Or i can suggest you checking device manufacturer's website like Xeltek, BPM or Data I/O, manually check if they are supporting your devices. and choose the cheapest one they offer.

by on (#75912)
I fail to see what's so darned complicated about a chip programmer :D Seems like a micro-controller with 40 I/O pins and some glue logic for routing Vcc and GND is all you need.

Anyway, I really appreciate the advise on this.

by on (#75917)
The routing is the hard and expensive part. Typically the "pin drivers" are either made from literally hundreds of discrete components or integrated into a pricey custom analog chip (it's unfortunate but they aren't standardized and sold to consumers). Also programmer companies may have to license programming algorithms.

The driver chips are like a switch array to set a pin to VPP, VCC, GND or input. VPP and VCC levels are typically programmable by DACs and are current-limited. VPP is also typically generated using a charge pump. All of that makes it a bit more complicated than a big microcontroller :P Lots of the programmers these days also use FPGA to implement the algorithms for the maximum programming speed.

by on (#75918)
Ah. Thanks for the education :D

by on (#75931)
When I was talking to friends a decade ago, the consensus was that you could build your own universal programmer for about 50-80$ in parts and a lot of time.

A LOT of time, because you'll have to write the pin poking algorithm for every single part you want to program. There are probably thousands of them.

Sample bill of materials:
8051 or some other harvard architecture micro with integrated rom (for boot) and external memory support ($4)
32kB sram (to hold changing programming code) ($1)
decoding logic (3$)
4x tristatable latching buffers per 8 pins driven high or low ($1 per 8 pins) -- one each for -input to micro -drive pin to 0 -drive pin to V1 -drive pin to V2
5x BJTs (two PNP, three NPN) per pin driven high or low (use BJT arrays) (~30c per pin)
2 digitally controlled adjustable power supplies at ~1A ($20 each)
1 5V supply for the programmer itself ($2 or use usb)

by on (#75938)
In the past I've made my own AVR ISP programmer with a parallel cable and some custom software. I've also made a ROM programmer for 27C010 using a couple of binary counters and a serial-to-parallel shift register, again through a parallel cable.

It just so happens I have more money than time these days, and I wanted to buy a solution.

I am seriously considering developing a low speed 5V-only programmer for the hobbyist market. It seems like a hole to me :D