Five open source hardware projects that could change the world
By Andrew Back
Open source hardware is increasingly making the news, as Ford partners with Bug Labs to “advance in-car connectivity innovation”, thousands of US Radio Shack stores start stocking Arduino, and Facebook releases the plans for energy-efficient data centre technology via Open Compute. But could it change the world? Andrew Back takes a look at five projects which just might.
Imagine a machine that could manufacture the components of your next gadget, and all you had to do is download 3D computer models and it would make them by joining materials together. This manufacturing process is known as rapid prototyping (RP) and has been around since the late 1980s, but up until recently machines that use it have been costly, with prices starting in the tens of thousands of pounds.
In 2004, Bath University's Adrian Bowyer wrote an essay entitled Wealth without Money in which he proposed an RP machine that would “self-copy, but not self-assemble”, going on to state that the design must be provided with it so that it can be copied and improved upon. These details were a master stroke and meant that one machine would be able to print out parts to make another, or new parts based on an improved design and that would be used in its own upgrade.
Bowyer had intended simply to put an idea out there but fortunately colleagues persuaded him to run a project to develop the machine. By early 2007 the first replicating rapid prototyper, RepRap for short, was born. With parts printed using a commercial RP machine, it was only a matter of months before a second RepRap had been assembled from parts printed using the first. Only four years later the size of the RepRap population was estimated at around 4,000 machines, not including derivatives such as the 3,500 or so that had been produced by MakerBot Industries alone.
The total cost for the materials required to build a RepRap is quoted as being an incredible €350, but in practice this is dependant upon you being able to find someone to provide you with a set of the printed parts at cost. Even if you have no option but to pay a premium for these, the RepRap still meets its goal of being highly affordable, and as the number of machines in existence grows the market price for a set of printed parts should come down.
It must be pointed out that the current generation RepRap is only capable of printing plastics, but most of the non-printed components used in its build are commonly available items such as steel threaded rod, bearings and stepper motors. Control electronics are also required, but these are reasonably simple and various options are available. And although it's very early days, work is under way to develop support for printing circuit boards and even electronic components.
RepRap's open source design laid the foundations for a vibrant community developing modifications, enhancements and derivative machines. Such as a version that makes use of laser cut parts and that can be used as a “bootstrap system” in the absence of access to an existing 3D printer. Sites such as Thingiverse host a mind-boggling selection of user-contributed 3D designs for everything from anime figures and sculpture, to the body for a quadracopter and a case for an Arduino.
Now that you've printed out the mechanical components of that gadget, you'll need some electronics to bring it to life, and what better way than with an open source computer designed for prototyping and embedding in larger projects. Arduino takes the form of a compact circuit board providing easily programmed hardware that enables control of all manner of inputs and outputs, such as sensors and actuators and buttons and displays, and is low cost and extremely versatile.
On paper the Arduino hardware is nothing special and an entry-level board comprises little more than a reference design for an 8-bit processor. There is no shortage of “development boards” of a similar nature, so how did something AVR-based gain so much ground over boards built around long-established hobbyist favourites such as PIC and BASIC Stamp?
The key to Arduino's success lies not in the choice of processor but in its price point, and the fact that it is very easy to use and highly-extensible. At around £20 for a basic board it's not the end of the world if by accident you apply too high a voltage to an input or short circuit an output. Upon installing the IDE you can be up and running in no time, and receiving almost instant gratification as you compile example code and have the Arduino perform simple actions such as blink an LED or read an input. The modular nature of the system and its open source design has led to the creation of a rich marketplace for add-ons and compatible designs, with an incredibly enthusiastic community of developers contributing tutorials and video blogs, and example code and circuits for every imaginable application.
An Arduino can be connected directly, or with minimal support components, to a wide variety of devices. These include light sensors, buttons, dials, LEDs, LCD displays and buzzers. For applications with more complex requirements it can be extended via Arduino "shields" – add-on modules that are provided with power and access to the Arduino's inputs, outputs and peripheral bus. These are based on a simple, stackable format that is easy to design for, and shields are available that add everything from Ethernet or a GPRS modem, to a Geiger counter.
You don't have to use the Arduino IDE to develop applications – a combination such as Eclipse and avr-gcc can be used instead. However, the official IDE provides a turnkey solution and one that is far less daunting for those that are new to software development. The language used is Wiring-based and is essentially a simplified version of C++ with bundled libraries that provide a selection of easy to use functions for things such as maths, communications and I/O. Drop-in libraries accompany many shields to provide generic capabilities such as networking, and add new functions which bring ease of use to the additional hardware.