This fascinating Gadget Lab post examines the Arduino phenomenon and compares it with more robust (but far less ubiquitous) alternative BeagleBoard, with commentary by Make: Online senior editor Phil Torrone. Be sure to read the comments.
Readers: Do you use an Arduino or some other other form of microcontroller — or even a mini PC like the Beagle? What do you use it for and why did you choose that platform? Leave your thoughts in comments.
[Arduino image by linux-works from the MAKE Flickr pool.]
34 thoughts on “Why is Arduino a hit?”
What are the main things that beginners want to do?
Most of the time, they just want to read a sensor value and trigger a notification. Most of the time, they want to do it for less money than an off-the-shelf solution.
That is all.
An 8 bit microcontroller is more than enough for what they need.
Arduino is popular as learning how to use it is so easy; there is so much community support; it’s open source and cheap to delve into; and once you are proficient, you can make almost anything – from a doorbell to an autonomous robot.
I think that with a lot of projects, people are expecting to use them for an extended period of time. For example, on my desk at work I have an Arduino clone being used to convert a Sun type 5 keyboard into a PS2 keyboard. Dedicating a $12 arduino make more sense than dedicating a beagle board that costs ten times as much.
BeagleBoard is in a different price and performance class that Arduino. It makes little sense to compare them.
What I don’t understand is why Arduino is so popular. A PIC is $5 or less compared to Arduino’s $30, the IDE and C compiler are free (as in beer), it comes in a standard DIP, and you can get built-in USB.
Granted, the software isn’t Linux-friendly, the IDE isn’t as nice as Eclipse, and the chip architecture is a little ugly. But all this can be hidden by software. If the Arduino software had been developed for the PIC instead of the Arduino platform, it would’ve been a cheaper, more versatile solution.
BTW, I use PICs, but I’m not really a great fan of them. I’ve been tempted to switch to AVR myself. But PIC’s single-chip DIP with USB has been a compelling reason to stick with it.
Comparing a bare PIC to an Arduino isn’t a fair comparison- with the Arduino, you also get power regulation, all the passive components, headers, and the usb jack. If you want to go bare-bones, you can flash the Arduino firmware into your own AVR chip, add an oscillator, and the price will be pretty comparable to a PIC.
For me, the Arduino was a choice because of the exposure on MAKE. Once into it, I am amazed at how fast one can progress. In three months, in my ‘spare’ time, I have learned a LOT on Arduino. The shields make (oops…MAKE:)) it easy to learn and build also. They led me to other code, which I cut, pasted, debugged and finally grew to understand what I was workng with.
In short, it was the community and ease of initial use.
Coz it’s cheap, well available, has a funny name and its marketed well.
Over the past few years I have used Arduinos, mbeds, HC08s and another ARM board. For the HC08 and ARM board, this wasn’t exactly by choice, the use of the mbed was just to meet requirements that Arduino couldn’t quite match.
The original decision to use an Arduino was based on a mixture of simplicity, cost and space. The HC08/ARM setups I had used previously were the size of a cereal box. To go to something much smaller (Granted, it doesn’t have half the circuits attached) was an improvement. Not only made the prototyping of some projects easier, but also give me a better chance to get used to the electronics side rather than just code.
One of the other minor factors involved, as mentioned by others, was the amount of support available. With other platforms there was a limited amount of support about for the libraries and hardware involved, where as with Arduino, I would go as far as saying there is a minor overload for some topics!
This particularly stood out in a recent project where the available libraries cut the development time down to 4 months compared to the 12 it could have taken doing it with custom hardware and drivers.
I use microchip system because I followed courses with this controller. Is it worth changing and learn again from scratch ?
My biggest realization :
and the how to :
I can solder but I don’t know that much about electronics and I don’t like programming so maybe someone can explain: If you’re just talking about chips the eZ80 series are like $5 and come with built-in, flash RAM. Z80s have been around since 1976 and have been in personal computers, cars, coffee makers, Gameboys, modern cell phones and just about everything else you can think of. So why isn’t the eZ80 more popular with Makers and hobbyists?
I have moved to the Teensy hardware platform. It’s only $18, has 25 I/O pins, and is significantly smaller. I can even fit one in the shell of old flash drives. The Teensy++ has 46 I/O pins, and is still smaller than the duemilanove by a significant factor. Did I mention that it also has a true USB port, and can be a true USB HID device?
I use the Arduino (or rather a variant called Jeeduino most of the time) because it’s inexpensive, can control hardware (it’s a physical world out there) has wireless capabilities, and whatever you would like to connect to someone has done it before, and have written it up (or something close to what you want to do).
I have all my microcontrollers connected to a server, so I get the best of both worlds – when I need something with lots of computing power I use the server to do the processing, but the Arduinos are providing to the connections to control “things”.
I’ve done a couple arduino based projects, and it’s been more than enough for what I was doing, so the $30ish price point vs $180 would keep me from using the beagleboard. The Bb would be way more expensive, and probably would add unneeded complexity.
But also, Arduino gets a lot more play from geek journalism, so branding come into it too.
I think if I moved up in complexity my first stop would be a Make Controller Kit ($100) before I went to a Bb.
The full blown arduino costs 25 euro or so but you can get breadboard ready versions for half that and lower if you want to do a bit of soldering. The arduino wikipedia page has loads of alternatives. This price means I can hack up something in a few hours, stick it in a waterproof case and run it underwater for a week. If it gets damaged , so what.
The Beagle board costs 150 or so and runs full blown linux and can process hidef video. Would I chance that in a tough environment for a week. No way. And anyway it does not do anything like the IO the atmel provides.
It is ridiculous to compare the two. The only thing they have in common is the “open” nature of the projects. Functionality wise, they are not just apple and oranges, but apples and oranges grown for alien mutated super genes lovingly tended by that lady from Sunshine in her space garden.
A better comparison would be to see how the cheap ARM based boards are working out (cortino) . How popular are they? What projects are they used in ?
I also got the make controller v1 a few years ago. It is a great board and the RTOS was a great learning experience for me, but when it came down to it, my hardware processing reqs are quite low.
The way I do my projects now, is i print a custom board on ly laser printer to perfboard drill hole dimensions. I etch and drill the boards and then solder on my components as well as header sockets for the iduino.
If I need networking I use a dedicated mini linux board connected over usb to the iduino that listens on the serial output and either generates the embedded website or sends the data online.
The arduino was created to help artists add interactivity to art projects. I am using it to create functional projects and products. Because of the Arduino environment, I was able to produce working hardware and software is a minimum amount of time with a minimum amount of effort.
Check out my Arduino Sound Effects Generator http://www.youtube.com/user/ElectronicsIsFun#p/u/9/0u0vCnampuQ
Follow me at @Electronics
Follow me at @ElectronicsFun
I too am baffled by the popularity of the Arduino. They must have some good marketing people driving sales because the features/performance of the Arduino is mediocre at best.
My preference for low-end 8-bitters is the Silicon Labs C8051Fxxx family. They have TONS of different processors, so you will almost always find the mix of peripherals you are looking for. Their IDE is free and works well with the (free) SDCC compiler. Their debug cable is cheap (<$35). And they have plenty of demo boards in a variety of price ranges.
You can move up the ladder to 32-bit and still stay well within the 8-bit price range by moving to the Freescale Coldfire V1 core processors. Ashware has a nice download for the GCC compiler. Open source tools are cheap and readily available. And once you master it, the Coldfire line has many code-compatible processors in their V2, V3, and V4 core familites.
Comments are closed.