
The Untold History of Arduino - toom
http://arduinohistory.github.io/
======
k1w1
It is always interesting to read genesis stories. I was especially surprised
as I was reading this story to discover that the first prototype was built
using the Javelin Stamp which I created. It is particularly ironic given that
the rise in popularity of the Arduino was probably a contributing factor to
the waning of interest in the Javelin Stamp.

Not to belittle the contributions of Hernando, he did great work. But so often
each incremental step in technology is made with the help and inspiration from
those who came before. It is the very nature of open source that it will be
embraced and expanded.

Anyway, I was gratified to see now, that something I worked on 18 years ago
would intersect with a such an interesting story, even if only in a tangential
way.

~~~
bhagman
Hernando has always held that he didn't make something massively different.
All he did was bring together technologies and experience to an area that had
a huge gap between entry level users and experts.

He has always gone by the quote: "If I have seen further it is by standing on
the shoulders of Giants" (from Isaac Newton). He fully recognizes that none of
the work he did would be possible without the amazing work done by people
before him.

So, all I have to say is: Thank you! Without people like you, the state of
electronics and education in technology wouldn't be where it is today.

BTW, the Javelin Stamp, and it's predecessors, were all incredible feats of
engineering and science. As well as the Propeller!

------
Animats
It's really just an Atmel AVR CPU, which you could buy on a development board
before Arduino. Atmel has a tool chain for AVR CPUs, which is a version of
GCC, so it's open source.[1] I've developed for such boards without any
"Arduino" stuff. The Arduino project put a simplified IDE on the front of
that.

Their real innovation was social. They built a community around the thing and
provided documentation that wasn't addressed to EEs.

I'm so glad they didn't choose the PIC.

[1]
[http://www.atmel.com/tools/ATMELSTUDIO.aspx](http://www.atmel.com/tools/ATMELSTUDIO.aspx)

~~~
analog31
But doesn't PIC use GCC too?

Disclaimer: I'm a long time PIC user, going all the way back to the PIC16C84.
Long before anything like Arduino came out, I always found Microchip's
documentation to be much easier to crack. Of course, I admit to a certain
amount of mental inertia and familiarity with the platform as well.

~~~
neltnerb
I had to get a proprietary crippled third-party compiler to do anything on a
PIC12 in C.

The PIC16 at the time at least definitely didn't have GCC support, I recall
having to boot Windows to compile my code for it. Pretty sure that's still the
case.

~~~
analog31
As I understand it, the architecture of the 8-bit PIC chips were not "C
friendly," and still use a crippled proprietary compiler. I programmed those
beasts in assembly. There were enough other advantages for me, such as
EEPROM/Flash program memory and peripherals that I could wrap my head around.

The 16- and 32-bit chips are more mainstream, and after using their
proprietary compiler for a while, they switched over to GCC. Now from my
standpoint, it's still "their" GCC, in that I download and use their tools.
And there are some features that you still have to pay for such as
optimization. I'm certainly not in love with those aspects, but it's good
enough for me to wait it out until something else comes along that's
compelling enough for me to switch. Folks have demonstrated building their own
GCC toolchain for PIC, but I haven't bothered.

Somebody without my mental inertia and legacy projects might make a different
choice.

My uses aren't critical enough to require considering the smallest, cheapest
parts, so I simply avoid the 8-bit chips.

------
justifier

        The idea that the mere fact that Banzi was my thesis advisor
        gives him some sort of higher claim to the work done on Wiring, is, 
        to say the least, frustrating to read.
    

i dated an interior design student when at university

there was a competition and my so was given second place

my so was crushed and honestly thaer entry was far superior.. the ideas were
more interesting and applied, and the effort was more pronounced

i quipped, 'the best entries always get second place because everyone forgets
who got second place.. which makes it easier to steal your ideas'

it was meant to console with a bit of humor, but since then i have found the
notion poignantly evidenced

academia can be a scary place for ideas

~~~
digi_owl
Toss profit into anything, and it can be a scary place.

------
Isamu
This clears up a lot of mysteries (and some of the drama) surrounding Arduino
and Wiring that had puzzled me in the past. A bit late in the game to read
this but good to know.

Also: not an entirely unusual case. There is always a race for credit for a
true success, and it is not always due to real malice (not saying this is the
case here.) People have a hard time remembering what came before they were
involved, and lack the incentive to find out.

~~~
nickff
You are essentially restating the old saying:

> _" Success has many fathers, while failure is an orphan."_

------
reimertz
How-to become a douchbag in 10 steps:

1\. Be the supervisor for a thesis that will become a open-sourced project

2\. Use this open sourced project in one of the classes you teach at
University

3\. work together with and ask for help from the creator of the open-sourced
project

4\. see the value of the open-sourced project

5\. fork it

6\. claim it as yours

7\. get rich by selling it

8\. write super douchy email to a previous maintainer of the project you
forked.

"Sorry JC but you had nothing to do.with this…. You can’t possibly try to get
credit for.something you hadn’t been involved with"

9\. Lie to media

".. In two days, Mellis banged out the code; three days more and the board was
complete. .."

10\. Tada - you are the biggest scumbag of all times.

Man, these guys deserve some shit. Why don't you send him a tweet?
[https://twitter.com/mbanzi/](https://twitter.com/mbanzi/)

~~~
makomk
This is part of the reason I just buy the cheapest Arduino-compatible clones
possible and laugh at the idea that we should all buy genuine Arduino to
support the people who put in the hard work - it's been fairly obvious for a
long time that it was a Wiring rip-off through and through. Probably also why
the official Arduino ports to non-AVR architectures are so incompetent
compared to third-party ones; the AVR port was taken from Wiring and just
modified slightly, so no-one there had the skills to write one from scratch.

~~~
huuu
Agree. I bought a better than Arduino clone for $5. The Chinese even sell
cheaper ones but you must have some luck with the soldering.

~~~
Tempest1981
I also remember needing a non-standard USB driver, for a CH340 -- a bit scary
to install: [http://0xcf.com/2015/03/13/chinese-arduinos-with-
ch340-ch341...](http://0xcf.com/2015/03/13/chinese-arduinos-with-
ch340-ch341-serial-usb-chip-on-os-x-yosemite/)

~~~
huuu
On Windows that is. On Linux they work out of the box.

------
brandonmenc
The real work involved thousands of hours of research, prototyping, testing,
and backtracking.

The most infuriating part of the story is the usurpers painting themselves as
geniuses with the claim that they "banged it out" in a few days.

------
jcoffland
The whole Arduino thing has always baffled me a bit. I've been programming
8-bit AVR chips since 2000. There have always been many different development
board options. Even long before Wiring and Arduino. Sure many were more
expensive but neither Wiring nor Arduino added much technically to the
hardware itself.

The real innovation of Arduino has always been the Wiring programming system.
Personally I prefer the low-level interface the AVR chips provide and document
very well in their datasheets. I find it frustrating to have another layer,
like wiring, between me and the hardware. As an embedded systems programmer my
perspective is different.

To me Arduino has always been little more than a really good marketing
campaign.

~~~
ssalazar
Embedded systems engineers are very intentionally not the audience for
Arduino. With Arduino you can go from zero EE/FW experience to blinky LEDs in
an evening. This is a powerful tool for opening up hardware hacking to young
people, artists, designers, and other non-technical professions. Very few of
these people are going to read through a datasheet or figure out the
difference between DDRB and PORTB.

~~~
eggy
I agree, but is it then just the open source of it that drove Arduino over
say, the Basic Stamp 1 by Parallax? I believe it was very accessible,
affordable, and even the smallest Arduinos today are not much smaller albeit
with more chips on them. I was using the Parallax Basic Stamp 1 in 1994, 10
years before he even wrote his thesis. It had a BASIC interpreter on ROM,
PBasic, 5V regulator, EEPROM, oscillator, and 16 i/o pins (GPIO nowadays). It
wasn't called the Stamp for its size for nothing! I was controlling Christmas
Window displays - pneumatics solenoids, motors with relays, and lighting and
smoke machines. I used relatively-new capacitive switches on the windows
facing the street in NYC, that children could touch and make a Xmas Nutcracker
bite and raise a bell in his arm for the Saks and Lord & Taylor Christmas
windows. This is why I was not pulled into the whole Arduino thing; I
essentially already had it without going all techy and banging bits on self-
assembled circuit. All I needed were some interface resistors or relays for
the high voltage stuff beyond the output pins 150mA limit. The BS1 had a nice
text editor, and you could leave the BS1 connected while programming and re-
write the program to see the affect immediately. If anything, no genius needed
for Arduino; the tech and very exact model, although, commerical was already
there, so indeed history is written and some truths lost in time or washed
away. He highlights commands he takes credit for terming like 'digitalWrite'.
These all had similar counterparts in PBasic back then (you could define ledA
PIN 2, then just write HIGH ledA or TOGGLE ledA)that are in my opinion no more
difficult. I was on the Processing forums when they first started, ECHO in
NYC, at the time. I am grateful for the internet in bringing these to my
doorstep, but sometimes hype, or fashion wins over true technical marvels, and
we give accolades to imitation or mediocrity. The true geniuses usually don't
seek fame, fortune at first, but only thirst to discover. As I get older I
smile when somebody thinks they invented something. The knowledge to build a
catapult was "re-discovered" at least twice in history due to communications
and wars. Nowadays, the internet ensures you should be able to dig up some
precursors to your efforts, and not reinvent something that existed only 10
years before your university education.

~~~
ssalazar
Yeah the OP specifically called out open-ness as being a dealbreaker for the
Javelin Stamp. I never used Basic Stamp, but from what I can figure, it didn't
have ADCs by default, which is a huge deal. Even now people who are slapping
an Arduino on top of Raspberry Pi because its the simplest way to get a few
ADCs for sensor input. Cost also seems to have been an issue, and a big RS-232
port probably gave the impression of obsolescence.

Being readily available for Mac doesn't hurt for the design/art crowd either-
Wikipedia suggests that Basic Stamp didnt have first-party Mac support? Also
looking visually similar to Processing (both the IDE and the code style) eases
the switchover for people who are new to coding. Ive heard Arduino described
as "Processing for Hardware" which is a bit of a stretch in a technical sense,
but perhaps exactly correct in a spiritual sense.

~~~
eggy
I am not one of the electronic elites who dislike Arduinos, and dismisses them
as 'just for atrists' who cannot solder. I made a career out of helping
artists, other than myself, to bring their visions to reality with non-
industrial kit in the 1980s and 1990s. I was just trying to temper the Arduino
history presented by the writer by placing it in context of some other less
famous, but widely disseminated precursors that brought me into the tech world
before Arduino, and that seem deserving of some credit for bridging the
techie/art world. This is per my personal experience, and others like me in NY
in the 1980s and 1990s. Though not opensource, the Stamps were open in many
senses, and comparably priced, if not cheaper than an Arduino today, even if
you adjust for inflation from 1996 ($29.99 -> $47.14 2016). The BS-1 was
released in 1992, almost 12 years before the OP started writing his thesis in
2003, and in 1992 RS-232 was the future! Neither the BS-1 in 1992, or the BS-2
in 1995 had a clunky rs-232 connector on it. There was a dev board with a
breadboarding area, and DB-9 connector if you used it; it was not needed,
however, to do in-circuit programming or rapid prototyping. The BS-2 supported
I2C and 1-Wire. The BS-2 was a 24 pin DIP chip layout. The cutest piece of kit
then on the market, again smaller than most small, or mini Arduinos today,
albeit with less chips on board. It was all SMC on the board. You could buy
the breadboard with the RS-232 and a power plug jack for convenience, but I
basically just used wires to the circuit for my serial programming connection,
and programmed it in situ using the circuits 9V supply (battery or AC
adapter). Fun story for me with the BS-2: I was in one of the display windows
at Saks Fifth Avenue NYC for Xmas 1996, with curtains drawn, while Whoopi
Goldberg read the children's book the six or seven windows were themed in
outside. I had 3 wires connected to my BS-2 in its circuit running, and hot
downloaded the updated code minutes before she gave it over for the curtains
to be drawn so the mechanical and pneumatic actuators could do their thing.
All from one BS-2 per window. It worked great after a reset, and I stepped out
of view seconds before the unveiling [1]. I also used non-industrial chips for
an installation in NYC's Central Park Lake by the Bow Bridge (Whitney Biennial
2002 NYC) just after 9/11\. Picture me rolling spools of wire by the bridge at
dusk out of the back of my pickup truck. The NYPD sort of flipped at this
sight, but that's another story! For ADC I would use a single resistor and
capacitor (RC), for quick and dirty ADC with some code, or a transistor for
better ADC. If all of that was not sufficient I would use an ADC chip. I
understand the Macs and Art crowd believe me. I was using PPC Macs, Windows,
Minix and NeXT back then (1990s to early 2000s). When I rolled out more than a
one-of-a-kind based on the BS-2, I would use the dev board to program quickly
and then just pop it in the empty 24 pin DIP socket in my circuit (like a
shield ;). ADCs were available on the early PIC chips before 2003 too, and
there were some all-in-one plug-n-play boards then too. I don't ascribe
Arduino's success to the opensource aspect, as much as the take-off of the
internet at the time. To Parallax's credit, they had some of the best
documentation, and phone support, but in 1992 to 1997, dial-up and a low
online population, did not allow it to take off. In early makers circles, if
you could call it that before the term was coined, I relied on online
datasheets and burned out chips! And limited online access and materials. I
did belong to ECHO, (East Coast Hang Out of NYC - shout out to Stacy Horn and
Phiber Optik - hmmm - Mark Abene!), which put me in touch with more diverse
techies from all walks of life. I also subscribed to the first Processing
bulletin board then, and exchanged coding ideas and asked questions. I made a
business from 1997 to 2005 helping artists realize their visions with Stamps,
PIC chips, Scenix chips, old printer motors, old PCs, all well before Arduino.
I give Parallax a lot of credit for real hobbyist/artist innovations. Look at
the multi-core Propeller chip they developed in-house that has been revised of
late. This really should have been a blog post, my apologies...

    
    
      [1]  http://www.nydailynews.com/archives/nydn-features/autumn-city-merry-menageries-big-stores-put-sugarplums-glass-article-1.746083
    
      [2]  https://www.youtube.com/playlist?list=PLcajvRZA8E0_ckfjqU1irYzOwbsYa2AjC

------
officialchicken
I saw these boards all over pratt.edu in the school of architecture in 2005
and later. It was referred to as "wiring board" at the time - no one called it
an Arduino, and I just continued to use my STK501 instead.

There were serious issues with the board design and fabrication - the location
of the caps were pretty and aligned, but not "smart" for power distribution.
Faulty signals, bad timing, and other issues were common with those boards. It
was a terrible PCB by any measure (but looked awesome, like 2015 gamer mobos).

However the ideas behind "Wiring" and the "Sketch" were really innovative
ideas for non-techs designers who mostly wanted to servo-blinky-sensor artsy
stuff. And it really did open up embedded development to a whole new semi-
technical audience.

------
watchdogtimer
The JAL programming language mentioned in the article (now called JALv2) is
still actively developed. The latest version of the compiler was released less
than 3 months ago.

It's no longer a Windows-only compiler. The standard compiler package includes
binaries for OSX and Linux, too. It will even run on ARM if you compile it
from source using the appropriate modifiers.

JALv2 is has a PASCAL-like syntax that is easy to learn and allows you to
write some very elegant code.

The JAL libraries (jallib) are incredibly extensive, covering virtually every
8-bit PIC made and every possible peripheral function.

Vim supports syntax highlighting for JAL, making it a good text editor to use
for writing code. I use Vim on a Raspberry Pi 2 to write and compile my code,
then upload it to the PIC using the Pi's GPIO port and Pickle
([http://wiki.kewl.org/dokuwiki/projects:pickle](http://wiki.kewl.org/dokuwiki/projects:pickle)).
No external programmer is necessary.

I prefer using JAL and one of the USB-capable PICs for my projects instead of
an Arduino since I can build the entire project on a breadboard using one
chip. I don't need to add a second serial-to-USB converter that's not
available in a DIP package, nor require my users to install special serial
driver from some unknown third party just to make it work.

------
camillomiller
LOL The wrong thesis that Circuits Today is referring to is my BA thesis from
2013, that was a (much different) thesis on the history of the platform and
its application in the field of Arts. That was more of a journalistic oriented
thesis and has nothing to do with Hernando's original work. By the way, it's
here if anyone's interested but it's not up to date with the latest legal
issues and models:

[http://camillomiller.com/arduino](http://camillomiller.com/arduino)

------
pat_space
incredible read. I checked out the author's current work, and it's beautiful:
[http://barraganstudio.com/](http://barraganstudio.com/)

------
agumonkey
One of the saddest thing I read in a long time. Damn me.

~~~
officialchicken
Have you read the Autodesk File [1]? By a founder and the co-creator of the
famous software. I've heard it can't be hosted in the US for legal reasons.

[1]
[https://www.fourmilab.ch/autofile/www/autofile.html](https://www.fourmilab.ch/autofile/www/autofile.html)

~~~
agumonkey
Only half but I mirrored the whole domain because I want to read it all.

~~~
voltagex_
Wish there was a way to easily mirror it on Android - looks like good reading
for a long flight.

~~~
agumonkey
The autofile subtree is 49.9MB, the whole site ~660.

~~~
voltagex_
After the flight, I took another look and found that the autofile tree is
provided as a PDF "book" \-
[https://www.fourmilab.ch/autofile/afpdf.zip](https://www.fourmilab.ch/autofile/afpdf.zip)

~~~
agumonkey
Brilliant find.

------
mohsinr
Wow thanks for sharing! Why you took so long to write! Glad you finally did!

------
bborud
Genesis stories never match, but there is one thing to learn from many that I
have read: if you want a place in the spotlight you have to take it. The value
is not created in just making technology, leaning back and expecting the
adoring masses to come flooding in the doors.

Creating technology is part of the work, but sadly not the part that makes you
successful. To be successful you need to get out and about and get in people's
faces.

------
Etheryte
Wow, what a bag of douches.

------
BogusIKnow
Developers undervaluing marketing work.

Marketeers undervaluing developers work.

------
fsloth
Uh, I would not like to work with Banzi. This pattern matches so well with
other narcistical leaders I'm unfortunately familiar with.

------
BogusIKnow
Creating an open source tool chain then being annoyed (angry?) when the code
is being forked.

------
dammitcoetzee
It makes a lot of sense that they forked the project. If you're selling a
hardware product, like hell you're giving someone else administrative command
over the code base that you're going to have to pay money to support. The code
that your product's five star rating relies on.

push request #800020201 "Hey, Hernando, think you can push that update to
Wiring now, we're paying quite a lot in support time here. The LEDs aren't
blinking since you pushed that update to support EEPROM chips from the 80s"

It's the same reason Apple keeps their code to their hardware. I think it's a
brillant business move, and anyone thinking of releasing low-level open-source
code as a primary component of a hardware project should imitate it.

Also, did I miss the part in the article where Wiring and its boards were set
up to become a huge success without Arduino's clever marketing and business
plan? It seems like it was doomed to have "huge successes", like one class in
one university out of thousands.

The guy should 100% get more credit, and if this happened to me I would always
be a little hurt about it, but at the same time, would it be a big deal if it
had never extended past a thesis somewhere? Would it matter if Arduino hadn't
been a bunch of really clever people?

~~~
uxp
> The guy should 100% get more credit, and if this happened to me I would
> always be a little hurt about it, but at the same time, would it be a big
> deal if it had never extended past a thesis somewhere?

That's not the argument. He's not upset Arduino was a huge success, nor is he
all that upset that he is not involved with Arduino (as far as I can tell from
this article, as it's written very professionally). The argument is that there
is a rather significant fight between the co-founders of the Arduino project
about who owns what of the Arduino brand. This article paints a picture that
in reality, the product behind the brand was essentially ripped off of someone
else's hard work with very little contributed back to the original project. I
don't think anyone wouldn't start to feel rather frustrated if someone forked
their open source project, made it hugely successful (while complying with
licenses and other conditions, but without directly contributing back) and
then started fighting within themselves over who "started the project all on
their own".

~~~
ArduinoGuy
It wasn't ripped off, it was directly forked from the underlying open source
project, which is what you are supposed to do in open source if you want to
take the project in a new direction and build a business on it. If you don't
want people using your open source project _drum roll_ don't open source it or
change the license terms to prevent uses like this. I think many people in
this thread have a very tenuous grasp of what open source is.

Forking an open source project != ripping it off people. I feel like Hacker
News is the last place this distinction should have to be made.

The point of writing a thesis in academia is to share an idea and encourage
other people adopt it. Other people did adopt it, that's what an effective
thesis is.

Everything that was "stolen" here was either code or an idea which was made
freely available for others. What people in this thread need to understand is
that if you want to build a business, don't give away all your source code and
ideas and act surprised when someone listens to you...

~~~
regularfry
Correct attribution is traditionally required when forking.

