Free and open source software are no good without open hardware. If we can’t install our software on a piece of hardware, it’s not good for anything. Truly open hardware is fully-programmable and replicable.
OSHWA
So what is open hardware, exactly? OSHWA, the Open Source Hardware Association, defines it as:
“Open source hardware is hardware whose design is made publicly available so that anyone can study, modify, distribute, make, and sell the design or hardware based on that design. The hardware’s source, the design from which it is made, is available in the preferred format for making modifications to it. Ideally, open source hardware uses readily-available components and materials, standard processes, open infrastructure, unrestricted content, and open-source design tools to maximize the ability of individuals to make and use hardware. Open source hardware gives people the freedom to control their technology while sharing knowledge and encouraging commerce through the open exchange of designs.”
That’s a lot of words to say something we used to take for granted, that when we purchase an item it is ours to do with as we please: take it apart, combine pieces from multiple items to build Frankengadgets, make yard art, smash it, improve it, sell it… all without incurring the wrath of the intellectual property police. Times have changed, and vendors in their vast paranoid wisdoms prefer to treat us as thieves hell-bent on stealing their preciouss eye pee. Fortunately, not everyone is like that, and there are hardware manufacturers who produce excellent open hardware.
Knowing how to type with your thumbs and take selfies doesn’t make you a techie; knowing how to code and design the gadgets that other people thumb-type on makes you a techie. The following projects are educational, teaching electronics and embedded programming, and are useful in the real world.
Raspberry Pi
Is there anyone who has not heard of the Raspberry Pi? This little board started as a humble $25 educational tool, and grew into a nice ecosystem of add-on modules. You can get a cell phone board, touchscreen, camera module, comm boards, networking, and tons more. There are multiple operating system images to choose from, including Pidora (based on Fedora), Raspbian (Debian), Openelec (XBMC), and a RISC OS.
The Raspberry Pi itself is not very open. It is not designed to be cheaply or easily replicable: you can’t get schematics, its ARM Broadcom processor is not available for sale in small quantities and requires a number of closed-source binary blobs, and building one requires expensive automated tools. But that may change as Broadcom released an open graphics driver, and one of the goals of the Raspberry Pi project is a completely blob-free future. In my needlessly-humble opinion this is an example of why it is better to make the best start you can with what you have, instead of waiting for all the perfect pieces to fall into place first. Because they won’t; it takes momentum to make things happen.
OLinuXino
The OLinuXino project is similar to the Raspberry Pi, but it is completely open. You can have all of the CAD files and sources to make and sell your own OLinuXino boards, and to modify them however you want. There are several models of the OLinuXino, each series powered by different microcontrollers. The first model uses the Freescale i.MX233 ARM9 multimedia processor, which comes with source code, documentation, and build and design tools. Then came the A13 model, which has the more powerful Cortex-A8 processor. Other options are the A10 Cortex-A8, A10S, dual-core A20, and the Texas Instruments Sitara AM3352.
The OLinuXino boards are designed to do real work, and to survive industrial environments. They support color graphics, networking, USB, GPS, RFID, all kinds of sensors, and audio. These are great boards for learning the internals of circuit board design, and for putting to work in all kinds of applications.
Arduino
And now, my personal favorite, the Arduino. Arduino, like the Raspberry Pi and OLinuXino, is a cool little inexpensive single-board computer that comes in various configurations, and has a multitude of add-on modules. Arduino is especially strong in sensors. You can get sensors for an amazing variety of applications: rangefinders, gyroscopes, light sensors, magnetic field sensors, accelerometers, potentiometers, audio sensors, tilt sensors, touch sensors, optical, fingerprint, temperature, infrared…you name it. Sensors turn a boring, static computer into a device that responds to changing conditions, and that is capable of automating all kinds of complex jobs.
BeagleBoard
BeagleBoard is yet another variation on the small fanless single-board computer theme. It runs Android, Ubuntu, and Debian, so you can use your favorite programming languages and build tools. It’s about as open as it can be, with all source code, production, schematic, and CAD files readily available.
RepRap 3D Printer
The RepRap 3D printer is a general-purpose self-replicating manufacturing machine. The RepRap reproduces itself by printing a kit of its own parts. Assemble these parts, and you have a 3D printer. Though it’s not quite there yet, as the RepRap needs a steel framework, stepper motors, sensors, and electronic controllers (such as the Arduino). Maybe someday we will have desktop steel foundries. Hey why not? But it’s a good start. The idea is to distribute the plans and schematics, and then individuals or communities can cheaply build their own 3D printers.
The potential for RepRap and 3D printers to upend the means of production is huge, putting control in the hands of individuals for a low cost. It should reduce the cost of custom runs, and speed up prototyping exponentially because you don’t have to retool to make changes, but just change a few lines of code.
Open Prosthetics
Linux.com has written several pieces about the Open Prosthetics Project. This is a field perfectly-suited to open source, but founder Jonathan Kuniholm says they are having trouble attracting contributors. The traditional development and sales model of prosthetics pretty much guarantees they’ll be horridly expensive, so too bad if you don’t have great insurance or lots of money. If you’re looking for a way to make your mark in FOSS and want something a little more meaningful than yet another Ubuntu respin, give the Open Prosthetics Project a look.
OpenROV Submarine
Want to go boldly underwater? There are tons of great open source robotics projects; OpenROV caught my eye because I love the idea of remotely exploring underwater. Puget Sound is one of my very favorite places on Earth, but it’s deep, dark, cold, and full of tricksy currents. And stinging jellyfish and orcas and sharks.
You can buy an OpenROV kit, assemble it, and go drop it in some water. But the documentation has some missing pieces, and of course the real fun is hacking and modifying, and then sharing your hacks.
Open Source Cell Phones
Some of the biggest, beastliest barriers to hacking and controlling our own stuff are in mobile phones. We’ve been hearing the same excuses about needing extreme lockdown and vendor control to protect the network since Alexander Graham Bell’s time. It’s a bunch of bushwah; allowing the rabble to freely roam the Internet hasn’t brought it down, and if cell networks are so delicate that wayward users can damage them, then they need to be hardened. As far as I am concerned the telcos have abused the public interest and forfeited trust, so I’m all for anything that might provide an alternative.
An open source mobile phone is still vapor. There have been several open cell phone projects such as Openmoko, TuxPhone, OpenBTS, OsmoBTS and GTA04. Openmoko and TuxPhone are defunct, and GTA04 succeeds Openmoko. One of the hurdles is the cost of the hardware, because cell phone users are accustomed to getting subsidized phones for free or very cheaply.
Another hurdle is getting access to a cell network, which is not something you can just hop on like the Internet. The OpenBTS project is addressing this by creating a new type of wireless network. It routes phone calls over the Internet, and serves any endpoints– GSM, LTE, or UMTS– because they appear as SIP devices to the network. It’s an ingenious use of existing IP protocols and the Internet, though it’s still using telco infrastructure. This could be the perfect marriage with an open source cell phone that users control, and can add encryption and other protections just like a PC.