Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

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

Soulskill posted more than 3 years ago | from the gotta-be-the-shoes dept.

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

cancel ×

224 comments

Sorry! There are no comments related to the filter you selected.

Agree, mostly. (2)

RightSaidFred99 (874576) | more than 3 years ago | (#35180128)

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

Re:Agree, mostly. (-1, Flamebait)

ivucica (1001089) | more than 3 years ago | (#35180156)

It also doesn't apply to places where people passionately dislike .Net.

Re:Agree, mostly. (3, Insightful)

RightSaidFred99 (874576) | more than 3 years ago | (#35180272)

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.

Re:Agree, mostly. (4, Insightful)

ivucica (1001089) | more than 3 years ago | (#35180334)

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.

Re:Agree, mostly. (0)

h4rr4r (612664) | more than 3 years ago | (#35180530)

I have nothing MS in my house, nor do I intend to just give them money, why would I want to use .NET?

Re:Agree, mostly. (1)

tepples (727027) | more than 3 years ago | (#35181768)

I have nothing MS in my house, nor do I intend to just give them money, why would I want to use .NET?

Because Sony and Nintendo are even more restrictive than Microsoft. I thought I discussed this with you in other articles.

Re:Agree, mostly. (4, Insightful)

serviscope_minor (664417) | more than 3 years ago | (#35180736)

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. (1)

suutar (1860506) | more than 3 years ago | (#35181774)

yep, supporting detail is everything.

Re:Agree, mostly. (3, Insightful)

SanityInAnarchy (655584) | more than 3 years ago | (#35180774)

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.

Platforms that run only .NET bytecode (1)

tepples (727027) | more than 3 years ago | (#35181744)

Say what you will about Oracle, but with OpenJDK, I can pretty much do what I want.

Except run on platforms that run verifiably type-safe .NET IL and nothing else. These platforms include at least Xbox Live Indie Games, the only set-top video game platform that officially allows micro-ISVs to develop and sell games for it, and Windows Phone 7. Say I want to write a video game whose physics and AI are shared among all platforms [pineight.com] even if it has a separate graphics engine per platform. Can the Java programming language be compiled to IL, or just to JVM bytecode?

Re:Platforms that run only .NET bytecode (1)

Mike Buddha (10734) | more than 3 years ago | (#35182102)

Can the Java programming language be compiled to IL, or just to JVM bytecode?

The Java programming language can be compiled to IL.

Re:Agree, mostly. (1)

GooberToo (74388) | more than 3 years ago | (#35181880)

Real reasons to dislike .NET are few and far between

Not true in the least. Such an opinion is hinting at your own bias. Realistically, .net is not portable and outside a subject of the Microsoft economy.

Now if you want to rephrase with such a caveat, I certainly won't disagree. But once you're looking at developers who prefer not to be forced to develop only on and only for Windows, there really doesn't exist a reason to like .net at all.

And before we go astray, while interesting, Mono is not a replacement for .net and it in of itself has its own shortcomings which make it unattractive for many, if not most non-windows developers.

Re:Agree, mostly. (1)

RightSaidFred99 (874576) | more than 3 years ago | (#35181946)

Not sure why you edited my comment, you left out the "and generally boil down to cases where it's inapplicable to a specific problem domain". .NET is inapplicable to a problem domain where portability is important to you.

Re:Agree, mostly. (1)

kaiser423 (828989) | more than 3 years ago | (#35181592)

I love C# .net. I have had nothing but absolute, horrible grief with NETMF. Docs wrong, examples wrong, bugs, debug being spotty, etc, etc. On the other hand, Arduino just seems to work. Probably the hardware, but still, it is an embedded system.

Great! (4, Informative)

jason18 (1973154) | more than 3 years ago | (#35180162)

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.

Re:Great! (3, Interesting)

jcoy42 (412359) | more than 3 years ago | (#35180508)

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

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

Re:Great! (1)

Anonymous Coward | more than 3 years ago | (#35180680)

With the LaunchPad you have to deal with propritary IDEs that cost lots of money for anything but the basics. The official Arduino's IDE is completely FOSS and and there are many other open source alternatives to the official.

lol wut (1)

gumpish (682245) | more than 3 years ago | (#35181312)

mspgcc [sourceforge.net] works great for me.

Re:lol wut (1)

dch24 (904899) | more than 3 years ago | (#35181672)

That is not an IDE. Try this.

Obligatory: I actually use gcc and command-line tools (and a plain text editor) for development. That doesn't change what I said above.

Re:Great! (1)

Obfuscant (592200) | more than 3 years ago | (#35181146)

I just bought five of these from Sparkfun. You can't beat them for the money. It takes a bit more understanding of the MSP430 processor to use it, though.

Before that, I got the $20 Ez430-USB sticks. And then the RF ones.

The biggest issue I've found is that the readily available cheap MSP430 chips all need four wire programming and the cheap development kits have Spy-Wire two-wire programming. I ordered a dozen of the MSP430x1xx series to do a project and found out that I couldn't use the USB stick (or Lauchpad) to program them. For a few minutes I thought I'd solved the problem by seeing that the Launchpad (and RF) had six wires in the programming connection, but the additional two were for serial comms with the chip and not the required subset of JTAG. Sigh.

Oh, I also have a pair of the Ez430-Chronos watches. The issue with those is that the full-sized compilers cost an arm and a leg and you can't recompile the code in the watch without it. You can compile a cut-down version, but that version lacks some important details. One is that ti doesn't properly implement the "unlock the buttons" feature, but does allow you to lock them. I've had the watch lock twice and had to reprogram it to unlock it. You need to change the program so it unlinks the 24 hour time from us/metric units on the temp and altitude. If you want feet and F you get a 12-hour clock. If you want a 24 hour clock, you have to accept m and C.

I like the MSP430 as well (0)

Anonymous Coward | more than 3 years ago | (#35181166)

It's definitely somewhat limiting, and there is a byte limit size with the default compiler. But it's very easy to set up and I think I got mine for nearer $2. While there are still some USB haters out there, it did seem to work really well when I tried it.

I think the real killer will be when someone can hit the $20 point with wifi on the board.

Re:Great! (0)

Anonymous Coward | more than 3 years ago | (#35181414)

Less than $5.

+ cost of windows computer you need to buy to use their IDE.

Re:Great! (1)

noidentity (188756) | more than 3 years ago | (#35181976)

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

The $4.30 (+shipping) looks to be a promo price, since you get the whole thing in a box, along with a mini USB cable. I doubt they would sell you several at that price. You get a device that looks to require the included programmer to modify it. With Arduino boards, you either have a USB on the board, or a header for connecting an FTDI serial cable to (or anything else that does 5V serial). The development environment is a commercial trial version, apparently only for Windows.

Once I get back into microcontroller stuff, it's a clear choice to get an Arduino-compatible board. It's going to be around for a long time, tools are going to be there, people who understand the boards, etc. Saving a few dollars on some obscure thing like this one from TI just doesn't seem worth it. For $13 you can get the Arduino-compatible RBBB [moderndevice.com] kit which includes PCB, programmed chip, and parts.

Re:Great! (2)

benjamindees (441808) | more than 3 years ago | (#35181040)

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.

Re:Great! (0)

santax (1541065) | more than 3 years ago | (#35181516)

Ok, I'll take one for the team... A chicken pooped on it? Whut?

Re:Great! (1)

gknoy (899301) | more than 3 years ago | (#35181756)

"Eggs are ready" sensor, I imagine?

Re:Great! (2)

TheRaven64 (641858) | more than 3 years ago | (#35182152)

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.

Arduino programming language (0)

Anonymous Coward | more than 3 years ago | (#35180186)

Does it run C ?

Re:Arduino programming language (1)

Ruke (857276) | more than 3 years ago | (#35180250)

Yes.

Yes (2)

sourcerror (1718066) | more than 3 years ago | (#35180252)

Yes, it does. [wordpress.com]

Re:Arduino programming language (2)

HelioWalton (1821492) | more than 3 years ago | (#35180290)

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.

Yes (1)

itayperl (1340879) | more than 3 years ago | (#35180296)

It does [javiervalcarce.eu] .

Re:Arduino programming language (1)

Anonymous Coward | more than 3 years ago | (#35180396)

Arduino is a development environment around the Atmel ATMega microcontroller, for which several other development environments exist. Atmel makes a complete IDE including simulator, C compiler and assembler available for free.

Re:Arduino programming language (3, Interesting)

0100010001010011 (652467) | more than 3 years ago | (#35180468)

LaunchPad [ti.com] 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 [newark.com] watch. After growing up watching Who Framed Roger Rabbit, who hasn't wanted to unlock their doors with Shave and a Haircut. [ziyan.info]

Re:Arduino programming language (2)

Klivian (850755) | more than 3 years ago | (#35180696)

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 [st.com] , 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.

The PIC was similar (3, Insightful)

Anonymous Coward | more than 3 years ago | (#35180260)

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.

What Atmel Did to Deserve It (0)

Anonymous Coward | more than 3 years ago | (#35180534)

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.

Open source and multiplatform support were important goals for the Arduino project. There was a production quality open source compiler for the AVRs, meaning Linux and Mac support. Mac and Linux support from other vendors has been a tiny afterthought at best. This wasn't so much something Atmel did - Atmel seemed more interested in supporting the IAR compiler with their example code and app notes.

That said, you could argue the C-focused design of the architecture made it easier to create a GCC port for AVR than it would be to do the same for the low-end PIC architecture.

Re:The PIC was similar (1)

Zerth (26112) | more than 3 years ago | (#35180740)

I'm guessing that the hard work of the Arduino folks has really increased Atmel's market share.

Considering Atmel sells millions of chips a year to industrial clients and less than 500k chips total to Arduino and Knockoffduino makers, not all that much.

Re:The PIC was similar (0)

Anonymous Coward | more than 3 years ago | (#35181020)

Throw a bunch of people experience with a particular platform out there and they will use that platform first.

Re:The PIC was similar (1)

harrkev (623093) | more than 3 years ago | (#35181630)

You can have the best chip in the world but nobody will use it if they aren't properly supported.

Yup. I recently used the old Cypress PSoC that I had lying around. This is a COOL chip. It has a plethora of analog block which can be configured as an ADC, DAC, filter, amplifier, etc. It also has configurable digital blocks which can be used as SPI, serial port, PWM outputs, timers, etc. Very configurable with LOT of cool options on-chip.

However, it was a bit of a pain to program an ISR. I could see how to do an ISR in assembly. However, I was using C. How do you tell the compiler that something is an ISR? How do you insert the pointer into the vector table? I has to REALLY search for quite a while in the documentation to get a semi-straight answer to this. And after all this work, the ISR would exit for some compiles, but get locked up on other builds. Very frustrating.

The PSoC is a cool chip if you NEED those configurable blocks. I plan to teach my kids how to make a robot soon. Arduino is what I will be using, just because it appears to be much easier to use (I have never used it, but am looking forward to it).

True, but it's only 8-bit (0, Insightful)

Anonymous Coward | more than 3 years ago | (#35180270)

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:True, but it's only 8-bit (1)

gorzek (647352) | more than 3 years ago | (#35180346)

Sounds almost like a BeagleBoard [beagleboard.org] , though that might be overkill compared to what you described.

Re:True, but it's only 8-bit (1)

ldbapp (1316555) | more than 3 years ago | (#35180432)

This? http://en.wikipedia.org/wiki/Gumstix [wikipedia.org] aka http://www.gumstix.com/ [gumstix.com] All models appear to have SD card readers.

Re:True, but it's only 8-bit (0)

Anonymous Coward | more than 3 years ago | (#35180518)

Well, these are closer to 1 GHz and they have more RAM than you really need as an amateur/experimenter/hacker and the price tag is a little bit high.

I was thinking of something in the $50 to $100 range. /Same AC as the grandparent

Re:True, but it's only 8-bit (1)

Zerth (26112) | more than 3 years ago | (#35180872)

The Papilio [cutedigi.com] boards are FPGAs with an Arduino core. You can treat it as an Arduino with remappable pins(PWM wherever you want) or you can stick your own core on it.

Re:True, but it's only 8-bit (1)

fuzzyfuzzyfungus (1223518) | more than 3 years ago | (#35181356)

The stuff from Leaf Labs [leaflabs.com] is a bit light in the RAM department for full-blown linux; but gives you a 72MHz, 32bit ARM in either an arduino shield-compatible format or a native format that exploits more of the microprocessor's pinout. Fully open toolchain and documentation. Not bad for $50. They apparently also have a version with an FPGA.

If you want to run a full embedded-linux computer, you pretty much have to go one step further. NSLU2s are discontinued now; but should run you under $100 for an ARM board with full debian support. Gumstix is a bit pricier; but smaller and has the advantage of being in production. The various Marvell *plug devices are also pretty cool for the $100 range...

Re:True, but it's only 8-bit (1)

Bassman59 (519820) | more than 3 years ago | (#35181410)

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.

Uh, perhaps this board [digilentinc.com] from Digilent? Or this kit [xilinx.com] from Xilinx? Or similar offerings from Altera and Actel?

What am I missing?

Re:True, but it's only 8-bit (0)

Anonymous Coward | more than 3 years ago | (#35181612)

I want something below $100 that can function as a self-contained embedded Linux platform, as a learning tool for the hobbyist who wants to start using embedded Linux. I think you need at least 16 MB of RAM. I don't know exactly because I've never had the opportunity to play around with embedded Linux, because I have not really been able to motivate the cost of buying a dev board...

Re:True, but it's only 8-bit (0)

Anonymous Coward | more than 3 years ago | (#35181616)

We already have OpenRISC www.opencores.org/openrisc
It's a 32-bit RISC with MMU, optional FPU, ethernet, USB and other stuff.
All RTL code is LGPL, so if you find any bugs in the hardware, you have a chance to fix it or improve it
It runs linux 2.6.37 and GCC 4.5.1 and we're hoping to get it in the mainline kernel some day.
It has excellent debugging options and an architectural simulator, so you can play around with it without buying any hardware.
What we're missing right now is a dynamic linker. It would be great to get some attraction to this. I think it's sad that we have a completely open source hardware platform, but 99% of all open source people are fine with closed source hardware //Olof

ArmMite (2)

chaim79 (898507) | more than 3 years ago | (#35180292)

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.

Arduino "Uno" (4, Informative)

trollertron3000 (1940942) | more than 3 years ago | (#35180320)

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

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.

The Arduino won? (0)

msauve (701917) | more than 3 years ago | (#35180344)

When did they announce the contest? What was the criteria for winning?

Re:The Arduino won? (1)

kwerle (39371) | more than 3 years ago | (#35181546)

Are you kidding? Just read the story!

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'

For years! folks have been asking why it took off! Years!

First wikipedia entry less than 5 years ago:
http://en.wikipedia.org/w/index.php?title=Arduino&oldid=56466347 [wikipedia.org]

Over 100K units in the wild! That's 100 TIMES 1000! WINNER!

Re:The Arduino won? (1)

msauve (701917) | more than 3 years ago | (#35181950)

Uh, there are probably a billion microcontrollers out there, and how many 10's or 100's of millions of microprocessors (Intel, AMD, ARM, etc.) are sold each year?

Yet 100K Arduino "win," if you put enough qualifiers on the criteria (microcontollers, on a development board, costing between $25 and $50?). Enjoy the win.

Re:The Arduino won? (1)

HeckRuler (1369601) | more than 3 years ago | (#35181792)

I believe someone mentioned something like "let there be light" and it's been going from there.
The criteria is pretty much a popularity contest that never ends.

Or are you one of those types that still thinks the Amiga is going to have a comeback any year now?

The real reason it won ... (2)

BitZtream (692029) | more than 3 years ago | (#35180356)

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.

Re:The real reason it won ... (1)

flimflammer (956759) | more than 3 years ago | (#35181000)

To be honest, I think you're giving Arduino a little less credit than it deserves. It's not just popular just because it uses the ATmega. It's popular because it greatly simplifies the whole process from start to end. If you're concerned with bloat in the various libraries, then why don't you fix them? They're not binary blobs. The people who made Arduino are not the ones who released every library for it. It's a community of developers sharing their work.

Re:The real reason it won ... (1)

noidentity (188756) | more than 3 years ago | (#35181796)

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

That's how it always seemed to me. The bare-bones Arduino-compatible boards are little more than an Atmel microcontroller and voltage regulator. There's nothing surprising about this, since microcontrollers pack everything: CPU, Flash ROM, RAM, I/O, ADC/DAC, counters, interrupt controller, low-power mode. It seems that it's the complete package and network effects that make Arduino valuable. Each part of the package benefits from the others, and the standardization allows easy sharing of people's programs.

Immaculate Timing (5, Informative)

eric2hill (33085) | more than 3 years ago | (#35180358)

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.

Re:Immaculate Timing (1)

guyminuslife (1349809) | more than 3 years ago | (#35181490)

Well, thanks for the review. I've been wanting to start doing some hobby electronics for some time now; haven't been sure how to start with it. A few years ago, I'm sure I would have started with something like a PIC, but my fear is that I'd spend my short supply of dollars on something and then discover that I'm missing a half-dozen parts even before I start screwing around with it.

The Arduino won? (1)

camperdave (969942) | more than 3 years ago | (#35180446)

The Arduino won? I didn't even know there was a contest!

There are lots of microcontrollers and boards out there: Basic Stamps, PICs, 68HC11s, Parallax Propellors. You can get some for as little as $3 each. There's probably more stuff out there for Basic Stamps than for the Arduino. There's definitely more PIC related stuff.

Re:The Arduino won? (1)

idontgno (624372) | more than 3 years ago | (#35180532)

I wondered about that. 100K units is winning?

I sense that Arduino is awesome, don't get me wrong. If I were undertaking an embedded microprocessor project right now, I suspect I'd base it on an Arduino's architecture. But what, exactly, is "winning"? If it's a victory, who is it over? Or is it more of a "everyone wins, we just win differently" kind of victory?

All things considered, TFA smells like something between "hype" and "slashvertising".

Re:The Arduino won? (0)

Anonymous Coward | more than 3 years ago | (#35180944)

win [catb.org]

Re:The Arduino won? (1)

Snowblindeye (1085701) | more than 3 years ago | (#35180608)

The Arduino won? I didn't even know there was a contest! There are lots of microcontrollers and boards out there: Basic Stamps, PICs, 68HC11s, Parallax Propellors. You can get some for as little as $3 each. There's probably more stuff out there for Basic Stamps than for the Arduino. There's definitely more PIC related stuff.

Basic stamps and PICs used to get a lot of usage in hobbyist projects, but that has changed in the last couple of years. First it started shifting from PIC to Atmel, and then to the (Atmel based) Arduino. It's been a while since I've seen a new project that someone had chosen PIC for.

IMHO the move to Atmle may have been partially due to the PICs super annoying architecture (bank switching for every other operation, for starters). The Arduino of course has a big advantage for people who don't want (or can't) design their own PCBs.

If look at Projects on Make, or elsewhere online, you'll see Arduino being used in the majority of the newer projects.

Re:The Arduino won? (1)

BJ_Covert_Action (1499847) | more than 3 years ago | (#35180666)

But of all that stuff, how much of it is touted on nearly every maker blog as, "I used the _____ board and the ___ to make these pretty lights glow in my project?"
How much of it is open source? So if you want, you can buy all the components from the local bits and pieces store and solder the board together yourself?
How much of it quickly, simply, and easily installs onto Linux, Macs, and PCs with almost no trouble? (Hell, I can't even get most my desktop hardware to do that one).
How much of it is used by a growing community of amateurs that know next to jack-shit about EE but somehow managed to make their pink unicorn shirt vibrate?
How much of the documentation for all that stuff is available for free on the internet? And easily found with a simple 3 word Google search?

Don't get me wrong, a lot of microcontrollers (including Basic Stamps and PICs) have a lot going for them. And all of them have dedicated communities. But I think the point about this article was that Arduino lends itself to people who don't know much, if anything, about electronics. And, even more importantly, those people have a habit about blogging or writing or even facebooking their latest projects since they consider themselves artists, rather than engineers.

I cut my teeth on microcontrollers with Arduino and I have a bachelor's in aero engineering. The reason I picked Arduino was because, after about 15 minutes of Google searching, I found more Arduino related stuff than anything else. As someone more interested in orbital mechanics and control systems engineering than in learning the ins and outs of EE and bare metal programming, that kind of environment appealed to me immediately. Granted, at some point in the future, I'll start to upgrade to more complex microcontroller boards. But for now, I want to be able to take the ideas I learned in school and build something with them almost immediately. I don't want to have to take another two courses in binary logic and analog-digital conversion hardware to make some motors spin based on the sensor readings from a rangefinder and an accelerometer.

Arduino does a great job at advertising itself as, "Easy to get started and expandable from there." That's appealing, very appealing.

code availability and easy user interface (3, Insightful)

smellsofbikes (890263) | more than 3 years ago | (#35180670)

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.

Make sells Arduino (0)

Anonymous Coward | more than 3 years ago | (#35180716)

Arduino may be the greatest hardware/software/community combo ever, but Make sells these things. Doesn't that suggest at least some bias in the blog post?

Re:Make sells Arduino (1)

mmclure (26378) | more than 3 years ago | (#35180940)

Make also sells their own ARM-based MakeController board which is not Arduino based. If there would be any bias I'd expect it to be towards their own solution.

Pure hype (-1)

Anonymous Coward | more than 3 years ago | (#35180972)

More PR and Slashvertising

Hobby shops (1)

RoccamOccam (953524) | more than 3 years ago | (#35180986)

I've been wondering why some of the big-chain hobby stores here in the States, don't get into carrying Arduino boards and some hobbyist-type electronics components. Radio Shack clearly wants out of the hobby electronics business and we have a big gaping hole that is only filled by mail-order.

These hobby stores have so much room for all kinds specialty crap that it seems they could partner with Make Magazine to carry the parts needed for (at least some of) Make's current projects. It seems like this would be at least as profitable as many of their other merchandise lines.

It won because it's easy. (1)

santax (1541065) | more than 3 years ago | (#35181028)

The ardiuno is expensive, but it's easy to program with the included c#/java like language. Anybody can use it really. And anyone willing to invest a bit of time can easily learn the C-like syntax. It's relative powerful and it can make leds go blink in minutes after you unpack it. Personally I also have an arduino. I use it for prototyping. But the board is to expensive to use in applications. However, the chip itself the atmega is relative cheap and for your apps you don't need all that fancy stuff that's on the arduino. So you just buy the chip, program it in the arduino, and put in your electro-project.

Context, please (1)

93 Escort Wagon (326346) | more than 3 years ago | (#35181074)

Speaking as someone whose understanding of all this is basically at the level of "I know what a microcontroller is, but don't deal with them much"...

What the heck are we talking about? Neither the summary nor the linked article provides any context to those of us (most of the world's population) that isn't intimately involved with microcontrollers. What does "won" mean, exactly? Is this just a hobbyist platform? Does this dominate all microcontroller applications world-wide?

I shouldn't have to do a dozen Google searches to get context.

Re:Context, please (2)

santax (1541065) | more than 3 years ago | (#35181270)

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 [arduino.cc] 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.

Re:Context, please (1)

93 Escort Wagon (326346) | more than 3 years ago | (#35181390)

autohovering quadrocopters.

Heck - right there that's all the context I need!

Re:Context, please (1)

santax (1541065) | more than 3 years ago | (#35181478)

hehe, glad I could be of help. http://www.youtube.com/watch?v=A3FyJZbtSBk [youtube.com] There are more of them, but this one is quite nice.

Re:Context, please (1)

benjamindees (441808) | more than 3 years ago | (#35181298)

What the heck are we talking about?

Arduino is a microcontroller prototyping board with some useful things like standard add-ons, an IDE and some libraries. A microcontroller is basically a small, low-power low-cost computer on a chip that runs a single program and has input and output to things like sensors and relays.

What does "won" mean, exactly?

These days the competition is over developer mindshare. 'Won' means that developers are learning on this platform and toolset rather than some other.

Is this just a hobbyist platform?

Yes but it's mostly just an Atmel AVR so it's easy to transfer to high-volume applications.

Does this dominate all microcontroller applications world-wide?

Not yet.

Re:Context, please (1)

93 Escort Wagon (326346) | more than 3 years ago | (#35181418)

Great - thank you for the informative post!

Re:Context, please (0)

Anonymous Coward | more than 3 years ago | (#35181852)

Maybe this will help: We've got 100+ of these things, or their AVR brethern, running props in our haunted house. And several hundred mroe for spares/test units. They're great 'cuz they're cheap, standardised, flexible, got plenty of input (so we can sense when "victims" are near) and plenty of outputs so we can drive lots of gags. Physically, they're about 2" x 3". So basically, they're little controllers to react to and control "whatever you want".

An open system with critical mass (1)

Pedant (75947) | more than 3 years ago | (#35181114)

When an open system reaches critical mass, it's here to stay. Proprietary systems can hold a monopoly for a while, but not forever, because there's always an incentive to jump ship when the opportunity arises.

A few problems I have had with the Arduino boards (2)

vsage3 (718267) | more than 3 years ago | (#35181260)

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

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.

Re:A few problems I have had with the Arduino boar (1)

santax (1541065) | more than 3 years ago | (#35181350)

You are using it wrong. The arduino itself uses 20ma. It has a sleepmode... For your data you should add an extra eeprom with i2c for example. Or even a flashcardwriter. You can run the arduino of a 9 volt battery btw. It takes anything from 9 to 17 volt I believe. Not completely sure and can differ by manufacturer. The RAM should be used as RAM btw. For variables. For your data use my earlier mentioned option or use the build in eeprom if it's big enough for your goal. I do agree that a bit more memory would have been nice. But this is ok. It gets most jobs done.

Re:A few problems I have had with the Arduino boar (1)

Zulkis (839927) | more than 3 years ago | (#35181444)

ad 2. Use logging shield. You can just dump tracking on SD card.

Re:A few problems I have had with the Arduino boar (1)

grantek (979387) | more than 3 years ago | (#35181790)

If you want extremely light, you don't want a prototyping board with big easy board-to-board pin headers. From the very link you posted, Arduino has the Pro and Pro Mini, which is powered from 3.3V (ie. button cells), and is as minimal a board as you can get without designing one yourself. As for data storage, are you suggesting there's a microcontroller in the same class as the Arduino's Atmel chips that have much more memory? I think you'd be limited to off-MCU storage no matter what platform you're using.

Low barrier to entry (1)

IchBinEinPenguin (589252) | more than 3 years ago | (#35181318)

You need a USB cable and a PC capable of running Java.

That's it. No JTAG programmer, no EEPROM burner, no ICSP interface.

Within minutes you can control actual real-world things like you used to be able to do with a parallel port (remember those?)

Re:Low barrier to entry (1)

santax (1541065) | more than 3 years ago | (#35181398)

Yep, my girlfriend has one of those parallel ports. It's great as input, but when it's used as output it sort of stinks. And it's not multi-threaded. It absolutely refuses to take multiple inputs at once.

Amazing platform and uC (1)

Murdoch5 (1563847) | more than 3 years ago | (#35181346)

I love the Arduino, it's one of the best uC's I've ever used. It has a top notch C environment, good source of compilers and resources and amazing support through forms. If your beginning the trip down uC lane and your looking to get into amateur projects then I highly recommend the Arduino. It so nice to work with that in college we used it power are third year project.

Re:Amazing platform and uC (1)

Bassman59 (519820) | more than 3 years ago | (#35181602)

I love the Arduino, it's one of the best uC's I've ever used.

Then you should know that Arduino isn't a microcontroller. It's a board with a micro installed on it. And you obviously haven't used many if it's "one of the best you've ever used."

Re:Amazing platform and uC (1)

Murdoch5 (1563847) | more than 3 years ago | (#35181734)

I know, your right.

If your beginning the trip down uC lane and your looking to get into amateur projects

For amateur projects I said it's one of the best!!, I stand by that. Sure there are better industry and consumer level uC's for people who are designed larger projects but over all the Arduino + AVR uC is a great board and uC for people beginning or that want a reliable platform.

Way to misquote the article... (1)

Anonymous Coward | more than 3 years ago | (#35181416)

This was posted earlier on Hack-a-Day, and the title was somewhat different:

Why the Arduino Won, and How We Can Destroy It

Arduino is simple, it's fast, but it lets the users get by without actually having to know what they're doing. I would wager that at LEAST half of the Arduino users out there would not know the first thing about a memory structure diagram on any other microcontroller documentation, or how to program using ASM instruction opcodes, or any of the real intricate workings of the timers, registers, etc. The fact is, the Arduino lets people who have no idea what they're doing use a microcontroller, and it lets those that do know what they're doing use one without any real effort or due diligence.

This makes them popular, but the wrong choice. Saying they 'won' and they're here to stay is like saying "Fox news is a credible source of information, and it's not going anywhere". Do you really think it 'won' in any sense? They're still beat out 1000:1 or so for other common microcontrollers(PIC, AVR, MSP, etc) even in the hobby fields. They're not used even a little in professional development fields. For actual production-level electronics, you can't use some toy-like prototyping POS.

Re:Way to misquote the article... (1)

MacGyver2210 (1053110) | more than 3 years ago | (#35181436)

Well, I didn't mean to post that as AC but Slashdot's new board system didn't even prompt me to login or let me know in any way I was posting as AC...so...yeah, that was me.

Is the hobbyist market _that_ significant? (3, Interesting)

petes_PoV (912422) | more than 3 years ago | (#35181530)

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.

Re:Is the hobbyist market _that_ significant? (1)

Arlet (29997) | more than 3 years ago | (#35181784)

Many people keep doing what they are used to. If a student buys an Arduino as a hobby, there's a good chance that the same person, some years later, will design something based on the same AVR architecture that will end up in a larger volume product.

Re:Is the hobbyist market _that_ significant? (1)

profplump (309017) | more than 3 years ago | (#35182078)

But if you can get 100k developers writing for Arduino you have 100k developers that are 97% familiar with Atmel AVR, which is great for Atmel. It's like giving out discounted academic licenses for pricey software programs.

Aaarguino (1)

Bassman59 (519820) | more than 3 years ago | (#35181584)

Not trying to be a hater here, but seriously: you can get a Silicon Labs 8051-based kit, with a micro that has onboard DACs, ADCs, comparators, full-speed USB, and all of the good stuff one gets with an 8051, PLUS the JTAG debug/programming dongle (which Arduino kits DO NOT HAVE) for a hundred bucks [mouser.com] .

OK, so the free SiLabs IDE is for Windows only. But they publish the programming interface protocol (C2 for the example '340 device), they fully support SDCC (as well as Keil, IAR and others) in their debugger and SiLabs support is excellent.

And you can buy the JTAG dongle for $35 [mouser.com] , which is a steal, especially if you remember the cost of the old Nohau emulators.

Arduino is popular among people who don't do this for a living. Which is fine, but it didn't win anything.

Re:Aaarguino (1)

Arlet (29997) | more than 3 years ago | (#35181760)

The 8051 is an ancient piece of crap and it needs to die. Do yourself a favor and get an ARM instead.

and all of the good stuff one gets with an 8051

LOL

Re:Aaarguino (1)

Bassman59 (519820) | more than 3 years ago | (#35181816)

The 8051 is an ancient piece of crap and it needs to die. Do yourself a favor and get an ARM instead.

and all of the good stuff one gets with an 8051

LOL

For a lot of applications, an ARM is overkill. And nobody uses the original 12-clocker Intel 8051s. The SiLabs single-clocker devices are pretty great.

Re:Aaarguino (1)

Arlet (29997) | more than 3 years ago | (#35181884)

For a lot of applications, an ARM is overkill

Instead of 'overkill' you can say 'really powerful', because there is no downside to this 'overkill'. And yes, given the choice between two architectures, I'll take the really powerful one. ARMs are cheap (less than $2 for the cheapest Cortex in low quantities), low power, small size, and have a ton of peripherals. It will let you run high speed USB and 100 Mbps ethernet without a problem.

Anybody still using the Motorola 68HC11? (1)

patniemeyer (444913) | more than 3 years ago | (#35181694)

I remember scouring the suppliers to buy these years ago... collecting the "good ones" with more memory, etc.... saving them for various projects that I never got time for :)

20 years ago the idea of being able to build a little computer into random things around the house for $10 in parts was crazy cool... It's still cool, but less so :)

PIC ? (1)

mjwalshe (1680392) | more than 3 years ago | (#35182128)

PIC Microcontrollers have been around much long and probably have a lot more than 100k units shipped

Ethernet (0)

Anonymous Coward | more than 3 years ago | (#35182188)

any word on when the Ethernet version will be coming?

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>