RushSPI

From Random Projects
Jump to: navigation, search
RushSPI v0.1

RushSPI is a fully Open Hardware and Free Software USB-based programmer for SPI chips, e.g. those used as BIOS chip in recent mainboards.

The user-space source code is part of flashrom (GPL, version 2), the schematics and PCB layouts are licensed under the CC-BY-SA 3.0 license and were created using the open-source Kicad EDA suite (GPL, version 2).


This work is based on openbiosprog-spi project. Thanks to Uwe Hermann for making it possible.


This is work-in-progress project. If you have any ideas of making this project better - send me an email at schlej[at]live.de

Downloads

The schematics, PCB layouts, and other material is available from GitHub

The flashrom source code is available from:

$ svn co svn://flashrom.org/flashrom/trunk flashrom

Design

This is intended to be a simple, fast SPI chip programmer with USB interface.

  • It uses the FTDI FT232H chip as basis for USB as well as for handling the actual SPI protocol in hardware (MPSSE engine of the FT232H). This chip is new single channel version of FT2232H, it is cheaper and has internal 5V to 3.3V converter.
  • All GPIO-pins of FT232H are connected to pin header, so the programmer can be used as FT232H breakout board.
  • Attaching the SPI chip:
    • There's a DIP-8 socket on the device so you can easily insert the SPI chip you want to read/erase/program.
    • Optionally, if you don't want to use DIP-8 socket, you can use pin header to connect the chip you want.
  • The programmer can be powered from USB or from external 3.3V to 5V power source, which is needed by ISP.
  • The hardware is designed using the open-source Kicad EDA suite (GPL, version 2), and is released under the CC-BY-SA 3.0 license.
  • The software on the host side is flashrom (GPL, version 2).
  • The PCB board dimensions are 40mm x 30mm with elements only on top side.

Usage

Identify the SPI chip: flashrom -p ft2232_spi:type=232H

Read chip contents: flashrom -p ft2232_spi:type=232H -r dump.rom

Write chip contents: flashrom -p ft2232_spi:type=232H -w bios.rom

See the respective flashrom page (or consult the flashrom manpage) for details.

Schematics and PCB layout images

Bill of materials

Qty Device Footprint Value Refdes Mouser CSD Comments
1 FTDI FT232HL LQFP-48 IC1 3.87€ USB 2.0 Hi-Speed (480Mb/s) to UART/FIFO IC. Datasheet
1 DIP-8 socket DIP-8, 300 P2 0.231€ 0.10€ Socket for SPI chip. 2.54mm pitch, 10.03mm x 10.16mm, row distance 7.62mm
1 Mini-USB B
connector
custom CON1 1.57€ 0,26€ Female Mini-USB connector, Type B, 10mm x 3,95mm x 9,2mm. Mouser: Molex part no. 0548190572, Drawing. The CSD one has a slightly different footprint, but made the Kicad footprint generic enough to work for both
1 Crystal HC49-US 12MHz X1 0.27€ 0,1856€ Non-SMD one
1 Ceramic capacitor 0603 10nF C6 0,05€ 0,0035€ Any voltage above 6.3V is fine
2 Ceramic capacitor 0603 27pF C2, C4 0,05€ 0,0048€ Any voltage above 6.3V is fine
6 Ceramic capacitor 0603 100nF C1, C3, C5,
C9, C10, C11
0.05€ 0.002€) Any voltage above 6.3V is fine
2 Ceramic capacitor 0603 10uF C7, C8 0,074€ Any voltage above 6.3V is fine
1 Resistor 0603 1k R3 0.025€ 0.0008€
2 Resistor 0603 4k7 R4, R5 0.05€ 0.0023€
1 Resistor 0603 10k R1 0.017€ 0.0012€
1 Resistor 0603 12k R2 0.041€ 0.0023€ Should be 1% precision ideally
1 Chip ferrite bead 0603 600Ω, 500mA L1 0.314€
2 ESD suppressors 0603 FB1, FB2 0.256€ Optional but recommended
1 LED 0603 D1 0.067€ 0.0618€ Power LED. Choose any color you like. Play with the value of R3 to make the LED more/less brighter
2 Jumper 2x1 JP1, JP2 0.124€ 0.004€
1 2x14 pin header 2x12 P1 1.32€ You must remove pins 3 and 4 from it on assembly.
1 2x1 pin header 2x1 JP2 0.19€ I have bought this 2x20 header from CSD and made 2x14 and 2x1 from it using a sharp knife

Note 1: All prices are for 1 piece. If you buy more, it gets a lot cheaper usually.

Note 2: Prices from Mouser do not include German VAT ("Umsatzsteuer"). Mouser offers free shipping for orders above 65€, otherwise it's 20€ shipping. Mouser handles customs fees for you, which means less hassle.

Note 3: CSD prices do include German VAT already. Shipping is 4.85€ usually, you get free shipping on orders above 60€. No customs fees involved if you're in Germany, of course.

PCB manufacturing

I have ordered 11 boards from PCB-POOL, as Uwe did in openbiosprog-spi. Read there about Kicad data export and PCB-POOL ordering process.

Assembly

Nothing special, just soldering. I have used solder paste and SMD rework station to solder SMD parts and FT232. Photos of assembled boards will be added later, when I manage to take good ones.

Upcoming v0.2

I'm thinking of adding level shifter and LDO converter to make the programmer compatible with 1.8V and 5V SPI chips. Additional ZIF SOIC8 socket is also an option, as well as JTAG header.