Innotica

Blog

Innotica Blog

Open-Source Hardware

27 June 2016 by Johautt Hernández

A Comprehensive Overview

Open-source hardware refers to hardware resources whose design and functional specifications are publicly accessible. Anyone with the technical knowledge and tools can program drivers, libraries, and applications for the device, or build their own copies for personal use and experimentation.

At its core, it's about creating hardware device designs and sharing them openly with anyone interested.

This approach to sharing hardware designs grows directly from the free software philosophy, which promotes the freedom to create, copy, study, modify, and distribute software in source-code form — for any purpose the end user sees fit.

That philosophy was launched by American programmer Richard Stallman through the GNU Project and the founding of the Free Software Foundation (FSF) in 1985.

Advantages and Disadvantages

Open-source hardware illustration A conceptual representation of open-source hardware.

  • Building devices under the open-source hardware philosophy connects designers with talented people around the world who can contribute meaningfully to iterative design improvements.
  • That global collaboration typically reduces design costs, since contributors usually offer testing and improvement work voluntarily.
  • It also raises the designer's profile within the open-source community, generating goodwill and a more positive reputation.
  • As open-source hardware has grown in popularity, developing under this philosophy has created economic opportunities worth serious evaluation.
  • Open-source hardware development gives nations a concrete path to narrowing the technology gap and boosting GDP through locally generated innovation capacity.
  • Open-source hardware design has driven significant advances in IoT development and experimentation.

There are disadvantages too. Not every project succeeds. Successful ones — Arduino being the prime example — arrived at exactly the right moment to meet a specific, widely felt need: a gentle learning curve, a simple and highly modular design (easy expansion via "shield" boards and straightforward I/O connectivity), very accessible pricing, and free, beginner-friendly software development tools.

Another drawback is that revenue from device sales is generally lower than it would be under a proprietary model. Once design specifications are public, anyone with sufficient capital can manufacture copies at scale; anyone with enough knowledge and tooling can build one for personal use.

That said, this dynamic also encourages healthy competition. Designers are pushed to reduce production costs and grow their offering. If the technology becomes popular enough, increased volume more than compensates for margin pressure from competing copies.

Open-Source Hardware Design Tools

Software tools for open-source hardware design A selection of leading open-source hardware design tools.

The ecosystem of open-source hardware development tools is large and growing, with new options emerging regularly — each bringing better capabilities and improved usability. Some are free software; others are freeware or offer free tiers with limitations; others require paid licenses. All of them, in different ways, support open-source hardware development.

Open-source hardware designers generally prefer free software tools, since they can add functionality and fix bugs themselves. Notable tools include:

  • FreeCAD
  • Arduino IDE
  • Intel XDK
  • Eclipse IDE
  • MPLAB-X IDE
  • KiCad EDA
  • CadSoft EAGLE
  • OrCAD
  • Proteus Design Suite
  • NI Multisim
  • LTspice
  • Quite Universal Circuit Simulator (Qucs)
  • MATLAB and Simulink
  • GNU Octave

We'll take a closer look at several of these in upcoming posts.

Community-Designed Open-Source Hardware Platforms

A few standout examples of open-source hardware show what the community can build when the conditions are right. These platforms remain widely used today and gave their developers the resources to keep investing in new devices — with more advanced features or even lower price points.

They've also served as friendly entry points for countless people discovering electronics and embedded systems programming, sparking creativity and enabling genuinely interesting projects. Here are two worth knowing:

Arduino UNO development board Arduino UNO, one of the world's most popular open-source hardware platforms.

Arduino UNO is a small, rectangular development board — typically blue — built around the Atmel AVR ATmega328 microcontroller. It features two rows of interface pins: 14 for exclusively digital I/O signals, 6 for digital I/O and analog inputs, 1 for the analog reference voltage, 1 for the reset signal, 3 for ground, 1 for 5 V, and 1 for 3.3 V.

Based on the ATmega328, the board provides 32 KB of program memory (Flash), 2 KB of temporary data storage (RAM), and 1 KB of EEPROM. Its clock speed is set at 16 MHz (though the ATmega328 supports up to 20 MHz per its datasheet). Power can come from a USB connection to a computer, an AC-DC adapter, or a battery connected to the barrel connector — with a recommended input voltage of 7–12 V through that connector.

Programming and serial communication are handled over USB, using an onboard ATmega16U2-based serial-to-USB adapter.

The Arduino UNO — and all other Arduino and compatible boards — use those two pin rows to interface via jumper wires with external devices or with expansion boards called Shields. Shields extend the board's capabilities, enabling interaction with hardware using different communication protocols, controlling power delivery, and driving other high-power devices, among other functions.

Embedded Systems

Raspberry Pi embedded system Raspberry Pi, one of the best-known open-source embedded systems.

An embedded system is a microprocessor-based system designed to perform specific functions. It resembles a motherboard in many ways, with one key difference: it is not built for general-purpose computing.

On a personal computer, a user can switch from watching a video to editing a document in seconds. An embedded system doesn't work that way — it's pre-programmed to carry out defined tasks. Users can interact with it, but they can't reassign its core function the way they can with a PC.

These boards typically integrate the microprocessor alongside communication modules and peripheral interfaces on a single board.

Some of the most widely known embedded systems include:

  • Raspberry Pi
  • BeagleBone
  • pcDuino
  • Intel Edison
  • Intel Galileo

These platforms in particular are capable of running lightweight PC operating system distributions, which means they can be programmed in high-level languages like Python.

Open-Source Hardware in Home Automation

Home automation system built on open-source hardware Open-source hardware makes it possible to prototype home automation systems at a fraction of the cost of proprietary solutions.

Open-source hardware devices and tools are well suited for proof-of-concept testing of sensors and actuators. They also allow simulation of field equipment behavior — all at a significantly lower cost than equivalent proprietary home automation technology.

Another compelling application is building a custom home control and monitoring system from scratch, with the robustness and security considerations needed to prevent accidents or unauthorized access.

There's still a long road ahead before truly robust turnkey solutions emerge from this space. But the direction is clear — even large players like Echelon are betting on it. This is a trend worth watching closely.

Luis Güette and Johautt Hernández

Written by:

Johautt Hernández

Tags

Enjoyed this article?

Subscribe to get content on automation, sustainability and technology delivered to your inbox.

Have a project in mind?

Tell us about your next project and discover how we can help with automation, sustainability and digitalization.