Skip to content


Repository files navigation

SPI Isolator

This is a PCB for allowing arbitrary motherboards
to have their SPI flash chip isolated from the
motherboard when powered off (or via control signal), 
to allow external (ISP) programming.

KiCad sources are in the repo, but
for simple purchasing, there's the PCB shared in oshpark:

And the parts list:		- Example URLs
R1, R2: 4k7 0805 resistor	-
C1: 1u 0805 capacitor		-
D1: schottky SOD-323 diode	-
U1: 74LVC4066			- ,
P2: 2x4 IDC header		-
U2: SO-8 SPI flash chip		-

Oh, and if you like this, pizza money donations are accepted via paypal:
urjaman at gmail dot com.

Known unsupported: Quad I/O. If you have a motherboard that needs that, message me,
for a small donation I could make a version that supports Quad I/O ;)

Build Howto and Usage (beta, untested)
solder the components on the PCB, a probably fine order is
starting from the underside first...
remove the flash chip from the target machine, and attach the
PCB as near as possible to its layout (maybe with double-sided tape),
but not over the layout.
Connect small (patch, "green wire") wires from the 6 places
on the edge of the PCB to the layout

the 2x4 ISP connector is compatible with the one in the PC Engines
APU series, so if you have an ISP lead for them, it should work
for this, otherwise, the pinout is:
3V3 1 2 GND
!CS 3 4 SCK
 SO 5 6 SI
--  7 8 buffer en/!dis

NOTE: The 160129 version was not compatible with the APU pinout
(which is a dediprog programming pinout), the MOSI and MISO were accidentally

The analog switch/buffer is normally controlled by 
the 3V3 power on the motherboard, so the chip is externally
programmable when the motherboard 3.3V supply is OFF

The buffer control line is an extension to the APU
connector (it had nothing there), that can be used 
to program externally even if the target motherboard
is running. To do that, connect pin 8 of the ISP header to ground,
but preferably not too hard;
if you connect the header the wrong way around and there is some other
ground connection between the programmer and the motherboard (eg. RS232),
this would connect the 3V3 line to ground.
So a suggested safer circuit is:

pin 8 - 50 ohm - switch - pin 2 

With parts for this extension:


No releases published


No packages published