We are all familiar with open source software by now with programs such as the versioning/backup manager Git, the web browser Firefox, and of course almost all distributions of the Linux operating system. But what exactly makes open source hardware different?
Open source hardware can be either a physical object such as the ever popular Arduino boards, or something slightly more intangible, like a softcore CPU. Even the car company Tesla has contributed a large amount to the open source hardware community as they have made a made all of their patents public, and can be searched online. For the physical object, the schematics are publicly available, which is similar to the source code being available to edit and download. It is completely possible to create your own Arduino board, as there are numerous clones available. The parts distributor Mouser has a list of available open source hardware boards to purchase, or learn about.
The Arduino Uno R3 microcontroller development board. One of the many Open Source Hardware boards available.
Currently, there are two kinds of licenses for open source hardware: copyleft and permissive. When the idea of open source hardware came about, it was going to cover electronic devices and mechanical designs but has spread to cover much more than just that. As quoted from the Open Source Hardware Association's website,
“Open-source hardware has been applied to fashion, furniture, musical instruments, farm machinery, bio-engineering and much more.”
Where Does the Intangible Side of Electronics Fit in?
As FPGAs can implement a seemingly infinite amount of different devices, it is quite possible to create custom CPUs and program them onto such a device. This area blends the boundaries between hardware and software, as these processors are written in hardware description languages, and then compiled to be put onto an FPGA. An example of using a hardware description language to implement hardware is outlined in this article: Implementing a Finite State Machine in VHDL
One of the major FPGA manufacturers, Altera, has their own softcore CPU called the NIOS II. However, it is not open source. One website, OpenCores, has a large amount of projects for open source hardware devices such as processors, cryptography cores, arithmetic cores, video controllers, etc. It would be possible to learn from these examples and create an entirely new architecture to be used, or use an open architecture like OpenRISC.
Why is the Open Source Community so Important?
Open Source Hardware can bring much more to the table to innovation, as it isn’t limited to a single medium; nearly any physical item that can be created can be part of the Open Source Hardware Community. With this different outlook than previously done with physical items, people can study how things work to a more exact level instead of trying to reverse engineer it. It would also be easier to modify the respective object to one’s liking, as it is easier to figure out how to add or subtract different parts with adequate documentation. The Open Source Hardware Association explains how open source hardware works and its importance in the video below.
Most of all, as we have seen with the Arduino community, one device can expand into a huge number of different devices for people to create their own devices that build on the previous iteration without worrying about getting into legal troubles. One can search a 3D object file, improve it, upload and the cycle can repeat multiple times which can vastly improve the quality than a single person, or company, over years of research. The open source community should welcome such a great inclusion.
You can find a list of more open source hardware platforms on Wikipedia.