Let’s create trustworthy hardware on our own, the free-design Propeller microchip empowers us to do so! When it comes to flash a coreboot or libreboot laptop, we are now using Zerocat’s free-design chipflasher as part of a quite clean & free toolchain. Commonly used flashers like the Beagle Bone Black or Raspberry Pi with chips of a proprietary design can now be avoided.
Certified to Respect Computer Users’ Freedom
This version of the chipflasher had been certified to respect computer user’s freedom by the Free Software Foundation. The foundation’s announcement as of May 2018 still is available online, and it clearly points out the project’s significance.
Easy to use
The Zerocat Chipflasher is meant as a Do-It-Yourself project (DIY). It is easy to build and easy to use. For SMD packed chips, you may use a test clip.
Flashing a Gigabyte GA-G41M-ES2L Desktop Board
Some advanced practice in soldering will be necessary when you want to access a WSON packed BIOS chip as this requires careful soldering with a thin tipped iron.
Accessing a BIOS Chip in WSON Package
Once everything is setup, the firmware’s menu offers you essential tools
to alter your chip. Here an invocation example of
make -f Startfile.mk startram with immediate quit:
Software Invocation Example with immediate Quit
The chipflasher’s USB port is used for power only, thus the typical setup is with a host that has an RS232 serial port available for data communication. We recommend a ThinkPad X60 with Libreboot-BIOS and docking station for that.
+------------+ +-------------+ +·············+ | Host, i.e. | | Zerocat | +---------+ : | X60 + |<--RS232 data-->| Chipflasher |---+3.3V-->| SPI | : | Docking | | |<---SPI--->| Chip | : | |----+-+5V-USB-->| firmware: | +---------+ : | software: | / | 'kick' | : : | 'connect' |--+ +-------------+ : Systemboard : | | : without : +----------- + : Battery : : nor Power : +·············+
The chipflasher’s git repository with sources and documentation is publically available for download. We invite you to clone it onto your local drive like so:
$ git clone git://zerocat.org/zerocat/projects/chipflasher
Please checkout the proper tag:
$ cd chipflasher $ git checkout board-edition-1
In general, we use a free license like this:
- GNU GPLv3 (or any later version) for code
- GNU FDL 1.3 (or any later version) for documentation
- CC BY-SA 4.0 international license for graphics and photos
- Zerocat Logo License for logo files and modified versions
If you need another free license, please get in touch.
Easy to build from Scratch
The chipflasher's circuit intends to be as simple as possible and it should be easy to set up. However, some practice in soldering may be necessary. Don't forget to use a socket for the P8X32A, you may want to use it for your homebrew projects as well.
For your convenience, cable wirings are listed in an extra file, as well as pin layouts of typical target BIOS chips. These are important, for you absolutely must not get confused with power and ground lines!
Cables and typical SPI Chip Pinouts
Printed Circuit Board Layout
There is a PCB layout file available as well, which has been created with PCB, the Printed Circuit Board Layout Editor. See this graphical snapshot to get the idea of the current status:
Chipflasher PCB Layout "board-v1.1.0" (Still in Use)
Manual Bug Fix
We recommend to fix a non-critical bug manually: The unused input of the RS232 driver should be tied to GND.
Manual Bug Fix: Unused Pin should be tied to GND
First Chipflasher Edition
Some first PCBs have been sponsored by Oliver Thamm from Elektronikladen for the Zerocat Booth at the Maker Faire Berlin 2017. Right after, we used these boards to manufacture the first chipflasher edition, labelled as board-edition-1. These devices are now available from Zerocat’s Online Shop along with an 80mm Source Code CD and a Pomona SOIC16 SMD Clip.
Chipflasher “board-edition-1” and Standard DIY Accessories
Chipflasher in Stock
The chipflasher setup consists of a laptop, the chipflasher itself, and a bare systemboard used as the target, in most cases. This setup involves a variety of unshielded routes and will generate electromagnetic radiation.
When testing the setup in free air, electromagnetic disturbances should not be recognizable in a portable AM and FM analog radio device if a minimal distance of 4 meters towards the setup is maintained.
In practice however, we recommend to operate the flasher indoors only. Use a separate room, close doors and windows. Make sure your neighbours don't get disturbed, radiation is easily carried along water pipes, for example.
A more elaborated elemination of radiation can be accomplished by putting the entire setup – laptop, flasher, target board – into a simple self-made Faraday Cage as depicted below.
Inside the Faraday Cage
Use a long wooden board, wide enough to carry a laptop and long enough to carry the entire flash setup attached to it. Screw flexible stripes of plastic to the edges in order to create a skeleton roof construction. Finally, wrap the construction with household aluminium foil, using multiple layers. Inside, the laptop is operated with its lid closed due to spatial constraints.
Generally spoken, the device does not generate electromagnetic emissions that would exceed a level allowing radio and telecommunication equipment and other equipment to operate as intended. However, electromagnetic disturbances may occur in its close environment.