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.
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!
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.
In addition to the easy to install, easy to use IDE, I'd say the real innovation was a standard, idiot-proof way of programming the AVR with a well known bootloader.
From back when I was working on AVRs at university (2003-2004), I remember there were a ton of programming settings to choose from, different ways to program it (SPI, parallel), and you could easily screw up something if you set the wrong fuses, used the wrong oscillator frequency etc. All of this complexity was taken away by Wiring / Arduino, so you could focus on your project without digging through datasheets.
So the simplified IDE and social aspect was only part of the story.
It's really telling that the base mode Arduino is just an atmega328p on a breadboard, with literally nothing separating it from the real world but the odd, optional, resistor.
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.
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.
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.
My class just used chipKIT boards (Arduinos with PIC32s inside), and the official tools seem to be based on a forked GCC 4.5. For the labs we used a build of GCC 4.9 that the school had prepared, which also worked fine.
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
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.
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.
My favorite Peeve about the arduino boards, was the half pin center shift on one of the headers that makes it impossible to just plug in some perfboard with headers on it and make your own shields. Thus opening up the path to selling expensive shield hardware.
I think Altair and IBM PC both was at least original designs, but neither were they particularly good designs either. Unfortunately I think ANSI/ISO and other standard committees was probably poorly suited to setting standards in this area. The right way back then would probably be to design a reference system and release schematics and other design information.
Banzi might come out as a douche, like Steve Jobs was. At a very very very different level they achieved the same.
Would you prefer a world where wiring would still be a pretty niche project badly marketed only available for those in the field or a world where someone much more marketing oriented made Arduino explode and ignite a small but meaningful revolution in the approach to electronics?
This is a false dichotomy. I would prefer a world in which Banzi worked together with Barragán, which Barragán would have clearly loved and which might have given Arduino an innovator at its helm and the ability to actually keep up with the times, rather than being steamrolled by the Raspberry Pi on one end and by better microcontroller designs like Particle (Spark), Tessel and the MicroPython boards on the other.
Of course, you're right, but we don't really know whether that could work. From the way Barragan puts it I don't think he would have liked the path Arduino followed, although he's of course happy about the success, just frustrated by attribution issues. Therefore I think your outcome would have been improbable at least.
If you put two Steve Jobs in a room and ask them to work together, the result isn't always going to be mecha-Jobs, it will just as often be a fight over clashing visions. Open source is great because it lets people pursue those visions. Sometimes it isn't going to work out.
Still, super scummy not to be open about ehat arduino really was. And then to make oodles of profit and not even give a gift or some type of consolation? Highly against internet standards for openness.
After watching the entire documentary I have reconsidered. It appears there is inconsistebt behavior or an exaggeration on the part of OP. Banzi is quite transparent and the origins seem pretty innocuous.
I would say, as open source developers, we have no right against commercial forks of our code lest we choose a more restrictive license. I believe OP is tormented by the lack of valor in the quite prickly situation but as hackers and devs we need to defend fair use of what code is licensed by. Fair licensing, fair commercial endeavor. It sucks when someone forks without even making contact but part of me feels like open source should be a little bit wild west. The rules are sharp square and leave little for interpretation, thats how we want our freedom
it doesn't really matter what one prefers. Rights are rights. One cannot just appropriate others work because some website community feels it's in their interest to do so...
Step 8 is inaccurate. JC is not the author of Wiring, he's a faculty member of IDII [0]. Banzi was saying that IDII should not try and get credit for Arduino as they did not help them with the funding (beyond ordering 50 boards).
[0]: https://interactionivrea.org/
Why open source a project and let other people fork it if you are going to get completely bent out of shape when someone does fork it and build on it? What is the point of open source if that isn't exactly what happens?
Since you created this account 17 minutes ago (before this post) you are clearly trying to troll, but in this case I will make an exception and reply to a troll.
The Wiring developer is not upset about someone forking the project, but the lack of acknowledgement and deliberate misinformation, even lying by the Arduino developers.
What I am arguing against is that people shouldn't be using the word "steal" in reference to forking an open source project and building a business on top of it. People do that every day. They aren't expected to walk around giving credit to the originators for everything they do afterwards.
Steal is when I take something private, locked down, under patent and use it to profit. Show me what was stolen that wasn't given for free.
Arduino did give them credit, they said it originated from Wiring. The other factual details where relatively minor, something that could easily be confused by most people.
I love how the voting system in Hacker News is used as a weapon to suppress all dissent. What did I say that was trolling? Creating a new account because I work too near this field.
> "The other factual details where relatively minor"
The team behind Arduino hasn't made its lineage clear enough, that's why this article is newsworthy. I also think it's worth knowing about as it adds a new perspective to the recent legal issues surrounding the rights to Arduino.
Also: Don't DOWNVOTE people because you disagree with them. DISCUSS with them. Downvote me if I am being an asshole. To downvote because you disagree is not the right use of downvote.
I actually did read the entire article. Most people seem to be reacting to the title, Arduino clearly attributed Wiring, they didn't just steal it and not say anything:
34. Banzi is the creator of the Programma2003 Development Platform, a precursor of the many ARDUINO-branded products. See: http://sourceforge.net/projects/programma2003/. Banzi was also the Master’s Thesis advisor of Hernando Barragan whose work would result in the Wiring Development Platform which inspired Arduino.
This was probably written by a lawyer and not Massimo himself. Its a legal filing. It says clearly Arduino is inspired directly by Wiring. What else do you wan't from an attribution of credit? Should Massimo get a tattoo that says "Wiring" on it and put it on his forehead?
I read the article - your points are covered by it, maybe that's why people are downvoting instead of discussing.
That quote attributes more credit to programma2003 than wiring (precursor vs. inspired by). Is that an accurate portrayal of the history?
And there's a middle ground between stating inspiration and getting a tattoo. Inspiration implies idea not substance. Since it was a fork, 'based on' may be more appropriate.
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.
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.
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.
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.
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...
This is absolutely the power of Arduino. I've got zero knowledge of chips but can buy an Arduino, a CNC shield and some stepper drivers. Press them together and suddenly I got a working CNC machine.
Arduino/Wirings value is in what it _removed_ to give a standardised way of programming the microcontrollers.
So the "little more" part is the difference between some art student being able to create something cool vs. giving up after three days banging his head against a wall. But when you're an expert in a field it's hard to appreciate that.
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.
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). 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.
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:
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.
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.
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?
> 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".
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...
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.