The Zerocat Chipflasher
Let’s create trustworthy hardware on our own! The free-design Propeller microchip empowers us to do so. For example, we build up a clean toolchain for reflashing other devices. We delete proprietary firmware of laptops and write coreboot or libreboot free firmware replacements into BIOS-chips. Currently, we are liberating the ThinkPad X200/X200s and ThinkPad X220 Laptops using our Zerocat Chipflasher, thus avoiding the commonly used Beagle Bone Black or Raspberry Pi.
Fully documented, freely licensed
You may browse the sources in advance, for we have generated our documentation for you with doxygen. The chipflasher's git repository is available as well. We invite you to clone it to your local drive like so:
$ git clone git://zerocat.org/zerocat/projects/chipflasher
Read the README.md in
chipflasher/doc/ to get started.
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
If you need another free license, please get in contact.
Easy to use
The Zerocat Chipflasher is meant as a Do-It-Yourself project (DIY).
It is easy to use and easy to build. Some advanced practice in soldering
will be necessary when you want to access a WSON packed BIOS chip.
For SMD packed chips, you may use a test clip.
Systemboards that have their BIOS-Chip packed in a WSON package need
careful soldering with a thin tipped iron.
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 | +---------+ : | ZC-X60 + |<--RS232 data-->| Chipflasher |---+3.3V-->| SPI | : | Docking | | |<---SPI--->| Chip | : | |----+-+5V-USB-->| firmware: | +---------+ : | software: | / | 'kick' | : : | 'connect' |--+ +-------------+ : Systemboard : | | : without : +----------- + : Battery : : nor Power : +·············+
Easy to build
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!
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:
A first PCB Prototype
The version that ships with the tag pcb-prototype
on the master branch has been milled into copper recently in order to
prove suitability. However, using that file for production purposes is
not yet recommended. Several fixes were necessary.
Labels, pinouts and board version are directly written into the copper,
thus no descripte sticker is on the top panel. As you can see on the
photo, the superfluous copper was not erased by the CNC-mill, but has
been connected to GND afterwards (see front edge, close to the RS232
connector). To solder parts onto the top layer was extremely difficult
and tricky, and this needs to be fixed in order to make this layout
interesting for workshops or production. Note that the fully populated
board has been sealed with clear varnish.