Creating Open Hardware Tools – David Anders (prpplague), Intel


In science, open tools are created fairly often, since for experiments you often need specialised tools, and scientists share it with each other. E.g. Bunsen burner – Bunsen distributed it under an essentially open source license.
All commercial debugging tools that exist have limitations, e.g. limited OS support, price, features. Since it’s commercial, you can’t change it.
One of the first open source HW projects was LART. To be able to program it, they needed a JTAG dongle, so they also developed a parallel port JTAG dongle: Holly Gates.
Nowadays the Maker/Hacker community is booming. These people want to have a logic analyser, scope, and other tools, so there is a drive to create less expensive ones and where features can be added.
Logic Analysers: Open Workbench Logic Sniffer: FPGA based. Bus Pirate: PIC based – very limited but very cheap ($10). Saleae Logic: based on Cypress FX2 reference design. Also many Arduino based designs.
Oscilloscopes: handhelds, which are repurposed mp3 players – mostly not open source but there are a few that are (or at least where the schematics and firmware are released). Arduino-based. Kits for building your own oscilloscope.
Custom solutions, specific for the use case. E.g. TI TFP410: converts DVI to RGB. You can use this to create a DVI debug board. In general, bridge chips are a good way to create debug boards.
Shared tools. E.g. flashrom is intended to flash e.g. BIOS, led to creating little pieces of hardware to assist doing that. These have reference schematics, so if it doesn’t match your design you can use it. Similar for OpenOCD, sigrok.
To create your own simple hardware: kicad (UI is clunky but will improve now it’s the primary development tool for CERN). Eagle CAD (proprietary but free version with license limitations). Altium but David hasn’t tried it because he’s not fond of cloud applications. Its only real limitation is that you are only allowed to work on open hardware. Note that each package has their own format (though there’s an open interchange format but don’t rely on it; there are also conversion tools but they’re dodgy), but the way that kicad and Eagle CAD is that they have fairly open formats. More expensive packages make it really difficult to do version control.
Once you create something, be sure to license it, otherwise it can’t be shared! Note that you can still make money off it even if it’s open source.
Still some serious challenges in the open hardware tools.
Displays: simple LED, 7 segment, LCD: it becomes very difficult to debug. Therefore, you will need more complex boards for debugging. This leads to heavier requirements on the design software: 4+ layers, differential lines (PCIe, SATA, HDMI), matched impedance, QFN and BGA packages (difficult to solder manually).
For e.g. differential pairs, FPGA could be a solution, but the libraries to do the decoding are closed, restrictively licensed, including DRM restrictions.
If you can’t do soldering yourself, you can go to companies that take care of PCB + soldering, e.g. microfab.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s