Hardware Reference
In-Depth Information
Arduino ecosystem take many different forms: some specifically relate to the open source
nature of the Arduino hardware, others reflect its open source software, and still others are
based on more traditional business factors. As a co-founder of Arduino, I've witnessed
many of these stories over the years. This case study attempts to make sense of the lessons
of Arduino for open source hardware and personal manufacturing.
Because the original Arduino circuit boards are relatively simple, were created with a
low-cost circuit design tool (Eagle), and use widely available parts, it's relatively straight-
forward for someone to make their own versions of them. This has led to a proliferation of
Arduino derivatives, with a number of different modifications. These boards reveal an
open source hardware ecosystem with a very different structure than that of most open
source software projects. Successful open source software projects typically involve de-
centralized collaboration efforts, in which a number of individuals contribute to a single
body of source code. The derivatives of the Arduino hardware, in contrast, tend to be pro-
duced by a small group of people, often the same ones who sell the resulting product.
These derivatives often undergo few public revisions, even though some have remained
available for purchase for a number of years. Moreover, relatively few changes have been
contributed back to the design of the official Arduino boards. Overall, the derivatives con-
stitute a diverse set of alternatives from different producers, in contrast to the centralized
codebase that seems to prevail in most open source software projects (including, in many
respects, the Arduino software itself). While some derivatives (like the LilyPad Arduino)
have been incorporated into the official Arduino product line, very few (if any) modifica-
tions have been contributed to existing boards.
There are multiple obstacles to collaboration on centralized hardware designs that go
beyond the need for human skill and motivation common to other domains (like open
source software). One is the difficulty and expense of fabricating and assembling boards.
Soldering them by hand can be done in small quantities (facilitating changes and the cre-
ation of unique variations) but is time consuming, error prone, and limited in the parts it
can work with. Automated assembly is more efficient but typically requires larger quantit-
ies, limiting the frequency of changes to the circuit's design. Even worse, it can be diffi-
cult to switch between these approaches because they may require the use of different
components.
Another obstacle is the relative unavailability of tools for tracking and merging
changes to the design of circuit boards. Open source software has robust version control
tools that allow the tracking and merging of changes by many different people. The free
and low-cost circuit design tools used by most of the people designing Arduino derivat-
ives don't provide automated methods for viewing or merging changes. Without these
capabilities, the process of proposing changes to the design of an Arduino board is one
that in many ways fails to take advantage of its digital nature. That is, you describe the
Search WWH ::




Custom Search