Share this:

Each month, I’ll be posting a couple of new editorial-style columns here on Make: Online. These pieces are meant to get you thinking, to stir up discussion and debate, maybe even freak you out a little. My first column is called “Why the Arduino Won and Why It’s Here to Stay.”

In about a week, a rep from a large chip company is going to stop by and show me another “Arduino-like platform,” aka The Arduino Killer. This a pretty regular occurrence around here; every month or so there’s a company or person who wants to make the “next Arduino.” They usually contact me because I’ve covered the Arduino for years, helped get it in the maker world, and I use it daily in my work at Adafruit. I think it’s had an amazing impact on electronic hobbyists and artists, perhaps as much as the personal computer in the early days (Homebrew Computer Club, etc). There are more than 100,000+ Arduinos on the market, and by my estimates, a lot more when you add in the derivatives (approximately 150K as of 2/2011). Within the next 5 to 10 years, the Arduino will be used in every school to teach electronics and physical computing — that’s my prediction. There’s no going back.

Most of the time these Arduino-Killer brain-picking sessions end with well wishing, a list of things to consider if they want to kick Arduino in the pants, and that’s that — they usually never really do it. There are a few articles about Arduino, with some great history, but I want to address why it appears to have “won.” But, saying something will be the defacto standard is risky — it’s also too early, right? Saying something won will also cause some debate, and that’s fine — our new comments system works great now (so debate away). I think it won, I’m going to tell you why and why it’s here to stay. If you’re looking to make something to beat the Arduino, I got you covered — here’s your recipe. Let’s get cooking!

What is an Arduino?
Let’s start out with how the Arduino team defines it:

“Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.

“Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be stand-alone or they can communicate with software on running on a computer (e.g. Flash, Processing, MaxMSP).

“The boards can be built by hand or purchased preassembled; the software can be downloaded for free. The hardware reference designs (CAD files) are available under an open-source license, you are free to adapt them to your needs.”

The “what” is still a little vague, and that’s the Arduino’s strength. It’s the glue people use to connect tasks together. The best way to describe an Arduino is with a few examples.

Want to have a coffee pot tweet when the coffee is ready? Arduino.

Want to have plushie steaks glow? Arduino.

How about getting an alert on your phone when there’s physical mail in your mailbox? Arduino.

Want to have a Professor X Steampunk wheelchair that speaks and dispenses booze? Arduino.

Want to make a set of quiz buzzers for an event out of Staples Easy Buttons? Arduino.

Want to make a light-up arm cannon from Metroid for your son? Arduino.

Want to make your own heart rate monitor for cycling that logs to a memory card? Arduino.

Want to make a robot that draws on the ground, or rides around in the snow? Arduino.

For someone who doesn’t know about electronics, or microcontrollers, this sounds cool and fun, and you’ll want to join this club. This is the type of stuff kids want to make — you can even trick them into learning some things along the way. These are the projects science fiction stories are made of, the things gadget sites blog about. What do all of these have in common? They’re ideas that usually wouldn’t actually happen, things we normally just dream about. But now these fantastic ideas are brought to life, and it’s very likely a non-engineer made them.

That’s a big deal because engineers tend to design platforms for other engineers, not for artists, weirdos, or kids who want to connect stuff up in a simple way to share an idea. The Arduino team is not made up of hardcore electrical engineers. They’re designers, teachers, artists, and (from what I can tell) techno-hippies (this is a compliment, I hope I didn’t offend them.) The Arduino is mostly based in Italy, and every year I read another article about how Italy is struggling to find “their own Google” when they already have it. It’s the Arduino — they just don’t realize it yet.

If you look at examples of Arduino projects you’ll see the makers were more interested with the what — not the how — of the electronics. The cranky people who enjoy being mad about Arduino’s success love to say that the Arduino doesn’t teach the underlying electronics, “Bah! this isn’t REAL electronics,” they say, “It’s too easy!” Yes, it is. If you want to make an LED blink or a motor move without using an Arduino, good luck if you’re an artist or designer. We’re talking days to get it right (if it works at all). Sure, it’s nice to pay your dues and impress others with your massive Art of Electronics book, but for everyone else out there, they just want an LED to blink for their Burning Man costume.

I think my favorite example of how parts of the old-school microcontroller community viewed the Arduino comes from AVR Freaks, the official community dedicated to the AVR processor (same one used in the Arduino). You would think they would love all this new attention, bringing AVR microcontrollers to the masses. But many in the AVR Freaks community do not like all these non-engineers with their weird art projects messing up their hierarchy. My favorite quote (and I want this on a T-shirt) is:

This mistaken attitude actually helped Arduino, because it pushed the Arduino fans to build their own community, and one that I would say is more inclusive and shies away from condescension.

The Arduino is simple, but not too simple. It’s built around the idea that students will be using these to “do” something: get sensor data in, have a bit of code, do something with that. Maybe they didn’t even write the code, they cut and pasted it to get started. It’s hot glue, not precision welding. No one is going to cut a hand off or burn down the studio experimenting. One of the Arduino team members teaches designers and artists — everyday, the platform is being built and improved for step-by-learning, building on lessons and sharing code — these designers and artists are using Macs and tinkering in Processing (Arduino’s older sibling).

OK, so it’s all warm and fuzzy, an artsy love fest, and that’s why it’s the DIY success story? No, there’s way more! Let’s get a little more specific…

The IDE Runs on Macs, Linux, and Win
The IDE works on a Mac, Win, and Linux, and it’s completely open source. The IDE is how you program the Arduino — it’s based on Processing (a graphics programming language and development system popular with artists and designers), which has been around for a long time. It runs on Macs and Linux, not just Windows, and that matters if you want to be inclusive. It’s based on a strong and well-supported backend, the open source gcc toolchain, and wrapped in Java, so porting is easy and bugs can be found and fixed. There are enough smart people using and working on the IDE to keep it going strong. Want freaky cool people to do neat stuff with your platform? You gotta have your IDE run seamlessly on a Mac and also Linux.

The Driver Actually Work On Macs, Linux, and Win
Again, like the IDE, the drivers to use the board work on Mac, Win, Linux, and the FTDI drivers “just work.” Sticking with serial, a well understood (but slow) interface, was a good call. Sure HID or something custom is cool and all, and can be much faster, but the serial chip works, can be used for debugging as well as programming, and easily slots into software tools like Java, Python, Perl, C, NET, BASIC, Delphi, MAX/MSP, and PureData, Processing, etc.

Libraries, Easy-to-Do Simple Things, Easy-to-Do Hard Things
There are tons of object-wrapped libraries to do complex things, like writing to SD cards, LCD screens, parsing GPS. And there’s are also libraries to do simple things, like twiddle pins or debounce buttons. We’ve written UART setup code 10 times for 10 chips and frankly, we’re tired of it. Much nicer to just call Serial.begin(9600) and have it sort out the registers for us.

Lightwight, Runs on the Metal
The code runs directly on bare metal, with a well-tested and understood compiler (we would even say that avr-gcc is the default/standard compiler for AVR.) It’s not interpreted like .NET or BASIC. It’s fast, it’s small, it’s lightweight, and you can use the HEX file to program fresh chips in bulk.

Sensors
The Arduino really took off because it has analog-to-digital input, in other words, you can take in sensor data like light, temperature, sound, or whatever using the low-cost sensors already on the market and get that into the Arduino easily. It also has ready-to-go SPI and I2C for digital sensors. This covers 99% of sensors on the market. You can’t easily do this with other platforms — it’s completely bizarre to see a BeagleBoard (great product) with an Arduino basically strapped to it just to get sensor data in.

Simple, But Not Too Simple
Many dev boards are historically enormously complex with a lot of added-on parts like LCDs, buttons, LEDs, 7-segments, etc,. showing everything it can do. Arduino has the bare minimum. Want more? Get a shield. There are hundreds of Arduino shields, from LCD to Wi-Fi, but it’s up to the user to add that. Shields add extra functionality easily, and there is a business incentive for others to make them.

Not Made By a Chip Maker
The board was not designed by a chip maker. Why is this important? Chip makers often want to show how their product is different so they add weird things to differentiate themselves. The Arduino highlights commonalities between microcontrollers, not the differences. This means that the Arduino is a perfect beginner platform – everything you can do with an Arduino you can do with any other microcontroller, and the basics will last you for a long time.

Low Cost
You can get an Arduino for $30, and we’ll probably see $20 Arduinos soon. Many dev boards start at $50 and could easily get to $100+, although now we’re seeing chip companies start to realize that its worthwhile to have a more pragmatic pricing strategy.

Open Source
While it’s nice that Arduino is open source, and commercial use is allowed if you make a clone, it’s not the biggest reason, which is why it’s down near the end of the list. However, that isn’t to say it doesn’t matter at all. Specialized derivatives can be made without paying someone or asking anyone. It’s open source hardware so a company or school can use it without any per-seat licensing. There’s no risk that it will be discontinued and the software gone forever. If you want a new feature, you can spend the time and get it added. When thousands of people have a small stake in something, or ownership, they care more. Does anyone even debate if open source software is a good idea any more?

That’s why it “won” (at least that’s why I think it won). There isn’t another platform that does this. Some are very close (like the Netduino, a great platform that fills a niche), but they still have a few more things to do. You might be checking off these points in your head with agreement, or you might be hyperventilating with a big reply forming about how FPGAs are so much better. Either way, unless you can check off each of these points, your platform isn’t ready to compete against the Arduino. Especially if you’re going to call it an Arduino Killer.

Why Arduino is Here to Stay
The barrier to entry isn’t a monetary one, it’s a philosophical one. This requires boldness and getting out of committee-think. A chip company needs to show off chips — they don’t care about Mac support, or writing tons of software, libraries, and IDEs. Chip companies are (historically) the ones who usually make the platforms. We’ll see some of the big players flood the market with subsidized hardware to beat the $30 price point of the Arduino, but that doesn’t matter if the Arduino support and quality stay high.

Why else is it here to stay? The community. How can you get 100,000+ people to jump ship? You can’t. To get close, you’ll need to develop something just like the Arduino, support its shields and accessories, and write a lot of code (something chip companies hate to do.) Great software for multiple systems, lots of libraries, drivers that work, simple, low cost, and open source. And you know what? I think that’s what the Arduino team really wants. They’re techno-hippies — they want to see other platforms with the same ideals — that’s the game they’re actually playing. And I think it’s what we all want, whether it’s called an Arduino or not.

If you want to beat them, you’ll need to take a leap and become them. The best solution for users is what really already won, and it’s here to stay. Long live King Arduino!

Share this:

I have a couple comments/questions though.. I have never used an Arduino but have used various other microcontrollers.

The majority of projects that I make tend to be fairly simple but too complicated to do without a microcontroller. I also like my projects to be somewhat permanent.. For example a pressure sensor to monitor the level of water in a tank. LED matrix display rave glasses. A wiper delay for my old Chevy.

I feel an arduino is overkill for these projects, and since it costs $30, I probably means I’d have to dismantle one project before I move on to the next one.

That’s why I usually use a PicAXE, I can get 5 for the price of one Arduino, the programming is in BASIC, and the packaging is very small so my projects can be out of sight.

Again, these examples only pertain to ME, and everyone else’s situation is different. But given most of the projects I see others do, I’m still surprised by Arduino’s dominance.

I readily agree on the advantages you mention in your article but I honestly don’t see how they have created such a large community.

My only guess is that for most Makers, open source is a VERY big deal; big enough to win over the simpler, cheaper and easier to use PicAXE.

Any thoughts?

http://pulse.yahoo.com/_MGKNIFEAWTG2SHRDYDNHVK4VY4 Alex

You realise that the $30 is for a full development board yeah? That includes USBTTL converter, power supply, pin headers etc etc…

As soon as you get your project working, you pop out the microcontroller and put it into your final PCB. Drop a new $4 micro into the development board and onto the next project!

http://www.facebook.com/profile.php?id=8629512 Luis Lopez-Garcia

That’s just the thing, you don’t need a development board for the picAXE, you pretty much just connect pin#2 to your serial connection and you can program it!

Point is that with an Arduino, you NEED the development board to get started. With the picAXE just 2 resistors..

I don’t want this to be a picAXE vs. Arduino conversation, I just sincerely do not see a major advantage of the Arduino for simple projects. When you start to need network connectivity or other more sophisticated capabilities, then I would probably go with an Arduino as well..

http://twitter.com/DJSleazyD Dan Afonso

I’ve used both. I worked as an EE for a bunch of years before leaving to a “better” life in IT. There is no good comparison between the two families. PICAXE is a super limited system for beginner robotics designers to get stuff done. Given that the 18x is around $10 per chip, and you probably got a programmer of dev board for about $20, The investment is comparable with the Arduino.

While you can just hook up a serial port through a couple of resistors to the chip, you must be sure that your serial port can handle sending BREAK codes, so a lot of USB to serial converters are out.

Much more importantly, you have no access to interrupts, or fuse settings, or some timers on the chip. The compiler actually makes YOU do the memory management as it has no variables, just raw registers to deal with. If you want to use RAM, you need to PEEK and POKE out of it. This is nuts! That’s why we use high level languages! Given the limited program space, and that you need to buy these things from RevEd at 5x the cost of the micro, I’m just not convinced it’s a good platform for anything but the smallest of projects

While the Arduino does suffer from being the hippy artist platform, it is just an AVR. The magic is in the dev system. The chips are relatively cheap and you can make as many as you want.

I think the PJRC guy was very smart to release his dev board (The Teensy) with a compatibility mode for the Arduino dev system so that you could leverage a large amount of the codebase for getting stuff moving, or just program it like a regular AVR if you didn’t want the bloat.

I understand that the PICAXE works for you, but understand that as someone who understands what you should be able to do with a micro and spent more time fighting the damn chip to do some extremely simple stuff, I’m guessing that your needs don’t run the gamut of what is offered by these other systems. If that’s the case, then the PICAXE is a great environment and fast to develop for. If you need to read out an SD Card or bit bang 12 channels of PWM, or be able to handle interrupts on timer ticks for precise timing, thgouh, check out some other stuff.

Now I’ve not heard of the PicAXE specifically, but I’ve used PIC in the past, and I have to say, it is definitely NOT easier to use. Arduino takes care of so much of the low-level stuff that you can just cut-and-paste some code and be done! Maybe it’s just me but using a Java-like language with functions and what not is way easier than programing with GOTOs and labels and trying to remember which registers do what…

Also, you may buy 5 PicAXE chips for the price of one Arduino, but don’t you have to also buy a programmer, then a board/voltage regulator, etc? The nice thing about Arduino is you can just throw it in anything, do a minimal amount of soldering (often times zero), connect a battery and be done! For me, the convenience of paying $30 for all that hardware to be built already is way more worth it than doing it every time I want to make something. Again, the community really helps out in this regard since someone has probably already done something similar and release the code/tutorial online. It turns a weekend project into a two-hour project, which helps when you have a very high-level idea and want to churn it out without thinking too much about the details.

http://www.facebook.com/profile.php?id=8629512 Luis Lopez-Garcia

The picAXE is a pic with a preinstalled BASIC interpreter. So while it may not be efficient, it is ridiculously simple. BASIC is without a doubt the simplest programming language there is.

Here is the COMPLETE code for a blinking LED:

main:
high 1
pause 1000
low 1
pause 1000
goto main

With regards to the programmer, like I replied to Alex, you don’t need a development board or programmer to get going..

You are right that the Arduino community is much larger than the picAXE community, so you do have to kind of figure things out on your own.. But actually, I often check out Arduino forums to figure out how people have solved certain problems and then figure out how to implement them on the PicAXE!

its shows the basic circuit needed to get an atmega chip, ideally with the arduino bootloader already programmed which can be picked up for a few pounds each on ebay, up and running on a breadboard. By adding a USB/Serial (or serial-ttl serial if you want) you can program the chip using the ardiono software all without using the development board or programmer (The link does show how to add the isp header to do inline programming using the stardard avr toolset).

as for the blinking LED code its not too dissimilar in arduino land

void setup() {
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
}

anyway thanks for the quick overview of the picAXE. I’ll look out for a chip and have a play.

its shows the basic circuit needed to get an atmega chip, ideally with the arduino bootloader already programmed which can be picked up for a few pounds each on ebay, up and running on a breadboard. By adding a USB/Serial (or serial-ttl serial if you want) you can program the chip using the ardiono software all without using the development board or programmer (The link does show how to add the isp header to do inline programming using the stardard avr toolset).

as for the blinking LED code its not too dissimilar in arduino land

void setup() {
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
}

anyway thanks for the quick overview of the picAXE. I’ll look out for a chip and have a play.

http://twitter.com/dev_dsp Adam Thomas

I think you’re still missing one key reason (which you hint at but don’t spell out) that Arduino has taken off and what every other dev board manufacturer has failed to implement. The time it takes from plugging in an Arduino the first time and having code you have changed running on it is second to none. There is no registration process or unfamiliar license agreements to click through. You only need to download one package and there is almost certainly an up to date binary for your platform. If you bought the basic Arduino board you only need to change at most 1 option to have the IDE talk to your board. There is a dead simple hello world example (blink) which most people can follow just by looking at it and reading the comments. You can have the code in your IDE compiled, linked, converted to the right format and uploaded to your board by pushing one button. _One Button_. You don’t have to setup the project, you don’t have to configure a handful of options, you don’t have to swap between your coding IDE and your uploading tool.

In 10-20 mins (depending on your net speed) you can have code you have had a hand in writing running on a device. No other platform on the market has such an easy and short time to first successful code push. The Arduino is _empowering_. I still remember how good it felt to see the LED on pin 13 blink and then, after a few key strokes and the click of a button, that little LED blinked faster! It’s such a trivial example and the old school embedded guys can laugh all they like but I don’t care.

Indeed! Compare Arduino setup to that of straight AVR development. Even when you know what you’re doing, implementing the AVR tool chain can be an arduous, confusing process. Plus, you need that much more hardware. I’ve successfully completed the setup on both Win and Linux machines, it’s not an enjoyable task.

Anonymous

that’s right, within 10 minutes you can actually do something with an arduino. the golden 10 minutes of a product experience. the other boards and not close to that yet, it takes a day to set up a tool chain and hello world.

http://www.ronamundson.com/twitter/ Ron Amundson

As an old school embedded guy, I’m laughing right along. :) The Arduino is a wonderful tool as it gets embedded systems out of the ivory towers of experience, education, and credentials, and into the hands of the masses. When an artist can get an Arduino up and running to accomplish the task in front of them in short order, I see it as we all win. When someone without many thousands of dollars of tools, and thousands of hours of experience can create a device which gets pretty darn close to what an experienced embedded developer with all of the above and more, we all win. Sure, it will never be as robust, inexpensive, or EE cool as something developed with assembly language… but how many times outside of volume production are such characteristics really needed? More so, even with all the tools, and experience, how many embedded systems really end up being massive disasters in the making?

That being said, at some point the Arduino will go away, if not due to a better mousetrap, but because all processors have a finite life cycle. Eventually something new will come along, and with it, an Arduino style replacement that is likely nothing like what we have today.

http://twitter.com/noise_is_life Pat Arneson

After I had played with the Arduino for a couple of years I decided to pick up a USBtinyISP and try some “real” AVR programming. It took me no less than a week to get that same led blinking on an attiny13. Things progressed quickly after that, but it really made me appreciate the Arduino.

http://twitter.com/noise_is_life Pat Arneson

After I had played with the Arduino for a couple of years I decided to pick up a USBtinyISP and try some “real” AVR programming. It took me no less than a week to get that same led blinking on an attiny13. Things progressed quickly after that, but it really made me appreciate the Arduino.

http://twitter.com/noise_is_life Pat Arneson

After I had played with the Arduino for a couple of years I decided to pick up a USBtinyISP and try some “real” AVR programming. It took me no less than a week to get that same led blinking on an attiny13. Things progressed quickly after that, but it really made me appreciate the Arduino.

http://www.facebook.com/profile.php?id=502909944 Michael Kehoe

While I agree with most things in your article, basically what you’re saying is that Arduino has made good use of ALL of the available features of the processor. The problem I have(as an electrical engineer) is that for anyone involved in designing a product at all, the platform is rather unusable.

For example, if you take the core libraries, ALOT of them are poorly written and would not even come close to passing any best practice test. You can easily find a 260% space saving if you follow best practice. So if you are learning to program as an engineer, using an arduino, you do not learn much and if you do, it’s not best practice.

Secondly, the arduino platform provides no hardware flexibility at all. One of the joys and pitfalls of the platform is that you are stuck to the hardware that you use(except for being able to possibly swap the micro). You cannot change what type of USB you use, you can’t change the crystal you use(or easy disable it) and you can’t change the power regulation systems it employs. These are all important things to a designer/engineer.

Over my summer holiday(I’m in Australia), I have basically built my own open-source AVR platform for engineers/designers that allows greater flexibility in hardware choice and provides 260% greater efficiency in software size, while being a lot more powerful.

I believe that Arduino is a platform for strictly non-engineering types who only know the bare basics, it is about time that a platform for engineers/designers was created that filled the gaps or arduino.

While I certainly agree with you that some of the libraries are not as efficient as they could be, it’s also important to remember that Arduino is not claimed to be the most efficient embedded board out there. In my opinion, it’s not supposed to be.

I’ve always viewed the goal of Arduino as one of education. It’s designed to teach the basic concepts of embedded electronics. Code that is both easy to understand _and_ completely optmized is quite rare.

For example, you might be able to speed up a math operation with binary shifts and adds in place of standard operators, but to a novice reading that code it would look confusing. Taking it further, you could create object files entirely in assembler — again, this might increase efficiency a great deal, but a novice has no idea how to read that.

All that said, I’ve been impressed at the programming and electronics skills of some “non-engineers” I’ve seen, many of whom cut their teeth on the standard Arduino libraries and hardware before diving in and doing much more advanced stuff.

Arduino is great because it can give you results right away, and quickly build your confidence and understanding. Confidence is the only real currency of innovation after all. Once you have that, you can move on to more sophisticated projects. But without an easy-to-understand entry point, you’ll never get there at all.

http://twitter.com/geoff_swan Geoff Swan

I’m sorry. But the number of EEs who have this *exact* response to Arduino? Perhaps this should be spelt out: the Arduino was *NOT* designed for Electrical Engineers!!
Arduino is about enablement and accessability. What made Apple successful? Ultimately they understood User Interface. Arduino – exactly the same. Arduino has created a tool that opens up microcontroller development to everyone; and EEs seem to hate it.
EEs will jump up and down and say “but that’s not how you should do it” – while artists and makers blithely continue to produce awesome projects, blissfully unaware that they are wasting clock cycles and have larger binaries than necessary.
Engineering is about balancing tradeoffs and understanding the larger system, not micromanaging code size. Oh and guess what – if the clock cycles and code size are mission critical; guaranteed it will not be an EE doing the coding.

http://twitter.com/geoff_swan Geoff Swan

I’m sorry. But the number of EEs who have this *exact* response to Arduino? Perhaps this should be spelt out: the Arduino was *NOT* designed for Electrical Engineers!!
Arduino is about enablement and accessability. What made Apple successful? Ultimately they understood User Interface. Arduino – exactly the same. Arduino has created a tool that opens up microcontroller development to everyone; and EEs seem to hate it.
EEs will jump up and down and say “but that’s not how you should do it” – while artists and makers blithely continue to produce awesome projects, blissfully unaware that they are wasting clock cycles and have larger binaries than necessary.
Engineering is about balancing tradeoffs and understanding the larger system, not micromanaging code size. Oh and guess what – if the clock cycles and code size are mission critical; guaranteed it will not be an EE doing the coding.

http://twitter.com/geoff_swan Geoff Swan

I’m sorry. But the number of EEs who have this *exact* response to Arduino? Perhaps this should be spelt out: the Arduino was *NOT* designed for Electrical Engineers!!
Arduino is about enablement and accessability. What made Apple successful? Ultimately they understood User Interface. Arduino – exactly the same. Arduino has created a tool that opens up microcontroller development to everyone; and EEs seem to hate it.
EEs will jump up and down and say “but that’s not how you should do it” – while artists and makers blithely continue to produce awesome projects, blissfully unaware that they are wasting clock cycles and have larger binaries than necessary.
Engineering is about balancing tradeoffs and understanding the larger system, not micromanaging code size. Oh and guess what – if the clock cycles and code size are mission critical; guaranteed it will not be an EE doing the coding.

http://twitter.com/geoff_swan Geoff Swan

I’m sorry. But the number of EEs who have this *exact* response to Arduino? Perhaps this should be spelt out: the Arduino was *NOT* designed for Electrical Engineers!!
Arduino is about enablement and accessability. What made Apple successful? Ultimately they understood User Interface. Arduino – exactly the same. Arduino has created a tool that opens up microcontroller development to everyone; and EEs seem to hate it.
EEs will jump up and down and say “but that’s not how you should do it” – while artists and makers blithely continue to produce awesome projects, blissfully unaware that they are wasting clock cycles and have larger binaries than necessary.
Engineering is about balancing tradeoffs and understanding the larger system, not micromanaging code size. Oh and guess what – if the clock cycles and code size are mission critical; guaranteed it will not be an EE doing the coding.

http://twitter.com/geoff_swan Geoff Swan

I’m sorry. But the number of EEs who have this *exact* response to Arduino? Perhaps this should be spelt out: the Arduino was *NOT* designed for Electrical Engineers!!
Arduino is about enablement and accessability. What made Apple successful? Ultimately they understood User Interface. Arduino – exactly the same. Arduino has created a tool that opens up microcontroller development to everyone; and EEs seem to hate it.
EEs will jump up and down and say “but that’s not how you should do it” – while artists and makers blithely continue to produce awesome projects, blissfully unaware that they are wasting clock cycles and have larger binaries than necessary.
Engineering is about balancing tradeoffs and understanding the larger system, not micromanaging code size. Oh and guess what – if the clock cycles and code size are mission critical; guaranteed it will not be an EE doing the coding.

http://pulse.yahoo.com/_HOUD7NRINIMD5GZXDPQ76R7DF4 Minusphil Torrone

“…if the clock cycles and code size are mission critical; guaranteed it will not be an EE doing the coding. ”

And that’s because…?

Anonymous

I’m afraid I have to take exception to every one of your statements about EEs. I don’t know why you assume we’re all close-minded loudmouths.

http://twitter.com/geoff_swan Geoff Swan

I *never* used the term “all” – that would be rash generalisation. Obviously there was a little hyperbole used in my comment also. However, have you not seen what I refer to time and again? PT even touches on it a bit refering to the AVRFreaks comments. EEs aren’t the only ones to respond to arduino in this fasion.

http://twitter.com/geoff_swan Geoff Swan

I *never* used the term “all” – that would be rash generalisation. Obviously there was a little hyperbole used in my comment also. However, have you not seen what I refer to time and again? PT even touches on it a bit refering to the AVRFreaks comments. EEs aren’t the only ones to respond to arduino in this fasion.

Anonymous

I’ve introduced a number of EE friends to Arduino, and most of them think it’s neat — many of them have taken to using it in their work. Not as part of an embedded system, mind you, but certainly as a handy platform for testing new sensors, SPI devices, etc. quickly. It’s just another helpful tool to them.

To be honest, the only place I’ve seen rabid Arduino hate from engineers is on the Internet — that should tell you everything you need to know :)

Anonymous

I’ve introduced a number of EE friends to Arduino, and most of them think it’s neat — many of them have taken to using it in their work. Not as part of an embedded system, mind you, but certainly as a handy platform for testing new sensors, SPI devices, etc. quickly. It’s just another helpful tool to them.

To be honest, the only place I’ve seen rabid Arduino hate from engineers is on the Internet — that should tell you everything you need to know :)

Anonymous

+1 this has been my experience as well – all the really good engineers i know love the arduino and use it in all the ways john outlined.

that said, yah – on the internet folks can be less than “supportive” (i used the avr freaks community as an example of some harshness towards arduino users).

Anonymous

+1 this has been my experience as well – all the really good engineers i know love the arduino and use it in all the ways john outlined.

that said, yah – on the internet folks can be less than “supportive” (i used the avr freaks community as an example of some harshness towards arduino users).

Anonymous

+1 this has been my experience as well – all the really good engineers i know love the arduino and use it in all the ways john outlined.

that said, yah – on the internet folks can be less than “supportive” (i used the avr freaks community as an example of some harshness towards arduino users).

http://twitter.com/geoff_swan Geoff Swan

true enough. I certainly wasn’t accusing MK of rabid hate – or any EE for that matter. I was a bit worked up – so I apologize for the hyperbole. PT is right – the Arduino has the game won at present. However if one of the large players figures out what makes Arduino successful, and decides the market is worth it – we may see something interesting. Either way we win.

http://twitter.com/geoff_swan Geoff Swan

true enough. I certainly wasn’t accusing MK of rabid hate – or any EE for that matter. I was a bit worked up – so I apologize for the hyperbole. PT is right – the Arduino has the game won at present. However if one of the large players figures out what makes Arduino successful, and decides the market is worth it – we may see something interesting. Either way we win.

http://twitter.com/geoff_swan Geoff Swan

true enough. I certainly wasn’t accusing MK of rabid hate – or any EE for that matter. I was a bit worked up – so I apologize for the hyperbole. PT is right – the Arduino has the game won at present. However if one of the large players figures out what makes Arduino successful, and decides the market is worth it – we may see something interesting. Either way we win.

http://twitter.com/geoff_swan Geoff Swan

I *never* used the term “all” – that would be rash generalisation. Obviously there was a little hyperbole used in my comment also. However, have you not seen what I refer to time and again? PT even touches on it a bit refering to the AVRFreaks comments. EEs aren’t the only ones to respond to arduino in this fasion.

http://twitter.com/geoff_swan Geoff Swan

I *never* used the term “all” – that would be rash generalisation. Obviously there was a little hyperbole used in my comment also. However, have you not seen what I refer to time and again? PT even touches on it a bit refering to the AVRFreaks comments. EEs aren’t the only ones to respond to arduino in this fasion.

muppet

“I believe that Arduino is a platform for strictly non-engineering types who only know the bare basics”
Doh?

http://www.facebook.com/profile.php?id=6700966 Kevin Nelson

hey pt, are you familiar with LeafLabs?

they’re doing an Arduino-ish spinoff based on the STM32 microcontroller. not quite as up to the level of arduino in terms of usability, but a boatload more features and only $50.

i don’t think they’re trying to be an Arduino Killer as much as another option in the community, but they’re worth having a look at.

Anonymous

yup! seen it, like it!

Anonymous

whatever happened to the Make Board?

Anonymous

whatever happened to the Make Board?

Anonymous

whatever happened to the Make Board?

Anonymous

whatever happened to the Make Board?

Anonymous

yup! seen it, like it!

http://david.rysdam.org/blog/ dr

“Won”? “Killer”?

It’s not a contest or a zero-sum game. Diversity is good.

http://pulse.yahoo.com/_MLXO6X2BMZBD345H42YSRMSDZA Robbie

ATMEL is the real unsung hero here.

Talk about stealing thunder.

I am disgusted at the lack of props for the people who actually make all this hoopla fly.

Try using your “arduino” without the ATMEGAxx.

Man, and I thought higher functioning people were more understanding.

and whats more your picture which plainly spells out who made the PCB has the time old manner of
blocking reproduction of the device. SAND OFF THE CHIP DETAILS.

Go ATMEL!

Anonymous

I think the chip in the illustration is just a slug — a placeholder. You know, until the “heroes” at Atmel can ramp up production at their Fortress of Solitude.

Anonymous

ATMEL doesn’t mention arduino (zero results on their site the last i checked) they’ve never helped out the arduino team that anyone knows of it seems, they haven’t celebrated it, or promoted it in any way that i recall – i’d love to see that change.

AVR dude was even made by someone else, i’m pretty sure they’re mostly ignoring the arduino project. they sell a product, arduino uses it. i think that’s the relationship at this time.

part of the goal of this article is to maybe get ATMEL excited about the arduino too :)

http://twitter.com/projectgus Angus Gratton

That’s something I found interesting in the article. That Atmel has sold less than 200,000 AVRs in Arduinos. That’s a lot of Arduinos in Makerland, but it’s probably not a lot of ICs in Atmel-land.

Which could explain why Atmel is not taking time out for Arduino. It doesn’t explain why other chip manufacturers are trying to duplicate Arduino’s success, though.

Anonymous

Unfortunately, this is all too true for *any* semiconductor manufacturer. It’s a straight numbers game. The numbers of micros sold in Arduinos over time is very small compared to the large accounts where they might buy microcontrollers in the millions, for a single product, for a single year. Because of this, it dictates where to spend limited time and focus. As I said, this is very unfortunate, but it’s just a fact of the industry that we’re in.

http://pulse.yahoo.com/_XE2K33PECLMR2NO6LSW4TVLTWU Jim Brain

I still think Atmel could do more without exerting a lot of funds. In the social arena, not even acknowledging the platform makes Atmel look bad in the community mindset. Surely it can’t cost much to throw a few dev boards at an Arduino contest or put an http://www.atmel.com/arduino page up simply directing folks to the main sites.

Note that I don’t even use the platform (I roll my stuff on bare AVRs), but I still see the outcome.

http://pulse.yahoo.com/_XE2K33PECLMR2NO6LSW4TVLTWU Jim Brain

I still think Atmel could do more without exerting a lot of funds. In the social arena, not even acknowledging the platform makes Atmel look bad in the community mindset. Surely it can’t cost much to throw a few dev boards at an Arduino contest or put an http://www.atmel.com/arduino page up simply directing folks to the main sites.

Note that I don’t even use the platform (I roll my stuff on bare AVRs), but I still see the outcome.

http://pulse.yahoo.com/_XE2K33PECLMR2NO6LSW4TVLTWU Jim Brain

I still think Atmel could do more without exerting a lot of funds. In the social arena, not even acknowledging the platform makes Atmel look bad in the community mindset. Surely it can’t cost much to throw a few dev boards at an Arduino contest or put an http://www.atmel.com/arduino page up simply directing folks to the main sites.

Note that I don’t even use the platform (I roll my stuff on bare AVRs), but I still see the outcome.

Anonymous

Unfortunately, this is all too true for *any* semiconductor manufacturer. It’s a straight numbers game. The numbers of micros sold in Arduinos over time is very small compared to the large accounts where they might buy microcontrollers in the millions, for a single product, for a single year. Because of this, it dictates where to spend limited time and focus. As I said, this is very unfortunate, but it’s just a fact of the industry that we’re in.

Anonymous

I’m sure you’re correct, but it’s still very shortsighted by Atmel. Putting resources into Arduino would be much like Apple giving computers to schools. It’s introducing those who may be future large customers to your products and your company. It would be a tiny investment with potentially huge payoffs. Most companies would kill for the buzz that surrounds Arduino.and do everything they can to feed it.

Anonymous

I’m sure you’re correct, but it’s still very shortsighted by Atmel. Putting resources into Arduino would be much like Apple giving computers to schools. It’s introducing those who may be future large customers to your products and your company. It would be a tiny investment with potentially huge payoffs. Most companies would kill for the buzz that surrounds Arduino.and do everything they can to feed it.

Anonymous

I’m sure you’re correct, but it’s still very shortsighted by Atmel. Putting resources into Arduino would be much like Apple giving computers to schools. It’s introducing those who may be future large customers to your products and your company. It would be a tiny investment with potentially huge payoffs. Most companies would kill for the buzz that surrounds Arduino.and do everything they can to feed it.

http://twitter.com/projectgus Angus Gratton

That’s something I found interesting in the article. That Atmel has sold less than 200,000 AVRs in Arduinos. That’s a lot of Arduinos in Makerland, but it’s probably not a lot of ICs in Atmel-land.

Which could explain why Atmel is not taking time out for Arduino. It doesn’t explain why other chip manufacturers are trying to duplicate Arduino’s success, though.

Anonymous

To clarify: AVRdude is just another open source project, whose purpose is to program (download/upload) firmware to an AVR device. The arduino project is not ignored by the avrdude project. The avrdude project serves its own purpose and has a wide audience.

Eric Weddington
Creator of WinAVR
(and also happens to be co-developer of avrdude)

Anonymous

hey eric! we love AVRdude! and we use it – AVRdude and arduino work together – my point is that ATMEL doesn’t have anything to do with it, the chip maker didn’t create the arduino (and for now, they sell a product, arduino uses it – they do good business together, but that’s the extent). arduino is doing great because of people like you and others who are bolting together open source projects.

Anonymous

hey eric! we love AVRdude! and we use it – AVRdude and arduino work together – my point is that ATMEL doesn’t have anything to do with it, the chip maker didn’t create the arduino (and for now, they sell a product, arduino uses it – they do good business together, but that’s the extent). arduino is doing great because of people like you and others who are bolting together open source projects.

Anonymous

hey eric! we love AVRdude! and we use it – AVRdude and arduino work together – my point is that ATMEL doesn’t have anything to do with it, the chip maker didn’t create the arduino (and for now, they sell a product, arduino uses it – they do good business together, but that’s the extent). arduino is doing great because of people like you and others who are bolting together open source projects.

Anonymous

hey eric! we love AVRdude! and we use it – AVRdude and arduino work together – my point is that ATMEL doesn’t have anything to do with it, the chip maker didn’t create the arduino (and for now, they sell a product, arduino uses it – they do good business together, but that’s the extent). arduino is doing great because of people like you and others who are bolting together open source projects.

Anonymous

To clarify: AVRdude is just another open source project, whose purpose is to program (download/upload) firmware to an AVR device. The arduino project is not ignored by the avrdude project. The avrdude project serves its own purpose and has a wide audience.

Eric Weddington
Creator of WinAVR
(and also happens to be co-developer of avrdude)

Anonymous

> part of the goal of this article is to maybe get ATMEL excited about the arduino too :)

Hi Phillip,

What did you have in mind? How should we be involved?

Eric Weddington
Among other things: Open Source Community Manager, Atmel

Anonymous

hey eric! that’s right! you recently started working at ATMEL as the open source community manager, late last year i think? a few easy things come to mind, you’re welcome to email me directly too…

1) ATMEL features arduino on the atmel.com – maybe a series of articles, starting out with arduino and then using other chips as folks need different applications, etc. you could also do a series a videos, sponsored articles on community sites (MAKE, instructables, hack-a-day, etc).

2) we’d love to see ATMEL at maker faire in a big way, perhaps an area devoted to projects using ATMEL products (including the arduino).

3) i’d love to see a blog, likely authored by you of all the things going on with OSS / OSHW and ATMEL. i’d even arrange for you to guest post on MAKE if you wanted.

4) case study with the arduino team and ATMEL, it would be great to see an official press release about a milestone with arduino 100k units shipped, etc.

these are just a few, what do you think? and thanks again for participating here!

https://openid.org/inventorjack Inventorjack

“2) we’d love to see ATMEL at maker faire in a big way”

Yes, I’d love to see more of Atmel at Maker Faire (and elsewhere).

https://openid.org/inventorjack Inventorjack

“2) we’d love to see ATMEL at maker faire in a big way”

Yes, I’d love to see more of Atmel at Maker Faire (and elsewhere).

Anonymous

I definitely appreciate the feedback. I can’t make any guarantees at this point, but let me do some research.

Phillip, I can’t send you an email, because the “email” links in your articles don’t do anything for me (i.e. nothing pops up). What’s an alternative?

Oh, and technically I’ve been working for Atmel for over 5 years. Started in their RF business unit working on ZigBee, then went to the AVR group because of working on WinAVR and have been a product manager there until the recent title change last year.

Anonymous

hey eric! that’s right! you recently started working at ATMEL as the open source community manager, late last year i think? a few easy things come to mind, you’re welcome to email me directly too…

1) ATMEL features arduino on the atmel.com – maybe a series of articles, starting out with arduino and then using other chips as folks need different applications, etc. you could also do a series a videos, sponsored articles on community sites (MAKE, instructables, hack-a-day, etc).

2) we’d love to see ATMEL at maker faire in a big way, perhaps an area devoted to projects using ATMEL products (including the arduino).

3) i’d love to see a blog, likely authored by you of all the things going on with OSS / OSHW and ATMEL. i’d even arrange for you to guest post on MAKE if you wanted.

4) case study with the arduino team and ATMEL, it would be great to see an official press release about a milestone with arduino 100k units shipped, etc.

these are just a few, what do you think? and thanks again for participating here!

The most important thing Atmel can do for the arduino community is to stay commercially viable. Focus on your big customers, and maintain your competitive, serious chip maker image, even if that means distancing yourself from the arduino community. Just continuing to produce DIP versions of some of your chips is already a subsidy of the community and a massive service.

Anonymous

> part of the goal of this article is to maybe get ATMEL excited about the arduino too :)

Hi Phillip,

What did you have in mind? How should we be involved?

Eric Weddington
Among other things: Open Source Community Manager, Atmel

It’s why the Arduino software (or ports of it) works with everything from arduino.cc-released hardware to alternative boards like Sanguinos or the Illuminato Genesis running on ATmega644s, the Teensy and other 32u4 boards, and even the port of the Arduino front-end to the Maple and Cortino running ARMs, or the Arduino-like Pinguino with a PIC under the hood. The idea carries forward, even if it’s not the folks at arduino.cc doing it.

Let me restate that more simply: Arduino’s success is in having defined a manufacturer-agnostic platform that people can get up and running with quickly, without needing to care about the micro under the hood.

Atmel had very little to do with that success; they only supplied a decent chip to build on.

(And finally, your complaint about the picture is just sour grapes; it’s obviously a rendering, not a photo.)

I think you’re underestimating the importance of the underlying chips. All of the arduino clones are based on chips from the same family. If Atmel were to disappear tomorrow, almost everything that is Arduino, from the hardware to the libraries, would have to be re-implemented. As others have mentioned, while the code is very well tested and debugged, it is not particularly well designed. It is very possible that if the AVR family of chips was cancelled, the community would “decide” to start from scratch on some other platform.

http://www.facebook.com/people/James-Laine/533875659 James Laine

Uh, robbie, the chip details are not sanded off in that picture becuase they are not there to begin with. It does not look like a photo; it looks like a rendering of a CAD model. So the only detail you will see are the component shapes and sizes, and the PCB’s layour and silk screen layer. That’s why the other non-chip compents have no writing on them either.

http://www.facebook.com/people/James-Laine/533875659 James Laine

Uh, robbie, the chip details are not sanded off in that picture becuase they are not there to begin with. It does not look like a photo; it looks like a rendering of a CAD model. So the only detail you will see are the component shapes and sizes, and the PCB’s layour and silk screen layer. That’s why the other non-chip compents have no writing on them either.

http://www.facebook.com/mikey.sklar Mikey Sklar

As a hardware developer I’m happy to see the commotion that arduino has stirred up. It’s great that so many people use arduino as a entry point into the world of microcontrollers. I do have a question for arduino users. Will you go deeper? Past processing and into lower level languages like C? Will you be making your own printed circuit boards? Will you be working with the microcontrollers directly? Will you get into JTAG and more advanced debugging techniques?

http://hypatia.ca Leigh Honeywell

I wrote my first Arduino library this week, in C. It even has a pointer in there somewhere, hehe.

I learned how to use Eagle a few weeks ago at a class run by the hackerspace I’m involved with. Still haven’t run into a project that a boarduino wasn’t the right cheapie solution for, but I’m sure that too will come with time.

And I’m definitely not alone on this path. Arduino is totally a gateway drug :)

http://pulse.yahoo.com/_FVALFZ2PIAXWVN4FECEB5WEPYQ Nathan Wild

“Arduino is a gateway drug.” That needs to go on a T-shirt.

http://www.facebook.com/wingedpower Wing Wong

I started playing with the Arduino about a week or so ago. Been reading up on it while waiting for the boards to arrive. Granted, I come from a CS background, but mulling it in my mind, I came to the conclusion that diving deeper is a must! For instance, my first “hello world” with my arduino was the arduino cabled up to a serial-to-parallel shift register IC (NTE74HC164). I wrote up my own sketch to control it and light up an extra LED to show when a loop finished. Was alot of fun and is the first step to creating an embedded wireless control system I’m thinking up. :) The end goal is to take the sketches I’m writing and take the ATMEGA MCU off of the arduino board, add the necessary support xtal/cap/etc. so that the footprint can be greatly reduced, as well as making it an actual embedded design. For me, the arduino board is like a multi-purpose tool: ICSP, breakout box, and prototyping.

If possible, I’m interested in porting sketches to straight C to be compiled and then written to an ATtiny for lower power consumption.

But yea, for those who have the diving deep mindset, the arduino is a great springboard.

I even broke out my soldering iron and assembled the xbee shield and got it right the first go! Woot! :)

http://twitter.com/SiliconFarmer Greg

The Arduino is a wonderful start, but I see it as just a start. It is the Apple ][ of the open source prototyping movement – the first successful device that was able to build a significant following. But I believe something easier and cheaper will come along to outshine it. 100,000 sounds like a lot now, but it is tiny compared to the potential. The Arduino may have 100,000 fans, but someday the million of users the successors to Arduino will see it as just the beginning.

The head start that Arduino has in its community, more-or-less compatible shields, examples of code, and documented projects will prevent a mere copy using another chip family from ever overtaking it. Corporate attempts at cheap embedded boards won’t unseat Arduino as long as the chip companies don’t get that its not just about price ($4.30), or just about features (OLED displays and multitudes of I/O expansion buses).

There is always room for improvement. Something even easier to get running, easier to program, more easily expanded on, maybe even lower cost – a device will eventually have the right mix to surpass the Arduino. I can’t say what that mix will look like, but I feel confident it will come.

The good news is the low barrier of entry. The device(s) for the next generation(s) of DIY electronics projects could easily come from the OSH community.

http://twitter.com/SiliconFarmer Greg

The Arduino is a wonderful start, but I see it as just a start. It is the Apple ][ of the open source prototyping movement – the first successful device that was able to build a significant following. But I believe something easier and cheaper will come along to outshine it. 100,000 sounds like a lot now, but it is tiny compared to the potential. The Arduino may have 100,000 fans, but someday the million of users the successors to Arduino will see it as just the beginning.

The head start that Arduino has in its community, more-or-less compatible shields, examples of code, and documented projects will prevent a mere copy using another chip family from ever overtaking it. Corporate attempts at cheap embedded boards won’t unseat Arduino as long as the chip companies don’t get that its not just about price ($4.30), or just about features (OLED displays and multitudes of I/O expansion buses).

There is always room for improvement. Something even easier to get running, easier to program, more easily expanded on, maybe even lower cost – a device will eventually have the right mix to surpass the Arduino. I can’t say what that mix will look like, but I feel confident it will come.

The good news is the low barrier of entry. The device(s) for the next generation(s) of DIY electronics projects could easily come from the OSH community.

http://mkeblx.net/ mkeblx

Also, probably on the more minor end but significant is the design aesthetic of the device. I’ve heard members of the Arduino team (http://twit.tv/floss61) speak of specifically trying to avoid the standard green soldermask board and make a board that looked cool and appealing to the primary audience of Arduino, non-engineers. First hand I know of a few designer types whose initial attraction was to the packaging of the new Arduino, which makes it more approachable and interesting.

The “you’re not learning the underlying stuff” attitude is obviously misplaced. I think I large part of it is due to the time/value tradeoffs those people think one should make. $30 is way too much to pay for something the parts of which only cost a fraction of that. Unless, that is, you put a value on your time north of say, ~$1/hour.

In the end people want to get their cool project ideas done, the easier that is the better.

http://mkeblx.net/ mkeblx

Also, probably on the more minor end but significant is the design aesthetic of the device. I’ve heard members of the Arduino team (http://twit.tv/floss61) speak of specifically trying to avoid the standard green soldermask board and make a board that looked cool and appealing to the primary audience of Arduino, non-engineers. First hand I know of a few designer types whose initial attraction was to the packaging of the new Arduino, which makes it more approachable and interesting.

The “you’re not learning the underlying stuff” attitude is obviously misplaced. I think I large part of it is due to the time/value tradeoffs those people think one should make. $30 is way too much to pay for something the parts of which only cost a fraction of that. Unless, that is, you put a value on your time north of say, ~$1/hour.

In the end people want to get their cool project ideas done, the easier that is the better.

http://mkeblx.net/ mkeblx

Also, probably on the more minor end but significant is the design aesthetic of the device. I’ve heard members of the Arduino team (http://twit.tv/floss61) speak of specifically trying to avoid the standard green soldermask board and make a board that looked cool and appealing to the primary audience of Arduino, non-engineers. First hand I know of a few designer types whose initial attraction was to the packaging of the new Arduino, which makes it more approachable and interesting.

The “you’re not learning the underlying stuff” attitude is obviously misplaced. I think I large part of it is due to the time/value tradeoffs those people think one should make. $30 is way too much to pay for something the parts of which only cost a fraction of that. Unless, that is, you put a value on your time north of say, ~$1/hour.

In the end people want to get their cool project ideas done, the easier that is the better.

http://pulse.yahoo.com/_HOUD7NRINIMD5GZXDPQ76R7DF4 Minusphil Torrone

“That’s a big deal because engineers tend to design platforms for other engineers, not for artists, weirdos, or kids…”

Fascinating! It’s a wonder non-engineers have any appreciable technology at all then, given that engineers are busy designing things for other engineers and being stereotyped and marginalized in this article.

http://pulse.yahoo.com/_HOUD7NRINIMD5GZXDPQ76R7DF4 Minusphil Torrone

As another quick note, your comment about the shields would be considerably enhanced with a link to the shield database: http://shieldlist.org/

Anonymous

hiya, you’re welcome to post here – but not using parts of my name as your user name. shieldlist.org is a great resource, that’s what the comments are here for – to add more value.

Anonymous

hiya, you’re welcome to post here – but not using parts of my name as your user name. shieldlist.org is a great resource, that’s what the comments are here for – to add more value.

Anonymous

hiya, you’re welcome to post here – but not using parts of my name as your user name. shieldlist.org is a great resource, that’s what the comments are here for – to add more value.

Anonymous

hiya, you’re welcome to post here – but not using parts of my name as your user name. shieldlist.org is a great resource, that’s what the comments are here for – to add more value.

http://pulse.yahoo.com/_HOUD7NRINIMD5GZXDPQ76R7DF4 Minusphil Torrone

As another quick note, your comment about the shields would be considerably enhanced with a link to the shield database: http://shieldlist.org/

http://www.facebook.com/profile.php?id=13748811 George Hadley

“That’s a big deal because engineers tend to design platforms for other engineers, not for artists, weirdos, or kids…”

Now now, let’s not be stereotyping the engineers. Ultimately, it’s the engineer that develops the pieces and systems that the rest of the non-engineering world uses.

On a sidenote, there are plenty of engineers out there that also happen to be artists, weirdos, or kids. I can personally attest to being one of the above, and, depending on how old the person viewing me is, 2.

http://www.facebook.com/profile.php?id=13748811 George Hadley

“That’s a big deal because engineers tend to design platforms for other engineers, not for artists, weirdos, or kids…”

Now now, let’s not be stereotyping the engineers. Ultimately, it’s the engineer that develops the pieces and systems that the rest of the non-engineering world uses.

On a sidenote, there are plenty of engineers out there that also happen to be artists, weirdos, or kids. I can personally attest to being one of the above, and, depending on how old the person viewing me is, 2.

http://www.facebook.com/profile.php?id=13748811 George Hadley

“That’s a big deal because engineers tend to design platforms for other engineers, not for artists, weirdos, or kids…”

Now now, let’s not be stereotyping the engineers. Ultimately, it’s the engineer that develops the pieces and systems that the rest of the non-engineering world uses.

On a sidenote, there are plenty of engineers out there that also happen to be artists, weirdos, or kids. I can personally attest to being one of the above, and, depending on how old the person viewing me is, 2.

http://www.facebook.com/profile.php?id=13748811 George Hadley

“That’s a big deal because engineers tend to design platforms for other engineers, not for artists, weirdos, or kids…”

Now now, let’s not be stereotyping the engineers. Ultimately, it’s the engineer that develops the pieces and systems that the rest of the non-engineering world uses.

On a sidenote, there are plenty of engineers out there that also happen to be artists, weirdos, or kids. I can personally attest to being one of the above, and, depending on how old the person viewing me is, 2.

http://www.facebook.com/profile.php?id=13748811 George Hadley

“That’s a big deal because engineers tend to design platforms for other engineers, not for artists, weirdos, or kids…”

Now now, let’s not be stereotyping the engineers. Ultimately, it’s the engineer that develops the pieces and systems that the rest of the non-engineering world uses.

On a sidenote, there are plenty of engineers out there that also happen to be artists, weirdos, or kids. I can personally attest to being one of the above, and, depending on how old the person viewing me is, 2.

http://www.facebook.com/profile.php?id=13748811 George Hadley

“That’s a big deal because engineers tend to design platforms for other engineers, not for artists, weirdos, or kids…”

Now now, let’s not be stereotyping the engineers. Ultimately, it’s the engineer that develops the pieces and systems that the rest of the non-engineering world uses.

On a sidenote, there are plenty of engineers out there that also happen to be artists, weirdos, or kids. I can personally attest to being one of the above, and, depending on how old the person viewing me is, 2.

http://twitter.com/arduino4bgnr Stanley

Is the recent shortage of Atmega328 DIP chips another reason why Arduino won and caught Atmel by surprise ? And yes, it was not “designed” for engineers!!!

http://www.facebook.com/asim95 Asim Baig

I think its open source nature was the biggest reason it became so popular so fast. PIC/STAMPS have been around for a long time and had a big following. Arduino’s timing with the open source software/hardware movement was perfect.

http://www.facebook.com/profile.php?id=1337832202 Tony DiCola

Great analysis Phil! I’d also like to add as a software engineer who always wanted to get into hardware the Arduino is just perfect. All the annoying stuff like USB to serial, voltage regulation, etc. is taken care of for me by Arduino. I just plug in the board to my computer and start programming. I also love that the Arduino language, Processing, is just a thin layer on top of C. I don’t have to learn new concepts or languages–everything I already know about C programming just works. I wish I could have had something like Arduino when I was just getting into computers as a kid!

http://www.facebook.com/profile.php?id=1337832202 Tony DiCola

Great analysis Phil! I’d also like to add as a software engineer who always wanted to get into hardware the Arduino is just perfect. All the annoying stuff like USB to serial, voltage regulation, etc. is taken care of for me by Arduino. I just plug in the board to my computer and start programming. I also love that the Arduino language, Processing, is just a thin layer on top of C. I don’t have to learn new concepts or languages–everything I already know about C programming just works. I wish I could have had something like Arduino when I was just getting into computers as a kid!

http://pulse.yahoo.com/_DV3TYSTYCS4AOZFT74DXRARISQ Orinoco

I’ve a BSc and MEng in Microelectronic Systems Engineering. I know hardware & software. I’ve old PIC equipment on my shelf. Software licences expired, original IDEs no longer available, etc. So, when my 8yr old daughter asked me to make a robot with her, going Arduino was an easy choice.

£15 for a clone board meant I had a trundle bot rolling in 10 minutes. Just needed to rewire my old motor drive circuit and write a few lines of (almost) C. Daughter built the physical framework using k’nex.This meant she saw results quickly and is keen to see AND LEARN more.

£15 was money well spent to ensure quality time with my daughter while encouraging her natural curiosity.

http://pulse.yahoo.com/_DV3TYSTYCS4AOZFT74DXRARISQ Orinoco

I’ve a BSc and MEng in Microelectronic Systems Engineering. I know hardware & software. I’ve old PIC equipment on my shelf. Software licences expired, original IDEs no longer available, etc. So, when my 8yr old daughter asked me to make a robot with her, going Arduino was an easy choice.

£15 for a clone board meant I had a trundle bot rolling in 10 minutes. Just needed to rewire my old motor drive circuit and write a few lines of (almost) C. Daughter built the physical framework using k’nex.This meant she saw results quickly and is keen to see AND LEARN more.

£15 was money well spent to ensure quality time with my daughter while encouraging her natural curiosity.

http://twitter.com/Addidis Addidis

I think Arduino has filled a gap. Lets call it a generation gap. A generation ago the common programming language was basic. The company I wont mention made a basic language patented it and for an entire generation that is what we had. The next generation there was C . And there were C compilers. That company cant paten C in the way it did Basic, so for the most part we never saw a ,,,,, what i will dub “A maker friendly Microcontroller platform”. Thats what that company above was too. Arduino has just established a market, demand, price point, well a business model. The chip used really is interchangeable. You could think about it like a windows log in. Before we only had Admin mode. They stood up and advocated , and produced a whole new user group.

http://twitter.com/Addidis Addidis

I think Arduino has filled a gap. Lets call it a generation gap. A generation ago the common programming language was basic. The company I wont mention made a basic language patented it and for an entire generation that is what we had. The next generation there was C . And there were C compilers. That company cant paten C in the way it did Basic, so for the most part we never saw a ,,,,, what i will dub “A maker friendly Microcontroller platform”. Thats what that company above was too. Arduino has just established a market, demand, price point, well a business model. The chip used really is interchangeable. You could think about it like a windows log in. Before we only had Admin mode. They stood up and advocated , and produced a whole new user group.

http://www.facebook.com/hobye Mads Høbye

I think you are missing one point here. Before Arduino there were actually a great platform doing all this with all the qualities you mention, twice as many ports and twice as much processing power – the Arduino platform is actually based on it. I am of course talking about the wiring platform (http://wiring.org.co/). Why did Arduino win over Wiring? I believe you primary reason is that Arduino was cheaper and smaller.

https://openid.org/inventorjack Inventorjack

I have no hate for the Arduino platform. I’ve used it myself for prototyping projects, and I recommend it to friends interested in starting in electronics as a great way to start learning the fundamentals. That being said, if you’re really interested in delving into electronics or producing a marketable project, Arduino is not a destination, but rather a mile-marker on the path to learning and understanding Microcontrollers.

For those of you getting ready to make the leap to designing your own electronics, I will tell you that what you feel when you hold freshly made boards in your hand that you designed is much like the first time you made LEDs blink with the Arduino * 1000.

https://openid.org/inventorjack Inventorjack

I have no hate for the Arduino platform. I’ve used it myself for prototyping projects, and I recommend it to friends interested in starting in electronics as a great way to start learning the fundamentals. That being said, if you’re really interested in delving into electronics or producing a marketable project, Arduino is not a destination, but rather a mile-marker on the path to learning and understanding Microcontrollers.

For those of you getting ready to make the leap to designing your own electronics, I will tell you that what you feel when you hold freshly made boards in your hand that you designed is much like the first time you made LEDs blink with the Arduino * 1000.

http://twitter.com/dolanpatrick spazziam

Is there a list of arduino projects anywhere?

Anonymous

So many have been done in the past few years, you’d be better off Googling “arduino projects” than searching for a comprehensive list of any kind.

Agreed that the Arduino certainly seems to fulfill a need, and this is a good thing. To put the comment from the AVR Freaks website user in context, everyone needs to understand how long the AVR Freaks website has been around (since 2001) and the types of users that typically traffic there. Most of the users on AVR Freaks have worked on embedded systems (hardware and software) for many, many years. They’re used to working on commercial products, typically using C language, with various types of tradeoff pressures. Everyone needs to understand that there is a world of difference between Arduino art-type projects, or learning projects, and developing an embedded system that is a medical device (with resulting FDA required documentation out the wahzoo), or a device that goes in a car, or for a product that is going to run to 10 million units therefore it does make sense to try and shave off 40 bytes of the code because then you can, e.g., use a smaller device, reduce the cost by 10 cents and save 1 million dollars (which then goes to the bottom line).

This difference in outlook is what causes this friction on the AVR Freaks website, and like people everywhere, there’s always somebody who comes across as mean-spirited. It’s reprehensible, but there’s not much that can be done about it. There are people on AVR Freaks who like the Arduino, and have no problem with it. Most of the users on AVR Freaks are typically beyond this learning phase and have delved deeper into embedded systems. But this is why different communities can spring up, and serve different requirements.

Eric Weddington
Creator of WinAVR

Anonymous

It’s no different on AVRFreaks than any other blog/board/IRC channel for any other programming language. The old timers need to remember that if they take a few minutes and SHOW where the right path is, that brings more goodwill to their chosen devel path than having someone pissed off. Old timers sell microprocessor programming with their actions, like cars or phones.

Anonymous

I agree wholeheartedly! It really comes down to the Golden Rule: treat others as you have them treat you. That, and another simple rule I try to always remember: if you can’t say anything nice, then don’t say anything at all. If people actually followed these two simple rules (which should have been learned in grade school), then, I believe, we would have a lot more civil discourse on every subject across the board. However, everyone learns at their own pace, and even the best of people have bad days too.

http://www.facebook.com/profile.php?id=552245645 Andrew O’Malley

Great article!

+1 on the libraries. It was all the libraries and working, accessible examples that made me switch from PICs to Arduino. When I first learned about Arduino, there weren’t many shields or libraries to “expand” features, etc., so I stuck w/ PICs. About a year later, the community and code-base had grown so much that it was totally worth the switch.

Obviously the Arduino isn’t a “do all” chip/platform, but for so many arty and around-the-house projects, it’s pretty capable!

http://www.facebook.com/profile.php?id=1441478415 Jon Chandler

Arduino has certainly changed the game. No doubt that it has made microcontrollers available to many people to do many creative things.

I happen to use Microchip PICs. I won’t get into the Microchip vs Atmel debate. Both make capable products and neither is perfect.

One thing I have noticed on the PIC forums I read is that there is a certain “old guard” group who continuously preaches that microcontroller programming must be done in assembler but don’t even think about doing that until every page of the data sheet has been read, memorized and understood. Giving this advice to somebody who just wants to flash a couple LEDs is really a huge barrier to “joining the club.” Yes, at some point, understanding the hardware and the registers on the chip may be important, but if a user can make some cool stuff happen within a few minutes of starting, he’ll have the interest to learn more if/when it’s necessary.

BASIC langauges for PICs do make it possible to make some LEDs flash or do some other cool stuff quickly. I’m a fan of Swordfish Basic, which is a structured language with a format similar to VB. There’s a free version available with generous limits that will handle all but the most complex tasks, Another option is Proton Basic – the full version is available for free under the name Amicus which is limited to PIC18F25K20 and PIC18F25K22 chips (incidentally the same chips used by PICAXE for their 28 pin part). Part of the Amicus system is a dev board that can use many Arduino shields (but not the software). Like other Arduino-like clones, it’s received a ho-hum reception so far.

I have two hardware issues with the Arduino, First, the hardware is not so cheap that a board can be dedicated to a project. At $30 a pop, it’s just too expensive to embed in most projects. The second complaint is that it’s not really designed to be embedded. I often see these great applications based on the Arduino but you can’t even see the board in the pictures for the rat’s nest of jumpers needed to make it work! That great project may work today, but how well will it work after the cat takes a swipe at it? Or you snag a wire on the way out the door and your fancy electronic door lock won’t let you back in?

My answer to the hardware issues is the TAP-28 board for 28 pin PIC microcontrollers. The cheap essentials to programming are on the board – some LEDs and switches, but the other stuff that used during program development but usually not required later, like MAX232 chips or FTDL USB converters, have been left off the board. Instead, there’s a connector that brings out the UART pins – connect an external USB adapter during program development if needed. And there are connectors for other hardware functions like I2C/SPI, ADC inputs and PWM outputs. Instead of a rat’s nest of jumpers, connections are made to external devices using reliable connectors. If you want to connect an analog sensor (or 2), a 3-wire cable connects power, ground and signal using a keyed connector. Need a serial interface to a motor controller board? A 6-pin connector has the UART lines, power and ground and a couple other port pins just in case. TAP is an acronym for “Throw Away PIC,” meaning it’s cheap enough to embed in a project and forget about it. It’s licensed under Creative Commons for the PIC community. http://www.clever4hire.com/throwawaypic/ Some of my projects are shown on the web page, including a servo clock that made Hack-A-Day and a nifty signal generator.

http://mindthu.mp/ Ed Cardinal

One small problem with this argument is that while the “brand-name” Arduino can be too pricey and too bulky to use as a throw-away embedded in a project, there are a number of work-alike X-duino boards that are half the price or less, and are smaller as well. The types I have used also leave off the communication and power handling to make them even smaller. Once an enthusiast gets their “feet wet” with even a little experience on the Arduino, spending $15 or so for a cool permanent project (even if it gets trashed quickly) does not seem too much.

BTW, don’t get me wrong — I’m microprocessor-agnostic myself (I actually prefer the smaller Atmels at the moment) and sincerely I thank you for your suggestions on the PICs — I’ll definitely look into it!

http://www.facebook.com/people/Brian-Ivie/1531014959 Brian Ivie

I teach several embedded classes at a local college. I can add one more reason for the success of the Arduino: Everything in the IDE is integrated and drop-dead simple. Students use what appears to be one program to code, compile, upload, and communicate with the Arduino. For my class that uses the PIC processor, I still have to spend several hours about how to configure the IDE with the right toolchain of C compilers, libraries, and other files, and for the demo board that we are using the students have to switch to Hyperterminal and do some rather odd commands to program the board. In Arduino land… they have one source file, don’t even need to understand what a “project” is, and to compile they poke a button, to upload another, and to do serial communication to/from, another. All in one place, all from one program (well it seems to them one program), with lots of helpful examples that they can start from. This is huge in my opinion as to why the Arduino is successful. For the classes I teach to elementary kids I choose the Arduino hands down. There are cheaper platforms (TI’s $4.30 is very intriguing), but try getting that to blink and you have to download a 1GB IDE, and wade through about 2 hours of configuration tutorials. The other thing that is huge, is the community. For the Arduino, chances are someone has already done what you want to do, and posted the code to do it. There are wonderful books with hundreds of examples, any other platform just won’t have the resources and community that the Arduino has.

http://pulse.yahoo.com/_RM7EJNC2FEIF4TA2FEK2324XA4 Derek Parks

I know lots of people like to hate on Processing (especially people at avrfreaks) but I think it is one of the major factors for the aruduino’s success. The CS community has generally been progressing to higher level languages and it is time the embedded world did the same. As a CS guy, I have written x86 assembly but I don’t anymore. I’ve learned that trading a lot of brain cycles for a few processor cycles is normally a trade worth making.

http://pulse.yahoo.com/_RM7EJNC2FEIF4TA2FEK2324XA4 Derek Parks

I know lots of people like to hate on Processing (especially people at avrfreaks) but I think it is one of the major factors for the aruduino’s success. The CS community has generally been progressing to higher level languages and it is time the embedded world did the same. As a CS guy, I have written x86 assembly but I don’t anymore. I’ve learned that trading a lot of brain cycles for a few processor cycles is normally a trade worth making.

Anonymous

Great article Phillip!

I do want to join in with a few other’s in defense of AVRFreaks.

You picked a great quote to show the kind of things that are common there, but you could also have picked many very positive quotes from folks who love the Arduino. I am an Electrical Engineer with years of professional experience and I think a tool is a tool and anyone who turns up their nose at a tool just because it is easy is… well I won’t go there.

I teach a class on the Arduino and my first assignment is for the student to ask a question on AVRFreaks because IMHO it is the place to go to get technical help on AVRs. I tell them first to read my blog entry: http://smileymicros.com/blog/2011/01/24/using-an-internet-forum/ and especially to read the how to ask a smart question FAQ at – http://www.catb.org/~esr/faqs/smart-questions.html because I expect them to get flamed or at least see snarky comments like the one you used, but I want them to use this excellent resource, getting the good answers while ignoring the [expletive deleted] who sometime intrude.

While it is a fun rhetorical tactic to setup a straw-man to argue against, I just want to emphasize that the majority of folks at AVRFreaks look on the kind of response you posted exactly as you do

Smiley

Anonymous

smiley, you’re the best person and best resource on avrfreaks, i love your resources, support and work!

Anonymous

smiley, you’re the best person and best resource on avrfreaks, i love your resources, support and work!

http://pulse.yahoo.com/_CDQQU53RZNPEOCFI6ILTWJNCFI Jacob S

Why are “arduino’s” so popular?

Because people are lazy. It’s easy to download someone else’s code, copy someone else’s schematic, and call it your own.

If you REALLY want to learn something, build it from scratch on a proto board. Piece of cake, and you actually get experience from it!

http://tesseractive.wordpress.com Tess

By the same token, if you really want to learn something, why use someone else’s microprocessor? Order a big bag of transistors and go to work — think what you’d learn!

Unless you’ve delved all the way past mathematics and into ontology, or you’re working directly with subatomic particles, there’s *always* a lower level of abstraction. And pretty much all of them have value. But there’s no more reason to expect that someone needs to start with something lower level than an Arduino to build a robot or an MP3 player than there is to suppose that the best way to code a website is to start by writing your own TCP/IP stack, or to suppose that people are lazy because they buy preassembled televisions instead of building them out of their constituent components.

http://pulse.yahoo.com/_CDQQU53RZNPEOCFI6ILTWJNCFI Jacob S

Why are “arduino’s” so popular?

Because people are lazy. It’s easy to download someone else’s code, copy someone else’s schematic, and call it your own.

If you REALLY want to learn something, build it from scratch on a proto board. Piece of cake, and you actually get experience from it!

http://pulse.yahoo.com/_CDQQU53RZNPEOCFI6ILTWJNCFI Jacob S

Why are “arduino’s” so popular?

Because people are lazy. It’s easy to download someone else’s code, copy someone else’s schematic, and call it your own.

If you REALLY want to learn something, build it from scratch on a proto board. Piece of cake, and you actually get experience from it!

http://pulse.yahoo.com/_CDQQU53RZNPEOCFI6ILTWJNCFI Jacob S

Why are “arduino’s” so popular?

Because people are lazy. It’s easy to download someone else’s code, copy someone else’s schematic, and call it your own.

If you REALLY want to learn something, build it from scratch on a proto board. Piece of cake, and you actually get experience from it!

http://www.facebook.com/people/Andy-Gates/779755523 Andy Gates

But I don’t want to “learn something”, I want to “DO something” – get my KAP rig doing a programmed scan of the sky, for starters. Which is entirely the point of the article!

http://www.facebook.com/people/Andy-Gates/779755523 Andy Gates

But I don’t want to “learn something”, I want to “DO something” – get my KAP rig doing a programmed scan of the sky, for starters. Which is entirely the point of the article!

http://pulse.yahoo.com/_CDQQU53RZNPEOCFI6ILTWJNCFI Jacob S

Why are “arduino’s” so popular?

Because people are lazy. It’s easy to download someone else’s code, copy someone else’s schematic, and call it your own.

If you REALLY want to learn something, build it from scratch on a proto board. Piece of cake, and you actually get experience from it!

http://pulse.yahoo.com/_CDQQU53RZNPEOCFI6ILTWJNCFI Jacob S

Why are “arduino’s” so popular?

Because people are lazy. It’s easy to download someone else’s code, copy someone else’s schematic, and call it your own.

If you REALLY want to learn something, build it from scratch on a proto board. Piece of cake, and you actually get experience from it!

http://pulse.yahoo.com/_CDQQU53RZNPEOCFI6ILTWJNCFI Jacob S

Why are “arduino’s” so popular?

Because people are lazy. It’s easy to download someone else’s code, copy someone else’s schematic, and call it your own.

If you REALLY want to learn something, build it from scratch on a proto board. Piece of cake, and you actually get experience from it!

http://pulse.yahoo.com/_CDQQU53RZNPEOCFI6ILTWJNCFI Jacob S

Why are “arduino’s” so popular?

Because people are lazy. It’s easy to download someone else’s code, copy someone else’s schematic, and call it your own.

If you REALLY want to learn something, build it from scratch on a proto board. Piece of cake, and you actually get experience from it!

http://syke51.myopenid.com/ syke51

While I am well aware of the Arduino, I have not actually used one. I am an engineer, and for me, I don’t see using the Arduino in personal projects as beneficial to my career path, so I steer clear. I’ve seen the simplistic basic like code, and came to the conclusion that this isn’t real. While there’s no doubt in my mind that it works, I know that this isn’t how electronics are made in the real world. It looks like a great solution for the non/semi technical hobbyist that just wants to get something done and isn’t concerned about the details, but for someone that is technical it may actually do a disservice. I am a little concerned that this will start being used in schools, but perhaps for non-engineering related degrees or pre-college education it can be beneficial. I think it would be dangerous for college engineering departments to trick students into thinking this what they need to know to succeed in the real world. It would ultimately make students impatient (disastrous for engineering) and unable to solve fundamental problems. For early education though, maybe it’ll help the 7th graders of America actually start to take interest in science. I think that should be it’s biggest goal, because our lack of interest in the sciences will end up being what prevents us from competing with the rest of the world in the future.

In short, I don’t see anything wrong with the device. I realize that it’s the easy way out, and while it may be tempting to utilize it, I find that doing things the way that the industry does is more important to me. This article basically reaffirmed this notion.

http://www.facebook.com/profile.php?id=15504717 Andrew Witte

That “simplistic basic like code” is actually C++. The Arduino folks go to great pains not to tell you so, but it is.

Anonymous

As a software engineer, I often hear similar arguments from “real programmers” against using “scripting languages” [always said with a certain amount of implied scorn in the voice.] But you know what? Even if you can’t make a ‘carrier-grade’ product with a few lines of python or perl or tcl (not sure I agree, but I’ll stipulate it,) there are tons of one-off programming jobs that you can do with these languages that you would never do if you had to write a 500-line program in C or Java to do the same thing. I can’t count the number of times I have seen these ‘real programmers’ do something (like, say, try to laboriously match of data in a few megabyte-long log files by hand in order to debug a problem) when they could easily have accomplished the same thing in much less time by coding up a quick search program in perl or python.

In the hardware world, there’s a similar division; you have your “real projects” that require the big guns (any consumer product that has to be made in the millions, or military hardware, or life-support. Basically anything that has to be super-fast, or super-cheap, or super-robust,) and then you have everything else: test gear, data collectors, factory automation, simulators to let you test components of your product… Even if your ‘real product’ can’t use an Arduino, odds are you could use something like it to get real jobs done, and get them done quickly.

http://www.google.com/profiles/102336663267750231379 Kevin

I don’t normally comment on things like these but I find your reply to be quite sad and short-sighted. I don’t know where your tunnel vision comes from but I would be interested to know how you got started as an engineer and how it differed from so many other peoples’ experiences in order for you not to see the arduino phenomenon as anything other than something really positive for the promotion and demystification of electronic engineering.

Anonymous

I’m Arduino-neutral. Here’s a scenario: Mechanical engineering students commonly must do a senior mechanical design project. These projects increasingly include some sort of controller and electronics to measure sensors and control actuators in what is otherwise a fundamentally mechanical design project. As ME students, not EE students, is it OK if they treat a microcontroller platform as simply a way to integrate sensors and controls into their project, and the easier the better ?

ME students are not expected to graduate as competent EE’s or software engineers. But it seems that doing an ME project using Arduino or similar would at least provide an introduction to the concepts involved in incorporating a MCU, software, and sensors into a mechanical design, and give them some common ground to be able to talk with EE’s and software engineers after they graduate and are working in a design team on commercial designs.

I don’t think this would qualify as”tricking students” into thinking they way they did it is the way it’s done professionally. But it would give them, in the very limited time available, at least some conceptual basis for understanding the basic ideas involved in developing a mechanical/electronic design. At least they could say “yeah, we used a microcontroller platform, we got some sensors, we wrote some code, we controlled some actuators, and it worked”.

http://syke51.myopenid.com/ syke51

While I am well aware of the Arduino, I have not actually used one. I am an engineer, and for me, I don’t see using the Arduino in personal projects as beneficial to my career path, so I steer clear. I’ve seen the simplistic basic like code, and came to the conclusion that this isn’t real. While there’s no doubt in my mind that it works, I know that this isn’t how electronics are made in the real world. It looks like a great solution for the non/semi technical hobbyist that just wants to get something done and isn’t concerned about the details, but for someone that is technical it may actually do a disservice. I am a little concerned that this will start being used in schools, but perhaps for non-engineering related degrees or pre-college education it can be beneficial. I think it would be dangerous for college engineering departments to trick students into thinking this what they need to know to succeed in the real world. It would ultimately make students impatient (disastrous for engineering) and unable to solve fundamental problems. For early education though, maybe it’ll help the 7th graders of America actually start to take interest in science. I think that should be it’s biggest goal, because our lack of interest in the sciences will end up being what prevents us from competing with the rest of the world in the future.

In short, I don’t see anything wrong with the device. I realize that it’s the easy way out, and while it may be tempting to utilize it, I find that doing things the way that the industry does is more important to me. This article basically reaffirmed this notion.

http://noonv.livejournal.com/ noonv

Thanks! Arduino really very good!

Anonymous

I didn’t end up using Arduino, but I looked at it good and hard, and went with plain AVR. The main two reasons were that interrupt programming was not well documented/supported for Arduino (a really wise choice, given the audience, but I needed it) and that I was aiming for compact and rugged (on a bicycle). However, just noodling, I would certainly use the Arduino. Anytime I want to do something new on the AVR, it requires a lot of careful doc reading, and some tinkering.

On a Mac, I found interesting barriers-to-entry for almost everything. The first AVR programmer that I bought, had stale drivers, and would not talk to the Mac (required Windows for an update). USBtinyISP worked great, but it required soldering (which I am happy to do, but many people are not). I had a horrible time trying to get my Mac to communicate with a PIC, decided the tools were atrocious, and I would not recommend it to any Mac user, ever. CrossPack AVR was pretty reliable from the get-go, once I had soldered up my non-bogus programmer.

http://mindthu.mp/ Ed Cardinal

Once you have some familiarity with the hardware and software, it’s fairly easy to put together less expensive “throw-away” controllers for those semi-permanent projects. evilmadscience.com (no I’m NOT affiliated in any way) sells a very inexpensive “target board” — an empty prototyping PCB. Add a chip (they have boards for both megas and attiny 2313s) and some other simple parts and you’re off. They need a separate USB programmer widget, but that’s a one-time investment.

http://pulse.yahoo.com/_5OI4PDNGGJHVC2B5XSXSDHD6XA Spawn

http://hackduino.org/ << $8 clone of an Arduino on a small perfboard. I built 25 of them and got the cost down to about $6 each.

http://pulse.yahoo.com/_5OI4PDNGGJHVC2B5XSXSDHD6XA Spawn

http://hackduino.org/ << $8 clone of an Arduino on a small perfboard. I built 25 of them and got the cost down to about $6 each.

http://pulse.yahoo.com/_5OI4PDNGGJHVC2B5XSXSDHD6XA Spawn

http://hackduino.org/ << $8 clone of an Arduino on a small perfboard. I built 25 of them and got the cost down to about $6 each.

Anonymous

I’m a product manager for a large company. Far are those days when I learned programming and soldered some LEDs and motors. Still, I have managed to automate my home with arduinos in my spare time as a new hobby. See, arduino is about getting things done: the community and libraries around it are already big enough to help you get there. Wherever you want. It’s not about learning best practices or efficiency nor the micro on the board. It’s about the challenge, and the results. It’s the IDE, the inputs and outputs on the board, the community, the open source, teaching, learning, having fun in the process. That’s what Arduino is about. Good one PT.

ChileanRegulator

http://www.touchuserinterface.com/ Touch User Interface

Before buying Arduino, I had no experience with microcontroller. Then, I bought Arduino, downloaded IDE, read articles, and made it work. It took only less than an hour. It was amazing experience.

http://tangentsoft.net/ Warren Young

I don’t see mention of one of the biggest reasons for Arduino’s popularity: it’s an ecosystem.

A product transcends being a mere product and becomes the core of an ecosystem when it’s easy to add things onto it and when the interface between the two stays stable enough that people feel comfortable committing resources to it over the long term. With the early PCs, it was their slot connectors. With the iPod it’s the dock connector. With the Arduino, it’s the shield connector. I think we all know there are problems with its current design, but the Arduino team is wise not to change it in an incompatible way because that hurts the Arduino ecosystem.

As for cost, I can’t say I buy that argument. In 2005, when the Arduino came out, Microchip also came out with an inexpensive development system, the PICkit 2, for about the same price. They were out two years earlier, with the PICkit 1. Current PICkits are more expensive than a bare Arduino board, but they do more, and so are more comparable to an Arduino Uno plus a shield, or an Arduino Pro plus a USB to ISP converter board. The cost is about the same. The current PICkit 3 starter kit does about as much as an Arduino Mega, and costs about the same.

The influence flows both ways, of course. I don’t think Microchip would have bought a C compiler company last year and started giving the basic version away if it weren’t for things like Arduino and WinAVR. And new as of a few months ago is the Amicus18 (http://www.myamicus.co.uk/), an Arduino shield-compatible PIC development system. Again, it’s the ecosystem, stupid. :)

http://pulse.yahoo.com/_W3EVKQGVNNI43YP54DBGRDAVYY billstewart2…

Arduino has all the software, hardware, and examples you need to get started in one place, and there are companies like Sparkfun (and Makezine) that will sell you the hardware and bundle them with some toys like LEDs and breadboards so you can get a good feel for what you can do with the system and then go build your own projects. Yes, you can roll your own for cheaper, and if I were doing production volume projects I’d do that, but the basic board is cheap enough that it makes more sense to buy it and get started, and if you weren’t using it you’d have spent $20-50 on AVR ICSP programmer hardware anyway.

I’m currently chasing the 555 design contest – you don’t need a *real* microcontroller or a programmer to make blinky lights and such – and the Arduino work meant I had all the parts I needed except the 555s themselves and a transistor or two, and the Arduino makes a really convenient power supply and volt-meter while I’m building the 555 stuff.

http://pulse.yahoo.com/_W3EVKQGVNNI43YP54DBGRDAVYY billstewart2…

Arduino has all the software, hardware, and examples you need to get started in one place, and there are companies like Sparkfun (and Makezine) that will sell you the hardware and bundle them with some toys like LEDs and breadboards so you can get a good feel for what you can do with the system and then go build your own projects. Yes, you can roll your own for cheaper, and if I were doing production volume projects I’d do that, but the basic board is cheap enough that it makes more sense to buy it and get started, and if you weren’t using it you’d have spent $20-50 on AVR ICSP programmer hardware anyway.

I’m currently chasing the 555 design contest – you don’t need a *real* microcontroller or a programmer to make blinky lights and such – and the Arduino work meant I had all the parts I needed except the 555s themselves and a transistor or two, and the Arduino makes a really convenient power supply and volt-meter while I’m building the 555 stuff.

http://hypatia.ca Leigh Honeywell

It’s not the “easy way out”. It’s the easy way IN :)

Anonymous

+1 love it!

Anonymous

+2 I’m finally getting back into hacking circuits since I have a 10 year old, and I can tell you that using Arduino as a “starting point” is awesome. Quick devel time, and open source schematics make it so that I can reverse engineer whenever I’m ready. Love it!

Ed Matthews

+3 on the “easy way in.”

My 10 or so (it keeps changing) grandson received his Arduino Starter Kit (the one from Arduino) last week. I taught and developed electronics for 20 years and Computer Science for another ten. I’m thinking of spiking my grandson’s milk with a sedative to slow him down because I’m losing too much sleep trying to keep up with him.

Anonymous

Allow me to give the perspective of a high school electronics teacher…

as many have mentioned already, one real beauty of the Arduino is how quickly an individual can ‘get something happening.’ When I stand in front of my students, or work with them one on one, they want to see something cool, and right now thank you very much. I only became interested in development boards in general, and the Arduino in particular, a short time ago, but I already have a number of students interested and working with them. These particular students are in their final years of high school and have computer programming skills ranging from very good to extraordinary – despite this most have never really ‘moved beyond the computer.’ The Arduino has served as a means by which I can introduce and interest them in electronics (many of them aren’t actually my electronics students). I spend time with them poring over component datasheets, trying to ferret out the basic information to get the components working. And we talk about all the basic concepts of electronics as we go. The array of sensors and output devices has taken the concept of cin/cout to an entirely different level.

Rather than giving them false impressions and instilling bad habits (here I paraphrase), as some professionals posting here have opined, working with the Arduino has helped me give them something new to do with their programming abilities, get basic concepts across, and, most importantly, SPARK THEIR INTEREST. The only real challenge I have as a teacher (aside from having very little money to work with) is getting my students interested in what is in front of them. If I can find a way to captivate them and get concepts across, then I feel pretty good about the job I have done as a teacher. Rather than ‘dumbing things down’, I feel working with the Arduino really is useful in getting across the important notion of ‘systems integration.’ If my students build a mini sumo robot and have to program a chip to run it autonomously, they will understand that a distance sensor, line followers, motor controllers and motors are all discrete subsytems which work in an integrated fashion to accomplish a task. Far more effective, on the whole, than posting a schematic on the overhead and trying to explain the inteplay of subcircuits.

The main point here is that students develop an interest by working on something cool, understand the general idea of how something works, and maybe say to themselves ‘I might wanna look into a career along these lines.’ Of course some of them will go off to university where they will learn why the TI MSP430 is much better than the Arduino in terms of power and software optimization, but if I had started with the TI product I would have lost them at the beginning. It is for the same reason that I rely on the 3D computer modeling program Google Sketchup in my drafting class – the students enjoy using it because they are easily empowered. Even though it is used by many architects and perhaps engineers also, I understand as well that they will need to be proficient with AutoCAD (or Vectorworks or some other CAD program) so I teach them that also. But I lead with what is going to captivate them, and this is Sketchup (in the case of my drafting clas). The wow factor with the Arduino is big and instant and that is why I am really excited with it.

In my electronics classes I have students from various grades and with various abilities, and for some of them the Arduino won’t work. Because of the range of ability I need to be careful with how much theory I throw at them, as some aren’t able to handle much of it. My teaching area is an elective, so, as much as I hate to consider public education from this perspective, if I don’t have happy customers, my enrollment drops and I am out of a job. Much of what we do is project based. But being able to throw the types of projects at the class which can be worked around the Arduino increases the likelihood of having more of the top academic students in the school sign up for my classes. And somewhat ironically this in turns allows me to enter upon higher level theory discussions with my classes.

Let me conclude my ramblings by saying that I don’t just think all of this is particular to high school students. What I think is great about the Arduino is that it makes it easy and exciting for a great many people, who otherwise would have had nothing to do with electronics, to throw together a project that is meaningful and interesting to them. And for some, it might lead to a career that would otherwise not have been.

Anonymous

Allow me to give the perspective of a high school electronics teacher…

as many have mentioned already, one real beauty of the Arduino is how quickly an individual can ‘get something happening.’ When I stand in front of my students, or work with them one on one, they want to see something cool, and right now thank you very much. I only became interested in development boards in general, and the Arduino in particular, a short time ago, but I already have a number of students interested and working with them. These particular students are in their final years of high school and have computer programming skills ranging from very good to extraordinary – despite this most have never really ‘moved beyond the computer.’ The Arduino has served as a means by which I can introduce and interest them in electronics (many of them aren’t actually my electronics students). I spend time with them poring over component datasheets, trying to ferret out the basic information to get the components working. And we talk about all the basic concepts of electronics as we go. The array of sensors and output devices has taken the concept of cin/cout to an entirely different level.

Rather than giving them false impressions and instilling bad habits (here I paraphrase), as some professionals posting here have opined, working with the Arduino has helped me give them something new to do with their programming abilities, get basic concepts across, and, most importantly, SPARK THEIR INTEREST. The only real challenge I have as a teacher (aside from having very little money to work with) is getting my students interested in what is in front of them. If I can find a way to captivate them and get concepts across, then I feel pretty good about the job I have done as a teacher. Rather than ‘dumbing things down’, I feel working with the Arduino really is useful in getting across the important notion of ‘systems integration.’ If my students build a mini sumo robot and have to program a chip to run it autonomously, they will understand that a distance sensor, line followers, motor controllers and motors are all discrete subsytems which work in an integrated fashion to accomplish a task. Far more effective, on the whole, than posting a schematic on the overhead and trying to explain the inteplay of subcircuits.

The main point here is that students develop an interest by working on something cool, understand the general idea of how something works, and maybe say to themselves ‘I might wanna look into a career along these lines.’ Of course some of them will go off to university where they will learn why the TI MSP430 is much better than the Arduino in terms of power and software optimization, but if I had started with the TI product I would have lost them at the beginning. It is for the same reason that I rely on the 3D computer modeling program Google Sketchup in my drafting class – the students enjoy using it because they are easily empowered. Even though it is used by many architects and perhaps engineers also, I understand as well that they will need to be proficient with AutoCAD (or Vectorworks or some other CAD program) so I teach them that also. But I lead with what is going to captivate them, and this is Sketchup (in the case of my drafting clas). The wow factor with the Arduino is big and instant and that is why I am really excited with it.

In my electronics classes I have students from various grades and with various abilities, and for some of them the Arduino won’t work. Because of the range of ability I need to be careful with how much theory I throw at them, as some aren’t able to handle much of it. My teaching area is an elective, so, as much as I hate to consider public education from this perspective, if I don’t have happy customers, my enrollment drops and I am out of a job. Much of what we do is project based. But being able to throw the types of projects at the class which can be worked around the Arduino increases the likelihood of having more of the top academic students in the school sign up for my classes. And somewhat ironically this in turns allows me to enter upon higher level theory discussions with my classes.

Let me conclude my ramblings by saying that I don’t just think all of this is particular to high school students. What I think is great about the Arduino is that it makes it easy and exciting for a great many people, who otherwise would have had nothing to do with electronics, to throw together a project that is meaningful and interesting to them. And for some, it might lead to a career that would otherwise not have been.

Anonymous

I’m doing some volunteer work teaching high school level Arduino and I’d like to talk to you about your Arduino teaching activities. If you are interested please contact me at: joepardue at hotmail dot com.

http://www.facebook.com/laveur Nicholas Laveur

I would like to start by saying I usually never comment on articles like this, so this should be taken as a compliment in the most sincerest of ways. I brought an Adruino about a year ago. And I love the thing. I really wish I had the money, and knowledge to do cool things with it. I had actually brought it in the hops of starting a business. For about a year ago I was an out of work Software Engineer. From a business perspective its everything I could hope for. A ready to go system that would allow me to focus on doing what I want with it rather than wasting time engineering things that have already been done a billion times before. As you pointed out its low cost, and being open source I know that I can easily adapt it for commercial uses. And I for one would proudly put the Adruino logo on my hardware and software letting people know that I’ve built it based on the platform. I am also a firm believer in contributing back to communities. I would as a business person help support them and would love to help them develop a 16-bit or 32-bit version of the Adruino. Anyways thats my two cents.

http://twitter.com/office_ideat Jacob Borgeson

While I think you have a lot of good points about how Arduino has been a big success in bringing electronics and innovation to 100,000 new people, I don’t think it is quite as big a deal for the traditional market for people who use microcontrollers to make things that people actually buy. It has cut into the market share of development kits sales for chipmakers which none of the chip makers actually profit from, so it’s why they don’t really care about Arduino. It will not cut into the sales of actual chips.

Nobody is going to buy something made by someone who can’t make an inexpensive, well programmed, dependable device and doesn’t care to learn. It is not a threat to engineers or a game changer in the industry.

It has created a new industry.

It will also not be in every classroom in engineering school for precisely the same reasons we both mentioned. It doesn’t teach people how to build things in an efficient way that others will buy. There is no way it will be there to teach to students how to program or how to build efficient systems. It’s goal isn’t to do either one, and it can’t replace chips and platforms that are designed to do just that.

I do find it at Universities that want to motivate and increase enrollment in engineering by enabling students to build things in more classes earlier in the curriculum, and for that I am so happy that it exists. Our society needs to get back to making things, and we need to have more engineers to do it. It has never replaced a course on teaching embedded systems or microcontrollers to my knowledge, and I actually work at a major chip maker getting our chips installed in these classes at Universities.

I know that part of being in internelbrity is stirring stuff up to get attention by making bold claims, so I can’t fault you and I like your usual stuff. You are just wrong on that one point :)

I agree. Arduino is great for a freshman “figure out if you really want to be an electrical engineer by building a simple robot” class. When I was a TA I gave the initial push towards incorporating it into UIUC’s ECE110 class, although it is still heavily (and rightly imho) centered on breadboarding logic chips. The ece students who will eventually go on to using uc’s in their research are smart enough to realize that the Arduino hardware is just a (very polished) breakout board, and the libraries are just (very polished) C++ wrappers around not-much-more-complex C functions. Pretty much my only complaint about Arduino is that the the API un-necessarily reassigned pin numbers.

http://twitter.com/office_ideat Jacob Borgeson

While I think you have a lot of good points about how Arduino has been a big success in bringing electronics and innovation to 100,000 new people, I don’t think it is quite as big a deal for the traditional market for people who use microcontrollers to make things that people actually buy. It has cut into the market share of development kits sales for chipmakers which none of the chip makers actually profit from, so it’s why they don’t really care about Arduino. It will not cut into the sales of actual chips.

Nobody is going to buy something made by someone who can’t make an inexpensive, well programmed, dependable device and doesn’t care to learn. It is not a threat to engineers or a game changer in the industry.

It has created a new industry.

It will also not be in every classroom in engineering school for precisely the same reasons we both mentioned. It doesn’t teach people how to build things in an efficient way that others will buy. There is no way it will be there to teach to students how to program or how to build efficient systems. It’s goal isn’t to do either one, and it can’t replace chips and platforms that are designed to do just that.

I do find it at Universities that want to motivate and increase enrollment in engineering by enabling students to build things in more classes earlier in the curriculum, and for that I am so happy that it exists. Our society needs to get back to making things, and we need to have more engineers to do it. It has never replaced a course on teaching embedded systems or microcontrollers to my knowledge, and I actually work at a major chip maker getting our chips installed in these classes at Universities.

I know that part of being in internelbrity is stirring stuff up to get attention by making bold claims, so I can’t fault you and I like your usual stuff. You are just wrong on that one point :)

http://geekanddad.wordpress.com/ Dad

Great post and I totally agree. Especially the parts about supporting Mac’s, and how electronics can and should be accessible to non Engineers. I’ve taken courses on Electronics at least 3 times and every time I got annoyed with all the calculus and theory – I’m not trying to design custom chips!

I don’t need to knogratefulw the physics of wood to get out a saw and build something with 2×4’s and plywood (a dog house say). Same should be true for electronics! Arduino gets us closer to that dream and for that I’m.

http://twitter.com/svendarko Sven Darko

Yep yep yep.

I heard about Arduino while researching a story a year or so again and was blown away immediately.

I’ve had this idea for an automated grow box with an irrigation system and light timers so my plants can live while I’m on vacation, but didn’t know how to build it. I fumbled around with a PIC but hated every minute of it – I run Mac.

My PIC hardware is now piled in the corner and I have two Arduino boards and I’m building each component for my system now. In just one week I’ve gotten so much done already. As a long-time open source software engineer, Arduino just kicks ass – period.

The possibilities are endless. I can’t wait to finish this one so I can move on to my next project.

Oh and the support is phenomenal. Sparkfun, Arduino forums, Adafruit, it’s all amazing.

http://twitter.com/svendarko Sven Darko

Yep yep yep.

I heard about Arduino while researching a story a year or so again and was blown away immediately.

I’ve had this idea for an automated grow box with an irrigation system and light timers so my plants can live while I’m on vacation, but didn’t know how to build it. I fumbled around with a PIC but hated every minute of it – I run Mac.

My PIC hardware is now piled in the corner and I have two Arduino boards and I’m building each component for my system now. In just one week I’ve gotten so much done already. As a long-time open source software engineer, Arduino just kicks ass – period.

The possibilities are endless. I can’t wait to finish this one so I can move on to my next project.

Oh and the support is phenomenal. Sparkfun, Arduino forums, Adafruit, it’s all amazing.

http://twitter.com/svendarko Sven Darko

Yep yep yep.

I heard about Arduino while researching a story a year or so again and was blown away immediately.

I’ve had this idea for an automated grow box with an irrigation system and light timers so my plants can live while I’m on vacation, but didn’t know how to build it. I fumbled around with a PIC but hated every minute of it – I run Mac.

My PIC hardware is now piled in the corner and I have two Arduino boards and I’m building each component for my system now. In just one week I’ve gotten so much done already. As a long-time open source software engineer, Arduino just kicks ass – period.

The possibilities are endless. I can’t wait to finish this one so I can move on to my next project.

Oh and the support is phenomenal. Sparkfun, Arduino forums, Adafruit, it’s all amazing.

http://twitter.com/svendarko Sven Darko

Yep yep yep.

I heard about Arduino while researching a story a year or so again and was blown away immediately.

I’ve had this idea for an automated grow box with an irrigation system and light timers so my plants can live while I’m on vacation, but didn’t know how to build it. I fumbled around with a PIC but hated every minute of it – I run Mac.

My PIC hardware is now piled in the corner and I have two Arduino boards and I’m building each component for my system now. In just one week I’ve gotten so much done already. As a long-time open source software engineer, Arduino just kicks ass – period.

The possibilities are endless. I can’t wait to finish this one so I can move on to my next project.

Oh and the support is phenomenal. Sparkfun, Arduino forums, Adafruit, it’s all amazing.

http://twitter.com/VE2YMV Yves McDonald

I have worked with a few microcontrollers in the past (PIC, MSP familles). None of them put a smile as much as the Arduino because:
– it`s amazingly cheap!
– lots open-source libraries on the Web
– good books already written for it – no need to ponder engineer prose in hefty databooks.
– simple to use, just like an iDevice: connect, click, whirr!
– Versatile: got weird stuff to connect? there’s a shield just for that ™.

Last, Arduino add an interesting twist: it can connect to a network, either local (with other physical computer) or worldwide.
Arduino chips as we know it won’t last forever – who still use early chips of the ’80s but we can expect a lot new features for the same incredibly low price of today. Vive Arduino!

Anonymous

I used to play with PICs and in the end got bored trying to figure out how to do maths routines in assembly, especially when i needed large numbers.

What I liked about the Arduino is that you have an all in one IDE. And an easy to use language that is actually explained and referenced. I had a look at the mBed, even going as far as buying one, but it lays unloved in its box. Why? I can’t be bothered to figure out how to use it. If I have a problem with a command with the Arduino I looked at the Reference page and mostly go the answer. If I had a problem I asked on the forums and got a great response. If I didn’t know how to make something work, I looked in the playground to see if someone else had done it, looked at their code and either used that or based mine on the solution.

What I would love to see is the Arduino expand into other chips, maybe more powerful ones such as ARMs or the small Atmels where you may not need the number of IOs, yet keeping the simple extendible language. I doubt that would happen but would be cool if it did!

http://twitter.com/m2pc m2pc

Having just jumped from programming PICs in C with expensive, buggy compilers, to the mBed platform, I must say they have a lot going for them as well. The online IDE is a very unique platform that is efficient and works well.

The mBed is a C++ platform with a lot of the hardware abstracted out, freeing you from the details so you can accomplish the task at hand. Being C/C++, it makes it a lot easier to port existing programs to their platform. The mBed shows up as a removable drive over USB, and there’s even a virtual serial port which is perfect for debug output using hyperterminal or the “screen” command under Linux/MacOS. Not having to install any software or drivers was a big plus for me.

There’s tutorials for “going offline” which include setup instructions for getting gcc working on a command-line basis. There’s an Eclipse plugin also for those wishing to use an IDE but not wanting to host their code on mbed.org.

http://pulse.yahoo.com/_IJYW5RHDA5ZHT43M66FCN3DE2A DB

Hey all-
Old-school EE here, Industrial Automation guy.
At the German company I work for, the motto is, “If it vuz hardt to design, it should be hardt to use!”
I say this in jest, of course, but it is too often the mindset of too many engineers, German or not.
Even though I earned a real EE back in the stone age, and I have a whole lifetime of hard-won real-world experience, I still remember what it was like when I started tinkering with stuff as a child. In the years since, many people have helped me become a competent professional. That being said, one of my greatest joys is to pay back all those favors by teaching other people how to do things- whether it is a similarly experienced colleague, a new hire, or the 10 year old son of a good friend.

Arduino rocks! I bought one last December, and am having an absolute ball with it! As long as you understand what it is for and what it’s limitations are, there will be no problems.

To the person concerned that it might make engineers lazy or encourage sloppy habits, I couldn’t disagree more. Someone who has a need to make something robust or reliable will quickly run up against the limitations of their abilities. When that happens, they will look for a better solution. Already I have had to go beyond the common published examples to meet certain special needs, but if there’s a will, there’s always a way. (My years of experience programming industrial controllers really came in handy here. I have used a structured-text high level language for years)

Finally, Let’s forget about the myth of the Self-Made Man. I don’t care how brilliant you think you are, none of us invented any wheels.

http://pulse.yahoo.com/_IJYW5RHDA5ZHT43M66FCN3DE2A DB

Hey all-
Old-school EE here, Industrial Automation guy.
At the German company I work for, the motto is, “If it vuz hardt to design, it should be hardt to use!”
I say this in jest, of course, but it is too often the mindset of too many engineers, German or not.
Even though I earned a real EE back in the stone age, and I have a whole lifetime of hard-won real-world experience, I still remember what it was like when I started tinkering with stuff as a child. In the years since, many people have helped me become a competent professional. That being said, one of my greatest joys is to pay back all those favors by teaching other people how to do things- whether it is a similarly experienced colleague, a new hire, or the 10 year old son of a good friend.

Arduino rocks! I bought one last December, and am having an absolute ball with it! As long as you understand what it is for and what it’s limitations are, there will be no problems.

To the person concerned that it might make engineers lazy or encourage sloppy habits, I couldn’t disagree more. Someone who has a need to make something robust or reliable will quickly run up against the limitations of their abilities. When that happens, they will look for a better solution. Already I have had to go beyond the common published examples to meet certain special needs, but if there’s a will, there’s always a way. (My years of experience programming industrial controllers really came in handy here. I have used a structured-text high level language for years)

Finally, Let’s forget about the myth of the Self-Made Man. I don’t care how brilliant you think you are, none of us invented any wheels.

http://www.johndimo.com John Dimo

Excellent article! I picked up my first Arduino less than 2 months ago and I’m fascinated at just how easy it is to use and program. I remember the days in college when we were programming microcontrollers in assembler. What a pain that was. After a long break the Arduino platform brought me back to when I loved messing with electronics at home and has made it super easy for me to go from idea to prototype to a working, assembled project.

Anonymous

Very interesting article.
I’ve read it and every response prior to mine.
If you know the history you know that there have been Arduino’s before.
By that I mean “Arduino” as in “a popular technical development platforms that builds a huge following” and then typically dies off as the early enthusiasm fades.
It happens with every new techy item but will Arduino be different?

The early computers that came out of the Homebrew Computer Club gave us the original Apple computer for example. The 8051 chips programmed in BASIC gave us early embedded. Then BASIC Stamp had a huge following and could do many of the things Arduino can do just as easy. Then came all the Stamp clones, picaxe, Basic Atom, BASICX, etc.
But here is where Arduino did something different. One thing was common with all these early “Arduinos”, they all used some form of BASIC. This was great for beginners but many professionals laughed them off. There also wasn’t a common connection scheme and certainly none of them were open sourced.

At the same time assembly language gave way to embedded C in the professional world. More people started using MACs and Linux grew due to open source. Colleges introduced future engineers to embedded using the Stamps in Class but the transition to C or assembly was difficult. The hobbyist market was dying, as more kids wanted plug and play like gameboy and xbox and PC gaming.

Somewhere along the way, a few kids and adults started building things again. Robotics helped get that started. Hackerspaces popped up. Electronics were at the heart of many projects. Make magazine was launched to be a part of this movement. Arduino timed it perfectly and everything you mention is true about open sourcing and working on Linux, MAC and PC.

But the biggest reason Arduino took off, in my opinion, is the fact the Arduino code is written in C.
You can argue it’s too simple. You can argue it not real C. But what this form of C did was bring the hobbyist into the same space as the professional. Professional programmers who know and respect C programming could get an Arduino project working in short order. They shared this with the world and it was easy and cheap for a beginner to copy and paste that code and get it working themselves. Adults could show kids how to write code. Everyone was building things based on a common connection scheme and both beginner and professional were speaking and writing the same language and it was C. They shared their projects and their code. The library grew bigger and continues to grow.

It will be interesting to see how well the Arduino clones do and how well Arduino holds up over time. One thing is sure, hobbyist electronics is back in a big way and as an author of books and articles for the electronic hobbyist world, I couldn’t be happier.

Anonymous

I agree with all of your points about the Arduino being easy to use. But you lack focus on the reason it is easy: limitations. The hardware is slow and the open source projects are for beginners. By “building a robot in 10 minutes” with the Arduino really means having servos move in a direction. Perhaps with even simpler logic to avoid a wall from obtaining ADC value from an IR distance sensor.

The Arduino is the lego mindstorms of robotics. It is for beginners and will stay that way. If you plan on impressing your friends, Arduino is not the way to go. Stick to flashing LED’s.

Additionally, for robotics: holding your robotics program on the microcontroller limits your flexability and power. Why not extend your PC’s power by using the microcontroller as an universal dumby terminal for hardware control. That provides you with limitless computational power without “flashing” and “programming” and “testing” and “waiting” and “retrying”, etc. Projects like http://www.ez-robot.com and serializer.

If you look at robots being created by large companies that DO SOMETHING other than avoid walls, they run off PC’s. There is a reason for that, and the arduino world doesn’t have the performance to compete.

I don’t even think it is a great learning tool. It would have been a great tool for classrooms in the early 2000’s. But now we are in a different stage of technology and robotics. Embedded systems are a thing of the past due to cloud clustering and remote computing.

When won’t your robot be near a computer? LOL

JBG724

I like Arduino because it gives superior people something (and perhaps someone) to sneer at. I’m not looking to impress my friends, just get things done. Arduino boards and the amazing range of things that work with them can be used professionally, for certain things. There are many projects, from hobby through prototyping, that don’t require great speed. I have been developing microprocessor controlled pilot test equipment for environmental engineering consulting for the past few months. These systems are only used for a month or two, then taken apart and reconfigured for the next project. They don’t have to last ten years, and they don’t need to be designed for sale at WalMart. They just need to work, getting data from sensors and activating pumps, heaters, etc. If I need to read pH every 5 minutes, does it really matter if my system is optimized? The other engineers I have talked to are impressed and curious, since a lot of these systems are either essentially manual or extremely expensive. If I want to go from there to commercial development of any of the components I’m designing, I will hire someone to turn the prototype into commercial grade. For now, I and many others can prototype almost anything we can dream up without taking time out for a CS and/or EE degree, or paying $$$ to contract out that part of the work.

Anonymous

Wery nice, but can’t we all just get along? I use the arduino regularly in highly technical apps, last month I used one as a crucial component of a multi million laser tracking system. But guess what? I also need to use “The Art of Electronics” and a circuit from one of Forest Mims III’s books. The Art of Electronics is not a book of the EE priesthood, it’s always been meant as a very accessible book for nonEEs to get things done.

http://twitter.com/gbulmer_uk Garry Bulmer

I am a STEM (Science Technology, Engineering and Maths) volunteer.
I run workshops for teenagers (13-16) in school, university undergraduates, and also adults (e.g. DEV8D, Amateur Radio Society etc.)
I use Arduino’s.
I’d like to echo a few points made by others, and add some.
Lest people are mislead, the Arduino ‘out-of-box-experience’ is very good, EXCEPT for the drivers on Windows and some old versions of Linux. That is the only part of the software that has ever gone wrong in my workshops. The latest version of Arduino, UNO, has taken steps to improve it, but I still have problems with school network infrastructure which use ‘thin clients’.

I feel the point about Open Source software needs to be amplified. The Arduino software is so well packaged that kids with access to a computer can download at home, install and dig around by themselves. Better, parents, friends and relatives can install it too, without any crazy license nonsense. There are no obstacles to using an Arduino, in marked contrast to many alternatives.

The board is a work of design genius; most of the information needed to use the Arduino is silk screen printed right onto the board. There is no need to read a technical document about the Arduino in the first few days or often weeks, by which time you feel pretty confident anyway.

A key point for my workshops, which I think was missed, is the IDE comes pre-loaded with dozens of working example programs. People can load them up, follow the comments, and learn about the stuff they want to do with very little help. I find if I pair folks, they can often figure out most of it themselves.

A final comment about the Arduino language. It is C/C++ with easy to use libraries, and a tiny bit of help. This is not some weird toy that is rarely used industrially. Arduino programming is so close to the real stuff that folks barely notice. Kids are not stupid. They _are_ more interested in learning about the stuff that makes their mobile phones or MP3 players work than some flowcharting toy. An experienced Arduino user is likely to cope much better with everyday program source code than a person who’s only ‘written’ a program using flowcharts.

For my $0.02 worth, there is little point trying to compete with an Arduino, it has so much right. My focus is the successor.

http://twitter.com/gbulmer_uk Garry Bulmer

I read the comment “Embedded systems are a thing of the past due to cloud clustering and remote computing.” with interest.

Ignoring the fact that microcontroller are made in quantities more than 20x greater than ‘computers’, and hence dominates programmed systems …

But let’s not ignore the manufacturing companies who say the bottleneck to new product development is the availability of programmers for embedded systems. The vast majority of us use mobile phones, cars, MP3 players, DVD players etc. We will expect our energy use to be minimised, our pollution reduced, our homes to be safe, and these will use embedded systems at the sharp end. PC’s are not essential.

PC’s are being overhauled in computational power by lower cost and more convenient ways of delivering functionality. I fully agree that the cloud will be part of the infrastructure, and PC’s will have a role, but PC’s are the minority device.

That doesn’t mean they will go away, just that they coexist.

“If you look at robots being created by large companies that DO SOMETHING other than avoid walls, they run off PC’s.”
Most robots use microcontroller as intermediaries to handle the real-time sensing, response and control, so learning how to program that seems to me far from useless. Things like http://www.ez-robot.com/ are interesting, but so are iRobot Rumba and Neato vacumm cleaners, and their ilk, which likely outsell educational toys like ez-robot many times over, and do real everyday jobs in the home. Avoiding walls seems to be a pretty good place to start!

A Rumba uses one of the same family of Atmel microcontroller as the Arduino.

Steve Jobs make a computer once that no one knew how to run so he went back to the drawing board and designed a more user friendly computer. Why? The need for a computer that is easy to use for all those who are not gifted with am high IQ. Thus modern day computers have components that make the use easy and simple thus you open the market to a boarder customer base.

ms767210

I also would like to celebrate with everyone here the success of ARDUINO. I think it is fantastic how it has created a market for more choices in cheap development tools. The toughest thing now is deciding an upgrade path when you have outgrown your arduino.
Or which one to try if you want to dabble with something a little different. No doubt something better will eventually come along but for now if you want a slice of the cake you need to make your product arduino compatible.
Perhaps the next step in evolution will be an ARM system that allows you to include either your arduino knowledge or even the hardware itself. I know there are systems already attempting this. By copying the form factor for shields.
It would be interesting if INTEL got off their hands and caught up with arm in the soc sector.
Arduino is set to shine for a while but eventually we’ll move on.

I don’t know about other technologies, but we used Arduino in our high school physics project of building a small robot machine that could transport eggs safely through hazardous locations and having an Arduino really made it much easier to complete.

Being accessible, useful, and fun to play with for the general hobbyist and DIYer is what makes the Arduino a success. It’s that simple.

I see no particular reason why Arduino boards won’t continue to be successful into the future. It’s not like they’re a single static product. They’re the standard for a somewhat newly evolving market that they’re in part creating and helping to support along the way.

Everyone is always trying to make iPhone killers (in the mainstream world) and Arduino killers (in the chip world). But iPhone and Arduino are only obvious in retrospect. You don’t kill things by killing them, you might make them irrelavent by offering up something pure and crisp that can only come from intense focus as an expression of inward ideals not as a goal of negating something else. And in the process perhaps your beautiful offering can play nice with the favorite of the day.

I agree that you have to “be the arduino team” to make something like theirs. But to truly “be them” would be to “be yourself” cause that’s what they would do. I have been big on this lately whenever any reporter asks me something like “Who is the prototypical maker? Is it Mitch Altman?” I say, “Whoever is reading this article is the prototypical maker. It’s in all of us. If you want to be like Mitch Altman, then here’s how you do it, look inside of yourself and see what you’re interested in and follow that inspiration. That’s what Mitch would do. So to be like him, be like yourself. Turn off the TV, and all the other outside influences, and be you. You might find a surprise.”

IMHO the major drawback with Arduino is that the code base is not very professional, low quality, low performance, high power consumption, etc, and the programming model does not really scale very well. My guess is that more than half of the Arduinos are used to run the blink example and are then shelfed. The Arduino is great for beginners education of very very simple things. Hopefully a programming approach will come along that adds structure and abstraction, for instance with a “new” graphical programming language, and a method of composition.

Alfred Myford

You made two different points, and I think I agree with both. I would say a lot more than half the Arduinos purchased were used a few times and then put away. But you could say the same things about the exercise equipment people bought to improve themselves. People try things out and if they don’t keep their attention, many of them don’t get used.

When you wrote the Arduino is “great for beginners education,” you were arguing that it is successful–that’s what it was designed for. Someone who keeps at it long enough to make her/his first project that didn’t come out of an instruction book may have accomplished quite a task–for a non-engineer.

Back when the earth was young, I programmed some of the 8-bit processors using their evaluation kits and in microcomputers, and accomplished the industrial control applications I was after. However, I wouldn’t hand an evaluation kit and a book to my 12 year-old grandson and tell him to see what he could learn. The Arduino has now captured enough of his attention that he needs reminding that his schoolwork needs some of his time, too. He’s probably the only student in his school (or in the town?) who has an Arduino, though.

One of the downsides to the Arduino for my use is my imagination–the lack of “practical” applications I have come up with for using it. Some devices I might have constructed years ago are now available at moderate cost. Two that come to mind are a clock/programmable thermostat for heating and cooling a house and a speedometer for my bicycle. I’m thinking I’ll build a vehicle with sensors to let it navigate a room and not hit the walls and tell my wife if she can find a 100 gram vacuum cleaner, it will be a Roomba.

https://www.facebook.com/slarti.fartfast Farti Slartbast

interesting comments, but completely missing the point of what the Arduino is – a simple, practical approach to a huge span of real-world applications.

One place that is still open for a different version – not so much a competitor but something along side is PLDs – Altera, Xylinx.

There is the ARM based Arduino, but there are few on the other end of pure logic which have many of the attributes – runs everywhere, installs easily, and you can blink alternate LEDs in about 10 minutes.

If you don’t need a shield and are prepared to use a separate programmer (which also costs under $5 and you’ll only need one) you can get an Arduino Mini Pro from Hong Kong for less than $2.50 postpaid. My house is full of ‘em – making the garage door smarter, turning off forgotten lights at dawn (or midnight), closing the gate when it’s been left open, keypad entry to the workshop, resetting the microwave Internet link via a command over the network from the other end of the house, sensing the door knocker to ring bells at remote spots, measuring the capacity of rechargeable batteries, and a zillion more silly little uses which in the past would have been built from a handful of CMOS logic at five times the price and twenty times the work to design ‘em.