2022-11-25 03:57:01 +00:00
|
|
|
---
|
2022-11-25 13:25:49 +00:00
|
|
|
title: Printed Circuit Board
|
2022-11-25 03:57:01 +00:00
|
|
|
description: "TommyPROM Arduino 28C256 programmer PCB"
|
|
|
|
has_children: false
|
|
|
|
nav_order: 35
|
|
|
|
---
|
|
|
|
|
|
|
|
# Printed Circuit Board
|
|
|
|
|
|
|
|
Although it was originally designed as a one-off programmer to be used on a breadboard,
|
|
|
|
there are now some PCB versions.
|
|
|
|
|
|
|
|
## 28C256 PCB
|
|
|
|
|
2022-11-25 13:25:49 +00:00
|
|
|
A PCB version for the 28C256 and 28C64 chips was built to support a SAP-1 TTL breadboard
|
|
|
|
computer. This project required a lot of burns for its microcode and the PCB version
|
|
|
|
with the ZIF socket was much quicker than prying the chips out of a breadboard without
|
|
|
|
disturbing any of the wires.
|
2022-11-25 03:57:01 +00:00
|
|
|
|
|
|
|
The [KiCad design files](https://github.com/TomNisbet/TommyPROM/tree/master/schematics)
|
|
|
|
are in the project repo.
|
|
|
|
|
|
|
|
[![TommyPROM PCB](images/TommyPROM-pcb-with-microcode-500.jpg)](images/TommyPROM-pcb.jpg)
|
|
|
|
|
|
|
|
## TommyPROM-32
|
|
|
|
|
|
|
|
A new PCB is in progress for 32-pin EEPROM and Flash chips. This design uses a set of
|
|
|
|
headers that allow any of the signals to the target chip to be re-routed. The default
|
|
|
|
configuration, with just jumper shunts installed, is wired for the SST39SF0x0 chips.
|
|
|
|
|
2022-11-25 13:25:49 +00:00
|
|
|
Many other chips, particularly if they follow JEDEC standards, can be supported by
|
|
|
|
removing shunts and adding just a few jumper wires.
|
2022-11-25 03:57:01 +00:00
|
|
|
|
2022-11-25 13:25:49 +00:00
|
|
|
Chips with fewer pins can also be supported. There are power pins in place to support
|
2022-11-25 03:57:01 +00:00
|
|
|
28-pin and 24-pin chips with a shunt to the correct VCC pin.
|
2022-11-25 13:25:49 +00:00
|
|
|
|
|
|
|
Power inputs and a switch are provided to support older flash and EEPROM chips that need
|
|
|
|
higher programming voltages. Many of these chips just need a higher voltage, like 12V,
|
|
|
|
applied to the VPP pin continuously during the programing and verification cycle. In
|
|
|
|
normal operation, the 5V VCC signal is also applied to the VPP pin. The board has VPP
|
|
|
|
inputs for two voltages. Applying 12V to __VPP In High__ and 5V to __VPP In Low__ lets
|
|
|
|
the VPP output be switched between these two voltages using a manual slide switch for
|
|
|
|
programming.
|
|
|
|
|
|
|
|
For chips that require a high voltage VPP pulse during programming, some external
|
|
|
|
switching circuitry will be needed to allow the Arduino to control the VPP voltage. There
|
|
|
|
is a header connected to the unused D13 pin that can support this. See the
|
|
|
|
[Intel 8755 version of the hardware](hardware/#intel-8755a-hardware-version) for an
|
|
|
|
example of voltage switching by TommyPROM.
|