Monday, July 14, 2014

Arduino Mega eeprom programmer - Willem Killer - Pt. 1

After years of struggling with Sivava's Willem Programmer, I decided it high time to make a new affordable option. A new option which will remain open source so that everyone can made modifications and improvements to both the hardware and software.

If you own a Willem programmer, you're probably concerned with how difficult it is to get running and even once you do, it probably does a shit job of programming and reading proms of any sort. Mine in particular will program any and all 8-bit eproms, but once I use the adapter to interface with 16-bit eproms, it fails miserably to finish a write. Sometimes it doesn't even make it past the first byte ... Another person I know can program the 42-pin 16-bit eproms, but not the 40-pin versions. Together, lets fix that.

The idea is that the arduino Mega has an external memory interface which will natively (kinda) read and write to various RAM modules, so whats keeping it from reading and writing eeproms? If you erase the IC's and follow the specs in the datasheet, it has to work! Whats even better is that it will be fully USB compatible and has a massive number of GPIO just waiting for expansion.

For starters, I want get it working with both 32-pin DIP eeproms and 32-pin PLCC eeproms. Then I want to add some sort of software controlled relay or transistor switch to control VPP which is +12v. VPP is required to program older UV erasable eproms. A simple and small 7812 can be used on the board to get +12v and since the VIN or RAW pin will connect from the Mega, a single wall wart PSU can power both the arduino and the VPP. If just flashing or reading eeproms requiring only +5v then just the USB connection should suffice.

Here is what I have so far. Please give me suggestion on how to switch our VPP signal to different pins of the ROM via software. It may potentially need to go to pins 22, 1, or maybe even others. WE can figure those out later. One thing that I may change later on is adding a 42-pin socket instead of a 32-pin socket and removing the PLCC. If that were done, then the board could support more chips without so many adapters but to program a PLCC one would need an adapter. These are quite cheap though.



  1. Hey there!

    Is this still in development?

    I'm kinda fed up with my willem... and most probably hundreds of people are too :(

  2. WE can use ADG1414 switching IC for switching the VPP to different pins:
    We can shift registers via the serial interface. It can handle up to 12-15V for the older EPROMS also. 8 channels should be enough for most of the variations of ROM pinouts. Please let me know what do you think about this.