Skip to content

gdumgdum/eprom27Cxx_programmer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programmer for EPROM 27 series (27C16-801/2KB-1MB) based on Arduino Micro

Programming is made possible by a dedicated hardware (made of a PCB, a few very common SMD components and an Arduino Micro), and a Qt software that can be compiled for Windows, Linux and MacOS.

Compatible Eprom List (not all chips were tested):

  • 27C16 (2KB)
  • 27C32 (4KB)
  • 27C64 (8KB)
  • 27C128 (16KB)
  • 27C256 (32KB)
  • 27C512 (64KB)
  • 27C1001 (128KB)
  • 27C2001 (256KB)
  • 27C4001 (512KB)
  • 27C801 (1MB)

Selected chip needs to be inserted in the ZIF socket at the lowest position possible (bottom aligned).

Before writing, activate the Voltage functionality, then adjust the potentiometer and compare the measured value with the one specified in the datasheet of the selected eprom.

Schematic

Based on the project https://github.com/walhi/arduino_eprom27_programmer, which was based on https://github.com/bouletmarc/BMBurner

Schematic

PCB is now generated with Kicad

Gerber files generated by Kicad are located here

Software

Software for Windows/Mac/Linux is written with Qt5.

Functions:

  • Read chip to memory buffer and check if chip is blank
  • Save memory buffer to file
  • Read memory buffer from file
  • Program chip with memory buffer
  • Read chip and compare to memory buffer
  • Programming voltage control

History

PCB

  • Switched to Arduino Micro model because the Nano version used in the previous version doesn't have enough inputs/outputs to handle all the programming modes.
  • Pull-down resistors added to the lines where signal/power is sent through diodes.
  • Programming voltage is now only generated from the +5V provided by the Arduino.
  • A connector is available to connect to an external power-supply if the USB is not able to provide enough current (should not be necessary if connected to a USB-3 socket).

Arduino Micro

  • Added a reset routine because Micro is not reset when the COM port is opened, contrary to Nano.
  • Added a decent synchronisation between Qt application and Arduino when programming the Eprom.
  • Added a delay before reading/writting to allow voltages to stabilize.
  • Added support for 27C1001, 27C2001, 27C4001 and 27C801.
  • Increased communication speed with Qt application to 115200 bauds.

Qt application

  • Detached the buffer display in an independant window.
  • Allow main window resizing.
  • Fixed the progress bar display on MacOS.
  • Added support for 27C1001, 27C2001, 27C4001 and 27C801.
  • Added a decent synchronisation between Qt application and Arduino when programming the Eprom.
  • Increased communication speed with Arduino to 115200 bauds.

About

Programmer for EPROM 27C series (16-1024) based on Arduino

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 85.0%
  • Makefile 5.8%
  • Tcl 3.1%
  • Python 3.1%
  • QMake 3.0%