Adventures with EPROMs

Reading Fluke 8842A EPROMs

In December I received a strange request from Franci, S57FK. He had a sick Fluke 8842A digital multimeter with a bad processor and was in desperate need of some EPROM images. He noticed that I had an identical Fluke sitting on my bench and was hoping that I could read the contents of the EPROMs inside my unit and send them to him so that he could get his meter running again.

I said sure, but I had a problem – I didn’t own an EPROM programmer.

Well, I had been looking for an excuse to buy one for a while, so I went on eBay and bought one of the cheapest EPROM programmers I could find (for $15).

The programmer, which is a Willem clone, arrived some weeks later:
Reading Fluke 8842A EPROMs

As an aside, the Fluke 8842A uses a weird Z80 processor with stacked external EPROM storage (I think EMSL has shown pictures of these in the past):
Reading Fluke 8842A EPROMs

Weird.

The next problem I ran into was that the “old” (circa 2004) Windows XP laptop I use in the lab didn’t have a parallel port, so I had to find a way to run the klunky old Willem software on my new desktop PC, which runs Windows 7 64-bit (but surprisingly does have a parallel port). The Willem software is written for Windows XP and won’t run on Windows 7, at least not the 64-bit version.

Thanks to this tutorial I was able to replace the io.dll that comes with the Willem software with a new one that works with Windows 7 64-bit. I was shocked at how easy this was (and that it worked at all), but 10 minutes later I was able to launch the Willem software without errors:

Willem Software

Actually reading the EPROMs was pretty simple:

  1. Remove EPROMs U202B and U222 from the Fluke 8842A (U222 required some work to dig it out, it’s located under the AC line EMI suppressor)
  2. Connect Willem programmer to PC (parallel and USB ports) and launch EPROM50 software.
  3. Select EPROM type through the Device menu (2732 in this case)
  4. Adjust the DIP switch and jumper settings on the programmer to match the diagrams in the software.  I had to move one jumper from the factory position and change a few of the DIP switches.
  5. Insert one EPROM at a time into the ZIF socket on the programmer, following the diagram shown in the software to align the chip.
  6. Click the Read Chip button (the one with the green arrow) and specify a file, click OK.

It is probably a good idea to look at the contents of the resulting BIN files to make sure they aren’t all zeroes (that happened to me once) and contain something that looks like valid data.  You’ll need a hex editor for this. I used HxD.

I sent the files to Franci, and he was able to get his meter working again. Success!

Note: If you came here looking for EPROM images for the Fluke 8842A, I added them to the Test Equipment page on the wiki.

I was a little bit nervous to put everything back together again, fearing that I might have accidentally ‘zapped’ one of the EPROMs while I was learning how to use the programmer. Fortunately, the meter still works just fine:

Fluke 8842A

Whew!

9 thoughts on “Adventures with EPROMs”

  1. I had the same problem, in my case it was a corrupted memory on a Tatung TV. Fixed using some kludge-fu, some parallel port hacking and some guesstimates but it got the unit tuning again and it lasted 3+ years before something else broke.

  2. Be careful. You might get a C&D (or worse) from Fluke for posting the EPROM image without permission. While you could probably get away with sending a copy to someone individually to help them get their device working again, posting it online for anyone to download will likely get you into trouble.

    1. Have you seen Fluke do this before? I think that it is very unlikely that Fluke cares much about a 25 year old, obsolete, unsupported DMM.

  3. @DaveH, That takes me back, too: We discovered the same problem, and solved it by putting a snip of black electrical tape over the window before sticking on our Avery labels. I wonder if Avery ever gets credit for its contribution to electronic innovation? 🙂

  4. 2732s? Wow, that takes me back. When I started in this field my company was just transitioning from 1702s to 2716s.

    Those labels look like regular Avery paper labels. I had a bad experience using those on EPROM windows. They’re not really opaque to UV. I had a set of EPROMS become partially erased sitting on a shelf with a fluorescent light 3 feet overhead. They sat there for about six weeks, and the paper labels didn’t protect them. Inside a piece of equipment is probably safe, but if you need to store programmed parts I suggest an opaque box.

  5. @Hal: It contains machine code. Turning it into something semi-human-readable is the job of a disassembler, and I’m sure there are Z8 disassemlbers out there. (I wrote one years ago to reverse-engineer an ISDN NT1, but no longer have it.) However, that’s the easy part. It still takes a lot of work to reverse-engineer what the code is actually doing.

  6. It’s a Z8, not a Z80. Entirely different beast, with an entirely different instruction set. It’s Zilog’s answer to the Intel 8048 and 8051 microcontrollers.

    The version with the socket on top was intended for prototyping, but Fluke and Apple both used it in production. Since it was expensive compared to the normal Z8, the products it is found in were obviously not very cost-sensitive.

    1. Eric,

      Thanks for pointing that out. As you can tell, I am very ignorant when it comes to Zilog processors (never developed anything with them, never written code for them, etc.) This is the first I have ever heard of the Z8.

      I’m pretty sure the Fluke 8842A was a very pricey instrument when new (it was the fancier version of the 8840), so I guess they could afford the socket. I guess it makes field upgrades very cheap and easy, anyway…

  7. Cool! Thanks for posting this. Those are still some things that I think of somewhat mysterious. It’s cool to know that they can still be hacked/reverse engineered/repaired/etc. Can you always read the contents of the EPROM? Is there a way to turn it into something semi-human readable? Do you think it would be possible to reprogram the meter if you want to do some sort of basic hack (say, make the continuity beep also beep for certain voltages or currents, or something like that…)

Leave a Reply to JeffCancel reply