This is a "universal" programmer intended for various 8-pin chips:
- I2C EEPROM chips, for example 24LC02B and AT24C64D
- SPI EEPROM and Flash chips, for example M25P16 and W25Q128
- Microwire EEPROM chips, for example 93AA66C
- Some microcontrollers, for example ATtiny85.
The architecture of this programmer is somewhat based on those high end universal programmers: a USB MCU interfacing the computer, and an FPGA routing signals to the pins of the target chip. This specific implementation used a STM32F103CBT6 as the USB MCU, and a XC2C32A CPLD as the routing chip.
The hardware allows the programmer to interface any chip that:
- In a DIP-8 package, or can be adapted to this pin layout using adapters,
- Operates with 3.3V power on pin 8,
- Operates with ground on pins 4 or 5,
- Operates with 3.3V LVTTL logic levels,
Additionally, if I2C is used on pins 5, and 6, an external bypass can be used to allow faster I2C access.