EEPROM_programmer

Public

@alireza2317

Download board files

Files for version 1. Pick what you came for.

Share EEPROM_programmer

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading 3D model… large boards can take a moment.

README

Arduino EEPROM Programmer (28C16)

A custom PCB shield and Arduino firmware designed to program 28C16 Parallel EEPROMs.

This tool is essential for projects like the Ben Eater 8-bit computer, allowing you to burn microcode or 7-segment display logic into non-volatile memory without manually toggling dip switches.

🔌 Hardware Design (KiCad)

The gerbers/ and root directory contain the full design files for a custom PCB that fits on top of an Arduino (or connects via headers).

  • Chip Support: 28C16 (2K x 8-bit Parallel EEPROM).
  • Design Tool: KiCad (Schematic & PCB files included).
  • Status: Production-ready Gerber files are available in the gerbers folder.

📸 PCB Preview

💻 Firmware (Arduino)

The C++ code in arduino_programmer/ handles the write cycle timing and address management.

Key Features

  • Write Cycle Control: Manages the Write Enable (WE) and Chip Enable (CE) pulses required by the 28C16 datasheet.
  • 7-Segment Decoding: By default, the code includes a lookup table to program the EEPROM with hexadecimal digits (0-9) for a common-cathode 7-segment display.
  • Customizable: You can modify the data array to burn any microcode instruction set.

🚀 Getting Started

1. Fabrication / Wiring

You can either:

  • Order the PCB: upload the zip gerber files to a PCB manufacturer (JLCPCB, PCBWay, etc.).
  • Breadboard it: Follow the pinout defined in the arduino_programmer.ino file to wire the EEPROM directly to the Arduino digital pins.

2. Flashing

  1. Open arduino_programmer/arduino_programmer.ino in the Arduino IDE.
  2. Connect your Arduino.
  3. Verify the pin definitions at the top of the file match your wiring.
  4. Upload the sketch.
  5. Open the Serial Monitor (57600 baud) to see the programming status.

⚠️ Important Notes

  • Timing: The 28C16 requires a specific write pulse width (usually < 1ms). The code handles this, but check your specific datasheet if using a different variant (e.g., 28C64).
Comments

No comments yet. Be the first to ask about this board.

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.