openbiosprog-spi, a DIY Open Hardware and Free Software USB-based SPI BIOS chip  - Page 1
Forum section: electronics / projects

author: Uwe Hermann
author_rank: Contributor
timestamp: September 03, 2010, 07:55:42 am
content: Hi guys,let me announce a little Open Hardware / Open-Source electronics and PCB design project I have finished recently: openbiosprog-spi, a small USB-based programmer hardware for SPI BIOS chips as found in recent mainboards, network cards, graphics cards, and other stuff.The user-space source code is part offlashrom(GPL, version 2), the schematics and PCB layouts are licensed under the CC-BY-SA 3.0 license and were created using the open-sourceKicadEDA suite (GPL, version 2). Nope, no Eagle for me as I don't use closed-source software, kthxbye.The main use-case of the device is to help you recover easily from a failed BIOS upgrade (either due to using an incorrect BIOS image, due to power outages during the flashing process, or whatever). The device only supports SPI chips, as used in recent mainboards (in DIP-8 form factor, or via manual wiring possibly also soldered-in SO-8 variants). It can identify, read, erase, or write the chips.The device uses the FTDI FT2232H chip as basis for USB as well as for handling the actual SPI protocol in hardware (MPSSE engine of the FT2232H). The PCBs are 44mm x 20mm in size, 2 layer, 8 mil traces, 0603 SMD components on both sides.I have put up a lot more photos and information such as the bill of materials, the Kicad settings I used for creating the PCBs, the Gerber files and the Excellon drill files etc. on the main projects page:http://randomprojects.org/wiki/Openbiosprog-spiSome more info is also available inmy blog post about openbiosprog-spi.Note that this is my first "real" electronics project, and also my first Kicad project (and I'm quite happy with Kicad btw). So if you spot any stupid mistakes I have made in the schematics or layout, please let me know.Uwe.

author: DJPhil
author_rank: Frequent Contributor
timestamp: September 03, 2010, 01:29:08 pm
content: Very nice!I love all the documentation, and I'm a big fan of KiCad too.

author: Uwe Hermann
author_rank: Contributor
timestamp: September 03, 2010, 04:24:32 pm
content: Hi,Quote from: shafri on September 03, 2010, 01:52:08 pmWhat exactly do you mean with "flash reader"? This one can read NOR flash which speaks the SPI protocol. I also plan to do other hardware which can support LPC or FWH or parallel NOR flash, and possibly yet another hardware which will support NAND flash to some degree. This is not yet finished though, and will also not be based on the FT2232H as it would be horribly slow (SPI is only doable because the FT2232H supports it in hardware, which is not the case for LPC/FWH for instance).Uwe.

author: Uwe Hermann
author_rank: Contributor
timestamp: September 03, 2010, 05:01:04 pm
content: Quote from: shafri on September 03, 2010, 04:41:45 pmThe current openbiosprog-spi only supports SPI chips and I use theflashromsoftware on the PC to control the device.Spansion parallel NOR flash is likely in the DIP-32 or PLCC32 package and is not supported by this hardware, but I plan to build other hardware which can support it. However, it might be simpler and faster for you to just use an old mainboard which has this type of chip, and use the "flashrom" software to abuse your mainboard as "programmer". The list ofmainboards supported by flashromis pretty long and new boards are getting added on a regular basis.And yes, you can hot-swap BIOS chips in desktop mainboards without any issues, I do it all the time (it's not so trivial on laptops due to various issues, though).Uwe.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 03, 2010, 05:43:28 pm
content: Was it really necessary to make this so so small that it needed 0603's and double-sided assembly?

author: Uwe Hermann
author_rank: Contributor
timestamp: September 03, 2010, 06:36:01 pm
content: Quote from: mikeselectricstuff on September 03, 2010, 05:43:28 pmWell, "necessary"? No. But desirable, of course. Bigger PCBs means higher cost, and I just generally like smaller devices. Are you asking because you think 0603 is hard to solder by hand? Well, it's not. And the 64-pin LQFP is also not hard to solder. And I'm saying this as someone who is really a beginner at soldering. Soldering small SMD parts sounds more scary than it actually is, really. Watch one or two Youtube videos on SMD soldering, experiment on 1-2 random dead PCBs and you should be fine.Uwe.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 03, 2010, 10:41:45 pm
content: Quote from: Uwe Hermann on September 03, 2010, 06:36:01 pmI appreciate that, and I can happily hand-solder 0402's, but there are a lot of people out there who can't. For a project targetted at the DIY/Open Source community, ease of assembly is more of a consideration than for a commercial product assembled on a pick/place machiine.There is a significant jump in requiired soldering competence between 0603 and 0805 - bear in mind people have varying degrees of manual dextrity, eyesight and patience.Double-sided is less of an issue for hand assembly, although it's always easier to work one a PCB with a flat underside, but in a commercial situation, the additional assembly cost of double sided assembly can often outweigh the PCB size advantage.