Slashdot Mirror


Why the Arduino Won and Why It's Here To Stay

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."

28 of 224 comments (clear)

  1. Agree, mostly. by RightSaidFred99 · · Score: 2

    I consider NetDuino/Fez to be more or less interchangeable with Arduino, but I do vastly prefer both. I find the .NET(MF) development environment far more productive for the projects I work on. Note I do understand NETMF is not applicable to all problems (for example, realtime).

    1. Re:Agree, mostly. by RightSaidFred99 · · Score: 3, Insightful

      Real reasons to dislike .NET are few and far between, and generally boil down to cases where it's inapplicable to a specific problem domain. "I hate anything M$" is hardly a meaningful or valid reason.

    2. Re:Agree, mostly. by ivucica · · Score: 4, Insightful

      Do you say the same thing to the people who say "I don't like broccoli"?

      I've worked with .Net and Team Foundation and never catched the workflow. I do not claim .Net to be bad, as I have seen too much good engineering done with it, and I have seen quite a few nice tricks in both C# and the framework. I do reserve the right to dislike the general principles behind many pieces of the design and to do so passionately, while respecting the work of good people who designed C# and .Net and who use it. Dislike has very little to do with it coming from Microsoft.

    3. Re:Agree, mostly. by serviscope_minor · · Score: 4, 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.

      --
      SJW n. One who posts facts.
    4. Re:Agree, mostly. by SanityInAnarchy · · Score: 3, 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.

      --
      Don't thank God, thank a doctor!
  2. Great! by jason18 · · Score: 4, Informative

    It's cheap and affordable, yet it can do so much. The MakeZine section on it is great and has a ton of cool projects. I don't know why people are wondering what's so great about it, because it's really obvious why it is. When it comes down to it, an arduino is a $15 minicomputer.

    1. Re:Great! by jcoy42 · · Score: 3, Interesting

      If it's just cheap and affordable you're looking for, take a look at the MSP430 LaunchPad. Less than $5.

      Getting the crystal in is less than fun, but still, that's one cheap board.

      --
      Never trust an atom. They make up everything.
    2. Re:Great! by benjamindees · · Score: 2

      When it comes down to it, an arduino is a $15 minicomputer.

      This. I'm using my Arduinos for things that I was planning to do with a few old 486s at one point. And they are far more useful. I can easily write programs in C, with lots of libraries available to make it easy. I don't have to learn proprietary BASIC or assembly or anything goofy. If one breaks (lost one so far -- a chicken pooped on it), I can buy a new one for $20 or use the reference info to repair it. There is a huge community of support, add-ons, and tutorials on controlling and interfacing with basic stuff. Basically, it is a general computer. It's not perfect for everything, but it's useful for enough things to justify having a few around, and if I feel like optimizing something I can dig in at any time and do so.

      --
      "I assumed blithely that there were no elves out there in the darkness"
    3. Re:Great! by TheRaven64 · · Score: 2

      To me, they seem to be squeezed into a strange niche. If you want something really cheap, there are other 8-bit systems that can run Contiki for a tenth the price of the Arduino. For two or three times more, you can get a 32-bit ARM core with a few MB of Flash and RAM on board and have a vaguely modern development environment. For one-off projects, I'd go with the ARM, where you're paying a bit more but getting a lot more performance (meaning less time and effort spent optimising your code, ability to write more maintainable code). For something that was going to become a real product, I'd go with something cheaper. The attraction of Arduino seems to be marketing - people have heard of it, and if they don't look at the other options then they seem good.

      --
      I am TheRaven on Soylent News
    4. Re:Great! by Machtyn · · Score: 2

      I really wish my uP class at the university would have used any chip like these. Instead, we were relegated to old, out-of-service Motorola 68k chips, that only sometimes worked and were really expensive to replace if they even could. And while the 68k was a fine chip, it was a pain to work with on a bread board with 150+ wires running to your memory controller, timer, power, and other parts. (Of course, in a uP class, the student should still learn about all those different parts, even if they are using an Arduino, and they should still have to deal with all the wires... but the chips we were using were atrociously unreliable.)

  3. The PIC was similar by Anonymous Coward · · 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.

    1. Re:The PIC was similar by Nethead · · Score: 3, Informative

      In the mid 80's there was the Intel 8052-BASIC chip. It had a decent integer BASIC with serial interactive I/O and could, with the proper 21(ish) VDC, burn EPROMs. I designed and manufactured a COCOT payphone using it. Quite the fun thing to play with.

      Using a Dallas Smartsocket JEDIC socket with a 6564 SRAM chip made a great development environment.

      This was back in the mid-80s. This has better speed and Ethernet, but for the decades that have past, not anything astoundingly new.

      --
      -- I have a private email server in my basement.
  4. Re:Arduino programming language by HelioWalton · · Score: 2

    It's technically not, but the syntax is essentially the same. Most of your standard C functions are around too, but not all. If you know C, you can essentially write a C program, and it will probably work.

  5. ArmMite by chaim79 · · Score: 2

    I looked into microcomputer's to experiment with and finally went with the ARMmite Pro, only to find out later that it is a Arduino-compatible device and what Arduino is, somehow in all my microcomputer searching I had totally missed that device. The ARMmite Pro is a great little board to play with, ARM 7 running at 60mhz, can be programmed using Basic or C, and (apparently) pin compatible with Arduino, all for $30. Not an Arduino killer, but a great way to 'upgrade' from Arduino without loosing form-factor or add-on boards.

    --
    DEMETRIUS: Villain, what hast thou done?
    AARON: Villain, I have done thy mother.
    Shakespeare invents 'your mom'
  6. Arduino "Uno" by trollertron3000 · · Score: 4, Informative

    Arduino is the project, Uno is the board. There's actually a few other boards they've created: http://arduino.cc/en/Main/Hardware

    If you like them you may also want to checkout many of the other microcontrollers in a Digikey or Mouser catalog. I collect them myself. Everything from PIC to Atmel-based, to Zigbee. They're all quite fun.

    The main advantage of the Arduino is it's open source design. The other controllers are not as customizable _before_ production. With arduino you can add things if you need them on board.

    --
    Tiger Blooded Bi-Winning Machine
  7. The real reason it won ... by BitZtream · · Score: 2

    All the reasons the guy listed for why the Arduino 'wins' are not unique to the devices. You can get all of those same things out of a radio shack basic stamp.

    Arduino won because the stuck a decent microcontroller on a solid board (I'm ignoring the absolutely retarded pin spacing issue that pisses everyone off) at a decent price with a serial boot loader already burned to the chip. The ATmega chips were popular long before Arduino, so when it came out suddenly all of us who had been futzing around with ATmega's for years finally had a source for a preassembled prototype board rather than constantly cobbling our own together. I've still got several PCBs I etched with a generic prototyping layout in my shop.

    They took the need for an Atmel ATmega programmer out of the equation but otherwise you get just a slightly larger than the chip itself prototyping board.

    The Arduino software is complete ass, the only reason anyone uses it is because they don't know there something better ... like say ... entering your code from the command line with cat > filename && cc filename. The libraries, while relatively easy to use are painfully slow and bloated for no reason, which is important when your counting clock cycles on microcontroller.

    Arduino didn't win because its Arduino, it won because it used a microcontroller that had already cornered the market.

    There will multiple ATmega chips (the ones used in the Arduino) in every household before the Arduino came into existence.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    1. Re:The real reason it won ... by BillX · · Score: 2

      and the standardization allows easy sharing of people's programs.

      ^^^ This. I've done open-source PIC projects, but they're not that accessible, and consequently, hardly anyone uses them. "How do I replicate your cool project?" "Well, first you have to spin a board, I know this guy in China who will etch them for $80...you know how to solder, right? Budget the first 8 hours or so for getting the toolchain working. Now, go on Digikey and..."

      I think one thing that drives Arduino to the level of success it enjoys is that the whole idea behind doing FOSS stuff is sharing it, and the accessibility (in terms of cost, ease of setup / batteries (bootloader) included, and standardization) of the Arduino project makes it easy to share one's work in a meaningful way: someone else actually has a snowflake's chance of downloading your code, hitting the 'go' button and expecting it to work. Consequently, your project is more worth-doing and worth-publishing, which makes the next user's project (borrowing your display library) more worth-doing and so on...

      --
      Caveat Emptor is not a business model.
  8. Immaculate Timing by eric2hill · · Score: 5, Informative

    I literally just opened the box of my first Arduino board about 15 minutes ago. I installed the IDE, plugged it into my computer, loaded the drivers, and sent a few sample programs to the tiny board with -zero- problems.

    With an out-of-the-box experience like that, it's no wonder the darn thing is so popular.

    --
    LOAD "SIG",8,1
    LOADING...
    READY.
    RUN
  9. Re:Arduino programming language by 0100010001010011 · · Score: 3, Interesting

    LaunchPad does.

    I don't see why this hasn't gotten more fanfare or attention.
    A full dev kit costs $4.30. Some of the Arduino stuff I've seen starts at $40. You get 2 chips, a USB programmer, dev environment AND.... a real C environment. Not another language.

    It has a ton of other add-ons like the EZ430-CHRONOS watch. After growing up watching Who Framed Roger Rabbit, who hasn't wanted to unlock their doors with Shave and a Haircut.

  10. code availability and easy user interface by smellsofbikes · · Score: 3, Insightful
    Most of my coworkers are old-school embedded programmers. Many of my friends are Arduino-enthusiasts. The Arduino has a vastly easier learning curve: you plug it in, open a window, and hit 'download' and your code is on the machine and running. People who are used to embedded programming are fine with setting up a development environment with libraries, handling source files, telling the IDE what programmer hardware is being used, what target hardware is begin used, what oscillator frequency and which fuses to set, but that's simply overwhelming to someone who just wants to turn relays on and off to power an art project.

    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.

    --
    Nostalgia's not what it used to be.
  11. Re:Arduino programming language by Klivian · · Score: 2

    Lots of interesting stuff out there in the world of micro-controllers, and now lot of it get available at reasonable prices. Not only as those dreaded $999 development kits.

    If you look for something more powerful the STM32VLDISCOVERY http://www.st.com/internet/evalboard/product/250863.jsp, is a nice alternative at about $10. You get a modern and powerful ARM Coretex M3 with 128 KB Flash and 8 KB RAM. With lots of nice peripherals included.

  12. A few problems I have had with the Arduino boards by vsage3 · · Score: 2

    (a listing can be found at http://arduino.cc/en/Main/Hardware )

    I have tried to use Arduino boards in the past, and while they're really cool for hobbyist stuff, they are very hard to integrate into battery-operated things:

    1. The operating voltage is 5V (some may be 3.3V, I forget) and draw a lot of current. Batteries that supply this kind of voltage are HUGE. It would be really nice if they had a design that was optimized for low voltages and low currents, like for mobile sensing, so that I could use coin cells.

    2. The devices are really memory-limited. The Uno, which is probably the most popular, has something like 2kB of ram. I used the board to interface with some sensors for tracking a flight trajectory on-board, and I could only record a few seconds of data before running out of room. Wireless transmission wasn't really an option because of power (= more batteries) limitations.

    3. Connecting to USB resets the board, wiping the memory, unless you cut a trace on the board. This is supposed to help facilitate loading new programs, but becomes an annoyance if you wanted to use it to transfer sensor data stored on-board to a computer. When you cut the trace to disable the autoreset, it becomes difficult to time the reset button manually so that your program uploads.

    Overall, as an EE, I was very impressed at how easy it was to use, but I think the issues I mentioned warrant some fixing if Arduino is going to be used for things like sensing.

  13. Re:Context, please by santax · · Score: 2

    Well, look at it this way. An arduino is a complete circuit with a couple of digital and analog inputs and outputs that you can control. People love to drive LEDS with them for example and it's very easy. For example, to drive a led all you need is a resistor and the led. You connect the resistor to an output pin of your choice and attach the led to the resistor. The negative side of the led goes into the groundpin on the arduino. If you want that led to blink this would be you code: http://www.arduino.cc/en/Tutorial/BlinkingLED With another ledpin though, because pin13 happens to be the build in led on the Arduino. As you can see it's just C. So you have a complete environment that makes it very easy to connect hardware like sensors and you have this very easy and readable programming language. That makes for very easy and rapid developing. This doesn't dominate the pic and microworld by a long shot. It's far to expensive for mass production of projects. But it does dominate the hobby world. And people make really cool things with them. From laserharps to autohovering quadrocopters. And ledcubes. Lots of led-cubes lol. Look at youtube for it when you have some time to burn.

  14. Is the hobbyist market _that_ significant? by petes_PoV · · Score: 3, Interesting
    Arduino is basically a platform for home users. Just like BASIC was in the 80s. That doesn't mean that it's bad, or to dismiss it, just that it needs to be placed in context. While the Arduino family have no doubt sold many, many units what does that actually mean to Atmel? In terms of the MILLIONS of devices they sell every month, the number bought by amateurs is a drop in the pot.

    Same goes for Microchip and the PIC family (processors, not development boards). I would expect they are quite happy to cede a few 100k's of chips over the past few years, given that their main business line is everything that has an embedded processor. I doubt they could actually measure the market loss to Arduinos.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    1. Re:Is the hobbyist market _that_ significant? by thegarbz · · Score: 2

      You're thinking too small. Atmel has a development platform out there that is being used by what you consider as a drop in a bucket, however the point is that it's being used. There are many MANY tinkerers that are now playing with it, programming it, understanding it. They migrate from the Andriod platform to use Atmel microcontrollers standalone in projects. Many of these tinkerers are not normal people, they are electrical engineers, or computer systems engineers.

      In a few years you will have an army of graduate engineers who know the ins and outs of Atmel microcontrollers thanks to this development platform. These people will get employed somewhere, and even if a small subset of them being introducing or working more with Atmel microcontrollers in commercial products, well... that IS significant.

      This is the same reason why Adobe release Photoshop student editions for a pittance of the retail value. It's the same reason why Microsoft partner with universities to make their MSDN collection available free of charge under academic licenses. You give someone a free / cheap product, and they enjoy the experience or become comfortable with it, they very well may become a corporate advocate for your product in the future.

  15. 430: Mindshare, Examples, and Shipping Product by billstewart · · Score: 2

    I ordered the Launchpad a week or two after ordering my Arduino, and it took about two months to arrive :-) You're expected to know a bit more about what you're doing to use the MSP430, the programming environment's less friendly, the chip has even less memory, and installing the timer chip on the board requires surface-mount soldering, which is a lot harder to learn than regular through-hole. I'll get around to it in a couple of months, after my Arduino projects. (And the wristwatch version is amazingly cool.) There are also a couple of other cool boards to play with, such as the Atmel-designed AVR Butterfly which includes an LCD, some Freescale stuff, and a few others.

    This month, however, I'm working with 555 timer chips, because sometimes an Arduino or MSP430 is just way too powerful and you need an even more minimal environment to work on, plus there's a contest and it's amazing what you can do with such a simple tool, and I've got the breadboards and LEDs and resistors around from the Arduino anyway. And the Arduino's a convenient power supply and voltmeter while I work on it.

    Arduino's a nice programming environment, and it comes packaged with enough software, hardware, and examples that you can pretty much do anything you want at whatever balance of complexity you want. It's complete enough to get started and see how much you can do. You can start off high-level, try the examples, and then either go for larger projects or head down to the bare silicon, and once you've done stuff at the Arduino-board level, if you want to build more stuff with raw AVRs you've got all the tools you need.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  16. Arduino feels like Linux circa 1995 by taweili · · Score: 3, Interesting

    I got into Arduino last year while looking for interesting toys to play with my kid. Even I got a EE as part of my double CS/EE major 15 years ago, I haven't really done any electronic after college. Arduino provides a quick way to get started. Out of box with easy to use IDE, I can make stuffs entertaining my kid and myself in no time.

    The experience getting into Arduino reminds me a lot of the beginning days of Linux. There are more mature commercial options out there (e.g. Solaris, IRIX, even HP/UX) and other competing open source like Net/FreeBSD. Even GNU/Hurd was making progress. But one thing Linux got was a friendly community of beginners. Going through the Arduino forum gave me the same feeling of going through Linux forum back in 95: a lot of excitement about this and willingness to help each other and share. That's defintiely one thing other communities lack. One gets "did you real the source?" reply posting anything to a BSD group.

    That's almost parallel to where Arduino is today. There are no lack of better or cheaper alternative but most of them are either established embedded communities or serious lack of documentations. Not friendly at all for the beginners. Arduino gives the beginners a friendly place to get started.

    And Arduino goes behind just a AVR based board. It's really a ecosystem with standardized IDE and peripherals. Most people's first critics of Arduino, especially those already in the hardware hacking, is the use of AVR and often cite 8bits and the shortage of AVR last years as problem with Arduino. However, I don't really see that as a short coming of Arduino. I just got a Leaflab's Maple which is a ARM based board with Arduino compatible pin layout and IDE. Getting my projects over to Maple from Arduino is smooth. I don't see Maple as a competitor to Arduino but a member of Arduino family.

    The article is right on. There will be a lot of competitors now Arduino is on the spotlight but most of them will fail because they don't get the point of Arduino. It's not about raw CPU power or fine point of the system components, it's about community. And ones don't win the hearts of the community by belittle the community's core.