RushSPI

From Random Projects
Revision as of 17:53, 25 November 2012 by CodeRush (talk | contribs) (Created page with "thumb|200px|right|RushSPI v0.1 <div style="margin-top:0.5em; margin-bottom:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#efefff; align:ri...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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

Will be added later

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 converter is also an option, as well as JTAG header.