Why the Arduino Won and Why It's Here To Stay 224
ptorrone writes "For years, students, journalists, makers and old-school engineers have asked why the Arduino open source microcontroller platform has taken off, with over 100k units 'in the wild' — it's the platform of choice for many. MAKE's new column discusses why the Arduino has become so popular and why it's here to stay. And for anyone wanting to build an 'Arduino killer' (there are many) — MAKE outlines what they'll need to do."
The PIC was similar (Score:3, Insightful)
There was a time when it was difficult and expensive to develop embedded applications. Then MicroChip came out with the PIC. The tools were free. There was lots of helpful documentation. You could build a PIC programmer out of junk box parts.
If you were a small developer, you wouldn't bother with a company like Philips (and the others) whose tools were expensive and whose documentation was Byzantine.
Arduino is one step better. It was designed to be used by artists. There are tutorials for everything. It is SO easy to use.
Of course, Arduino isn't a chip, it's a little board. The chip is Atmel's AVR. I don't know what Atmel did to deserve their good luck. I'm guessing that the hard work of the Arduino folks has really increased Atmel's market share.
The lesson here is that it isn't the goodness of the chip. (The early PICs were really unfriendly to C compilers.) You can have the best chip in the world but nobody will use it if they aren't properly supported.
True, but it's only 8-bit (Score:0, Insightful)
The Arduino is great because it creates a community and it makes it easier to build 8-bit systems. It creates a community and it saves time, even for experienced EE:s. That's great. The thing is that it was never very hard to build a low-speed 8-bit system anyway. The Arduino saves time, but it doesn't save massive amounts of time.
Now, if someone could make a project that has a 32-bit medium clock rate (~100 MHz) MCU, enough RAM to run a tiny Linux distribution and an SD-card slot that would be awesome.
It would also be nice with a similar system based around an FPGA.
I know that there are some people working on these sorts of ideas, so hopefully something will take off.
Re:Agree, mostly. (Score:3, Insightful)
Re:Agree, mostly. (Score:5, Insightful)
I've worked with
code availability and easy user interface (Score:4, Insightful)
And once a lot of people were using it, they all started releasing their code. Sure there are other great code repositories, PIClist, AVRfreaks, but many of the people there are pretty DIY so they'll exchange snippets of code that they build into something finished. Arduino code is often complete: download this program to do this entire process. That mindset has attracted lots of people, who have contributed even more code, so it benefits from a networking effect, so now anyone who is releasing anything for the electronics experimenter market has to provide an Arduino sketch that handles the hardware being offered -- and that drives it even further.
There are cheaper platforms, there are faster ones, there are ones with much better hardware (and some that are all three, the MSP430 being a likely example) but nothing that combines the simplicity and codebase of the Arduino.
Re:Agree, mostly. (Score:5, Insightful)
I hate anything M$" is hardly a meaningful or valid reason.
Unless you rephrase it as "I don't want to get locked into Microsoft products again, since I had a bad experience last time.".
Seems meaningful and valid.
Re:Agree, mostly. (Score:4, Insightful)
Another reason is, "I want to target platforms Microsoft doesn't."
Say what you will about Oracle, but with OpenJDK, I can pretty much do what I want. The closes thing .NET has is Mono, which means you're basically castrating the feature set of .NET, whereas OpenJDK includes almost all of the Sun JDK, and is almost always out-of-the-box compatible.
Or I can write my code in JRuby, which means I run anywhere Java does and anywhere CRuby does, as well as anywhere anyone writes a Ruby interpreter in the future.