Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

BigSes writes "I had been in the amusement repair industry (video gaming, pinball, jukeboxes, etc) for more than a decade, but have recently taken a new career path. I still greatly enjoy tinkering with all the electronics, and collect many arcade games and pinball machines for my home. I always had access to EEPROM / PROM / PIC / GAL programmers on the job, but never owned one personally. I'm finding it difficult to work within my chosen hobby without one, and ordering pre-programmed chips can be cost prohibitive for some projects. I would love it if some of you professionals or other hobbyists out there could recommend a great programmer that supports a large number of chip formats for me to use. I'd like it to be something USB, more modern than Serial or Parallel port (usually what we had in the old days) and preferably sub-$300, new or used. There are tons of Chinese import types on eBay, but I'd hate to spend $80+ if I am unsure of the quality."

Seriously, this is a good point. Since taking up FPGA work, I've learned that "programming" simply means putting a bitstream on a chip, and the actual writing of the code should have a different name, such as "design" or "engineering". I also think it is much more geeky to say "I design microchips" than saying you program (give instructions to) chips that somebody else designed.

On a side note, some older network cards have sockets for boot EEPROMs, and you can use them to program compatible chips for any

Seriously, this is a good point. Since taking up FPGA work, I've learned that "programming" simply means putting a bitstream on a chip, and the actual writing of the code should have a different name, such as "design" or "engineering".

Well, another way to make a distinction, how about calling putting a bitstream on a chip "flashing" and writing code "programming"?

I also think it is much more geeky to say "I design microchips" than saying you program (give instructions to) chips that somebody else designed.

I also think it is much more geeky to say "I design microchips" than saying you program (give instructions to) chips that somebody else designed.

But that sounds more like doing the hardware design of the chip.

When you code FPGAs, you design electronic circuits at the gate level. I think that counts as hardware design. Besides FPGAs, the same design can be fabbed into real ASICs, and often the FPGA is simply used to prototype things before such production.

Seriously, this is a good point. Since taking up FPGA work, I've learned that "programming" simply means putting a bitstream on a chip, and the actual writing of the code should have a different name, such as "design" or "engineering".

If you're not going to use the word "programmer" for someone who writes programs, then you shouldn't use the word "engineer" for someone who develops hardware or software.

On a side note, some older network cards have sockets for boot EEPROMs, and you can use them to program compatible chips for any purpose, using flashrom from the coreboot project. However, they seem to have a limited number of address lines, so the full capacity of the chips is not exposed.

A few years ago, I added an 8 bit latch onto a 3com card, the highest address line would select it, and latch the upper 8 address lines (so effectively adding 7 bits of address space).

I had planned on adding higher voltage lines for old EPROMs and the like... never got around to it though. It was kind of hokey, mostly just did it to see that i could. I think I had a board I had screwed the bios up on, and that was the whole reason for it.

(I ended up buying one of the chinese programmers eventually, but neve

I bought one several years ago (Top2048, don't think it's a current model now). Forget what it cost but probably in the region of 100 USD. Build quiality is good. Software isn't great or well translated, but at the end of the day it does what it's supposed to. In terms of writing eproms I've never had any problems with it. Ultimately writing an eprom isn't a particularly difficult concept so I see no reason a Chinese factory can't mass produce a cheap a programmer. Or put another way, why on earth do branded ones from the West cost so much money?
Richard.

I will second this. I ordered the cheapest GAL programmer I could find off eBay and it arrived and worked fine. I spent no where near 80. A USB to rs-242 converter will add to the cost, but if you find a good deal on serial it is no a big deal.

That's not quite true. Chinese companies over the past 10 years have been carving out a new market category for themselves -- things that are dirt cheap due to sheer unfathomable economy of scale and large-scale ASIC design. When your domestic economy *alone* has more than a billion consumers who, due to language, aren't terribly thrilled by foreign (ie, English-oriented) alternatives to begin with, you can hardly help but become very good at cranking out millions of products. Look at phones. Companies like

Except that even in China Chinese goods have a reputation for being crap. Most of them would much rather buy American when they can afford it, rather than having to worry about safety and quality issues.

I have car dealer friends who have said that the Chinese cars now available in Australia (from Great Wall, Cherry and Geely) will likely never improve in quality in the way the Korean and Japanese cars did because the chinese cars are just made up of bits of other cars technology licensed, stolen, copied or otherwise obtained rather than being a whole coherent car.

Yeah maybe you have a point. It's like the USSR where the investment in R&D was mostly related to finding ways to copy western technology. I don't know if this is a side-effect of Communism or if it's culture-related.

What you've all ignored is that China is exploding into cutting edge technology, cranking out Phds like they're going out of style. Last year they produced more international patents than America. They're building both a huge industrial manufacturing infrastructure as well as a huge and growing intellectual leadership. If they couldn't produce quality work, then the bulk of American and European industry wouldn't be using them to manufacture their products, no matter how cheaply they can produce (can you sa

> As stupid as their government is, it has the advantage of moving in a monolithic manner. So once a decision if made, the nation marches in lockstep. Makes for a very impressive ability to turn the nation on a dime. The U.S. can't do that. We have other strengths, some huge, we just don't have the ability to act like that except maybe in the face of a national crisis.

Between Confucius and Mao not a lot of things happened in that huge country. That's a hell of a big dime they need to turn on.

Oh, please. The same things were said about the Japanese in the 80s before their economy imploded. There is no way China can maintain a 10%+ growth rate and the growth is all that's keeping the people quiet. It's like Disco Stu's "if current trends continue, Disco music will take over the world by 1980!"

That would be more relevant if the complaint was they will always be ugly or indistinct, but it is just not a coherent reason that they would be low quality.

Actually the opposite would be much worse for them, if they stuck to only their own ideas even when they're aware of what else is available. Cars aren't a new field, manufacturing prowess is a huge part of it. Especially in the middle price range, where they might be able to imitate high end design and sell it at an affordable price.

I agree that in the 70s Japanese cars were regarded as crap, but I seem to remember then steadily getting better though the 80s and in the late 90s they became a real force to be reckoned with in the American marketplace.

A factor of 3 in population simply does not make "sheer unfathomable economy of scale". Our biggest disadvantage is that we have a large population of layabouts, lawyers, and losers. Their two biggest advantages are they're smarter than everyone else (except for a small population of Jews [ just fact, not commentary ] ) and being only a generation away from universal government-imposed poverty means they're working quite hard.

Concur with parent, cheap works, whatever I have used in the past (half a dozen varieties, at least) has always "just worked" apparently it's not too hard to do.

On the flipside, if I were designing a project, I'd lean toward Flash over EEPROM, or, what I have done a few times, a RAM over PROM solution (bootstrap in the ROM, but load the dev code to RAM for testing, when the code matures, drop it into the ROM (one-time programmable chips are usually 1/10th the cost of a "windowed" part, or less) and leave th

Or put another way, why on earth do branded ones from the West cost so much money?

Low production volume. EPROM burners aren't nearly as ubiquitous as other computer hardware. Mine [eetools.com] has a 4-digit serial number IIRC, and it's not even a particularly fancy model as such things go.

Very few people need EEPROM programmers these days. You, with your restoration projects, are one of few exceptions.

I very much doubt that there is a modern design that can reliably do what you need. The problem is not in building the thing but in testing it on chips that don't exist today outside of dusty old boards.

Your best bet is to buy an old programmer. I'd think many companies are junking this equipment left and right, so you should be able to find it in surplus stores, flea markets, on the Inter

I very much doubt that there is a modern design that can reliably do what you need.

It's trivial to program EEPROMS. Finding an EEPROM programmer that can't reliably program EEPROMS would be like finding a coaster that can't reliably stop a coffee ring. And guess what? Flash is just EEPROM that you can't erase a byte at a time, so the technology isn't obsolete yet.

As I understand the OP wants a programmer that can program UV PROMs as well. The devil there is in details. Each part requires unique conditions for programming; some of them are onerous, like 15V, 1us pulses with certain rise/fall times. It takes a careful design of the hardware to be able to program those. Modern EEPROM or Flash is a piece of cake (which is a lie) compared to those old ones. Worst of all, some are OTP PROMs - which means that yo

That thing is like... the Monster Cable of programmers. This is old stuff so high/low will only be 0V and 5V. Slew rate has to be only one thing: faster than the most demanding part. Only one pin needs to source Icc: Vcc, and all it needs is a switch to +5V. Programming pulses are 0.5 or 50 milliseconds for CMOS and NMOS EPROMS. The most difficult pin is Vpp. Amplify a dac to 0 - 30V, buffer it with an emitter follower and switch between that, 5 and 0 volts. Just make sure the voltage is what the datasheet

The M27W401 has been designed to be fully compatible with the M27C4001 and has the
same electronic signature. As a result the M27W401 can be programmed as the M27C4001
on the same programming equipment applying 12.75V on VPP and 6.25V on VCC by the use of the same PRESTO II algorithm. [...] Programming with Presto II consists of
applying a sequence of 100us program pulses to each byte until a correct verif

The M27W401 is in the programming mode when VPP input is at 12.75V, G is at VIH and E is pulsed to VIL. The data to be programmed is applied to 8 bits in parallel to the data output pins. The levels required for the address and data inputs are TTL.

Ok, make the Vcc pin the same design as the Vpp pin.

Even some modern parts (Atmel AVR MCUs) support high voltage (12V) programming.

The only "high voltage" in AVRs and PICs is on the MCLR/Vpp pin. This is covered by the design of my Vpp pin. The STK500 just uses a fixed 12V.

That's all good when you are programming only one type of the IC. However if you need to program 12,000 different ICs (with perhaps a hundred pinouts and a hundred of slightly different methods, voltages and timings) then your hardware needs to be pretty flexible. Ideally you'd want every pin to be capable of every function. If you can't afford that then you start switching, building plug-in cartridges with special wiring and pin drivers, and al

True, one socket will cover most (E)EPROMs, but if you really have to program every chip under the sun not messing with adaptors is worth a great deal. Putting a RAMDAC on every pin would be like driving a rocket car to work though. You could get the same functionality from analog multiplexors selecting from 0V, Vlogic, Vcc and Vpp.

Yeah, EPROMs are ancient. The only reason I can think to use them is sometimes you can find them cheap as free online. Blank OTP EPROMs are probably impossible to find and if you can find a blank bipolar PROM, donate it to a museum!

I've used a GQ-4X Willem Programmer with good success. The trick is to get a good set of adapters, so you have the flexibility to cover many packages. PSOP, TSOP, etc. I've even found one that lets me do a serial SOIP8 EEPROM while it is still on the board-- very handy to not need the remove&resolder.

I'll second the Willem programmers; the software is free (public domain) and the boards are small, about 3x4 inches, and have sockets for FPGA, PLCC, DIP, etc. EPROMS or EEPROMS. They sell for around $100.00 last time I checked. I borrowed one from a buddy for about a year (good friend!) and liked it very much. I'm now in the market for a programmer myself and unless I find something better, I'm getting a Willem.

I am jumping on the Willem bandwagon as well. Just a couple months ago I was tasked with backing up the data on some chips that are prone to go out in some PLCs we use in our manufacturing.
I purchased one of these [mcumall.com] and could not be happier with the results.

I'll seventeenth the GQ-4X. I have a bunch of adapters, some soldering tongs, and the like for reverse engineering and reprogramming chips. It's been a great programmer, works fine under virtualization (I use it on a mac, using a windows guest VM, inside of VMWare Fusion. It does not work to share this with a guest under Virtualbox, but Virtualbox is crap for USB support).

I grabbed mine from mcumall also. It's been a very reliable (with one exception) programmer.

Ive read that the USB only devices (used for programming and power) can be a problem with voltage, and using an AC adapter is highly recommended. Have you experienced this? Also, could you specify what type of AC adapter the Willem uses (voltage + amps) so that I can order all that I need at once? With so many recommendations for this unit, it seems like it would be the winner!

Don't give up on the serial port. There are a large number of great USB to serial port adapters on the market and they're not too expensive either. Even if you really wanted to give up on the serial port the more modern cheaper usb chip programmers are just the old serial programmers with a FTDI chip to convert serial to usb. Even the super popular arduino uses the mentioned method. All that being said take a look at sparkfun [sparkfun.com].

With regret I must say to give up on the parallel port. The older true parallel ports with ECP/EPP were amazing for hobbyist hackers. Throw in a few buffers and bit bang anything you could ever need out of it. Stay away from those "usb to parallel port" adapters as they are not the gloried parallel port from the olden days and are just ports meant for older printers.

Depending on what computer the poster is using, or willing to use for EEPROM work, you don't necessarily have to count parallel out, either.

There are, to my knowledge, no USB->Parallel converters that are the genuine article, rather than a somewhat dodgy USB Printer class horror, and the degree to which today's "USB->Serial" converters succeed in fooling hardware or software expecting a real serial port can be pretty variable(though much better than with parallel)

There are a large number of great USB to serial port adapters on the market

FTFY

Most USB to serial port adaptors have lower voltages than serial ports traditionally had and afaict ALL of them have much higher latencies than traditional serial ports. These issues will cause some equipment not to work. The first issue can be solved by building your own adaptor with custom level shift circuitry but there is really nothing you can do about the second issue.

There are a large number of great USB to serial port adapters on the market and they're not too expensive either.

Don't waste your money on cheap USB to serial port adapters from ebay. I bought one really cheap and it gave me nothing but trouble. They even sent a free replacement, but nothing would work with it. I heard good things about FTDI adapters, next time I consider buying one that will be my choice.

The new Arduino Uno dispenses with the FTDI chip and instead uses another Atmel microcontroller (an 8u2 I think) to do the USB to serial conversion. Apparently this is faster to copy programs to the arduino than the FTDI version and also gives the user the option to use custom firmware on the USB-serial converter, so the arduino can identify itself to the host as something other than a generic serial device.

When programming picaxes with a USB-serial converter, the maker of the picaxe recommends converters t

Serial ports are sloooow, especially if you have to do the programming repeatedly, such as when you are developing firmware. A USB-to-RS232 adaptor won't speed the downloading of your data, since the RS232 bottleneck is still there. Trust me, I've been there, done that (without the USB adaptor). I got really tired of transferring 64K bytes at 9600 baud every time I needed to do a bug fix.

My company bought a true USB programmer capable of 1 megabit/s downloads, and it was a huge improvement. The device

RS-232 is still found on many boards, its the parallel port header thats tough to find. What shocked me is Gigabyte sells a low end Z68 board (the GA-Z68A-D3-B3) that has both serial AND parallel ports on the rear panel right next to the USB 3.0 ports!

In order to address the kind of ROM programmer you need, it's helpful to know what you're looking for. Are you looking for a universal programmer, or are you willing to buy a ROM programmer that might only cover a certain class of PROMs? If you can peg down your requirements, that could potentially open a lot of opportunities up to you that you might not normally consider. It might even be possible to leverage the work of other hobbyists and roll your own, perhaps something like this [sourceforge.net]. You might also be able

The Xelteks are quite okay - and more importantly, the company is still there to support them. I see a SuperPro 280U on eBay for $250 right now for instance... a $200-$300 budget for a USB device should be more than feasible. It's really the way to go IMO. I used to love Needham's gear, but they went out of business some time ago and I wouldn't recommend buying a programmer with spotty software support. The USB devices generally work under VMware on OS X as well.

If you're talking about UV, you're talking about EPROM, not EEPROM. Big difference.

Either way, PROM programmers are prevalent and you can build them yourself especially if your PROM (like some PIC and most modern all-in-one boards) comes with a serial port. Some resistors and capacitors, sometimes a single chip will get you a serial-port PIC programmer. For USB-serial I like the KeySpan USA19HS since they have Windows, Mac and Linux support and are not too picky about the signals.

Those don't use PROMs. PROMs (Programmable Read Only Memory) were one-time-programmable via fusible links and are even more obsolete the EPROMs (Erasable Progammable Read Onl;y Memories). I used both in their heyday.

I see no reason someone couldn't invent a near-universal PROM programmer (and reader) using a suitable microcontroler. Give it a USB port so you can talk to it and send data to it and a large socket or header with lots of pins. Wire the pins in the header/socket up to cover all the possible pins the roms you want to read/write are using have (e.g. address lines, control lines, data lines, different power voltages etc) and then for each ROM type you want to read, build an adapter with the right chip socket a

I've been using Elnec programmers the past few years. Works great, software isn't bad either. You can often find them on eBay for less than $100. They also have a few programmers specifically for EEPROMs that are a lot cheaper.

If you want to get back into Microchip PIC programming, the PicKit 3 [microchip.com] is USB and supports programming and in-circuit debugging of a large range of their chips. If can be bought for around $50.
Many of their PIC's are low-cost and come in hobbyist friendly DIP packages.

While many think of serial as a throwback to the older ages, many of these programmers are still serial but simply feature an onboard ft232 or similar USB->USART interface. They act no differently then buying a cheap USB->Serial dongle and then working with a serial device.

There are a few native USB options but you'll find these at a higher expense.

As for Chinese quality, you can pretty much guarantee that regardless if you buy a $10 programmer or a $200 programmer it's going to be made in China. My experience with other programmers like those for AVR and PIC is the "Chinese inport types" can often be as good as the original manufacturer's programmer without the ludicrous markup. For the most part a programmer is nothing more than an interface that gets data from the computer, does a few simply electrical things to enable programming mode on a chip, and then spits out data in a format required. Total bill of materials is often sub $20.

Which reminds me, if you DIY inclined with electronics maybe build your own programmer? There's tons of schematics on the net for this and it will be as cheap as the Chinese import option except that you know exactly what you're getting. Failing that SparkFun is a company that caters quite well for hobby engineers and I'd be surprised if you can't find what you need there.

As with all things, fine if you can build it, fine if you can find yourself a nice group buy for the parts and the boards, but for the most part there's only a hand full of items sold by Sparkfun that are more expensive than the sum of the core components if they aren't sourced from very decent places. Want an example?:

I still have one, they are obsolete today! or so this says [eetools.com] but it is a very reliable programmer, if you can get one, it's definitely going to be used and so it should be cheap maybe 50 bucks or so.

If you're willing to build it yourself, and your computer has a parallel port, there are schematics available for a programmer called EzoFlash [ezoflash.com]. The website has a list [ezoflash.com] of flash modules that are known to work with it.

I have their "Batupo" model that I use for EPROMS in my work and have found it very easy to use and it works well. The only gripe I've got is that their software is Windows only and uses.NET, but other than that they're solid. See http://www.batronix.com/shop/programmer/eprom-programmer.html [batronix.com]

I purchased a GQ-4x USB EEPROM programmer a few years ago and it has worked very well. It's basically a Willem programmer, supports a lot of different programmable devices from old 80s EEPROMs to the newer pics. I primarily use it for programming custom 2732s, 2764s and 27128s for vintage PC stuff (Apple IIs, Kaypros, etc.). The software is decent and has a large database, although make sure you set the speed to the slowest possible setting and plug in an AC wall adapter (not included) if you want a good

Grab one of those battery powered closet fluorescent lights, one that takes a 6" tube. One with a DC jack is preferable so you don't go through batteries. I know you have a box full of adaptors somewhere. Find a germicidal UV tube*. If you can't find one at a hardware store you'll probably be able to find one at a plumbing shop, but it'll probably cost more there than here. [ebay.com] Buy an egg timer if you don't have one. It should all be less than thirty bucks. Jam the UV tube in the light**. Leave the plastic wind

One thing you may consider as well as your EPROM programmer is making a NOR flash adapter for the old boards you're using, so you can use a cheaper, much easier to program NOR flash chip (NOR flash is byte addressable, just like old EPROMs. Indeed, the pinning on many of the standard parts is very similar to older EPROMs) when you're tinkering with stuff.

The advantage of flash is that erasing is a much easier operation, and programming is all 5 volt (so is the erasing). Therefore if you're tinkering with so

Prom is the root term for any programable read only memory device. It usually means TTL or TTL compatible family (cmos, etc). These devices may require HV programming voltages (where HV simply means voltage above the normal power supply level used for reading, probably something between 9-30 volts). EPROMS are erasable devices, and with the single "E" we usually mean by UV light (the devices have a quartz window) though there ARE NON-ERASABLE EPROMS (something of an oxymoron perhaps but the name defines

Came here to say that. The easiest way to program an EPROM today without a legacy programmer would be to put it into a breadboard and use an Arduino.

I used to have a universal programmer like the one he wants, but it ran off an ISA card in a PC, it stopped working when my last 486 PC gave up the ghost.

By coincidence, it was only last week that I found some old spare EPROMS for a custom-built equipment we used to have where I work. Just for curiosity, I wanted to read their content. I wired an Arduino to read them, just a few minutes work.

Did you even read his entire post? He WANTS to do 1970's type EEPROMs or, actually, I suspect UV erasable EPROMs. All you people who responded "Use an Arduino!" or "Use a PIC" or whatever the hell you are recommending, completely missed the point - he wants an inexpensive, modern programmer that does OLD EPROMs or EEPROMs. Sheesh.