How The Arduino Won? This Is How We Can Kill It.

[Phillip Torrone],  has written a piece over at Make entitled “Why the Arduino won, and why it’s here to stay“. While boasting that the Arduino “won” at roughly 100k units in the wild sounds decently impressive at first, lets just ponder for a moment how many bare AVR chips there are out there in home-made projects. Kind of makes 100k sound small doesn’t it.  However, if you look at their definition of the Arduino, targeting fresh and new people to microcontroller projects, that changes things a little bit. That number suddenly starts to seem a little more important if you re-word it as 100,000 new beginner hackers. Sure, they’re only tweeting toilet flushes and blinking lights, but they’re excited and they’ve tasted blood.

[Phil] goes on to talk to manufacturers on how to “beat” the Arduino. He lists features that would help push someone onto a new platform instead of the Arduino. This, is where I think we come in. We can kill the Arduino.

Not as a platform, but by removing it from the hands of people through education.  Lets embrace these new hackers. Lets pull them in with open arms and show them what they can do once they have learned from their Arduino and are ready harness the power of microcontrollers without limitations. We can show them just how simple of a circuit they could use to blink their LEDs. We could show them why and how we think another chip would be better suited to their project.

One reason attributed to the popularity of the Arduino is the hostile attitude from “old school” hackers. If someone shows up and excitedly says “look, I made an RGB mood lamp with an Arduino”, we shouldn’t scream in their faces how stupid they are for such a massive overkill. We shouldn’t ignore them either. That will only send them back to the Arduino forums with their tails between their legs to do yet, another copy/paste project. We should pat them on the back and say “Hey, great job! You know I’ll bet we could make a cheap circuit with a 555 that would pull that same effect off quite nicely and it would only cost $1. Here, check out this schematic.”

Embrace them, educate them, and the Arduino will no longer be their only tool.

146 thoughts on “How The Arduino Won? This Is How We Can Kill It.

  1. @Lucia – Very well put! The problem being that there are likely only a few HaD readers who remember the days before personal computers. I have to admit, although I had access to the Dartmouth College Timeshare System (DEC PDP “mini-computers) I did not learn any programming until we got our TI 99/4A. Now I have experience with TTL circuits and the lovely 555 but when I wanted to get into microcontrollers I bought an Arduino. I would love to just program on the platform and then transfer to a chip w/bootloader on a PCB but I haven’t had a project that required it yet.

  2. There were jerks on forums before the arduino became popular and they will be there when the next popular platform comes along. I like retro computing. When I started posting on forums about things I want to build, I would get responses like; It’s been done before, Why bother, There are much better tools/micros/simulations that you could use. In almost all cases the I could never find any projects built by these negative people.

  3. @vigor

    Your usage of the term ‘fat nerds’ tells me all I need to know about you.

    You want to know what voltage is? Here is a wikipedia article for you http://en.wikipedia.org/wiki/Voltage That is the simple version of it.

    Don’t you think it is a waste of time trying to explain voltage to someone who thinks you are a ‘fat nerd’, hasn’t made a honest living ever, thinks as an artist he is something better than an EE, and doesn’t want to read a little bit on his own?

    What would you do if I come up to you with a colored coloring book, telling you that you must see this and that I know all the basics of art now? And that you ‘fat artist’ have to teach me color theory, drawing techniques and perspective in two minutes? Because, it can’t be that complicated, can it? Coloring that book was easy. And be gentle, because I am something better than an artist, I can color coloring books, I deserve the royal treatment.

  4. I didn’t realize there was even a little war going on over the arduino. That’s cute. I suppose “elitists” always have feel threatened by something I suppose.

    I don’t spend day in and day out playing with hardware. I don’t care do – I have a thousand different interests and a life. When I needed to quickly automate and monitor a custom built hydroponic setup (temp, water level, pumps operational, etc) – a single Arduino is all I needed. Had most everything designed, written and up and running within 6 hours. The Arduino saved me time and gave me flexibility.

  5. I ALMOST agree with the article. I think that the Arduino is a lot like a pre-built desktop computer in that it can be an end and a means to an end.

    If every computer user had to custom build their PC to be tailored to their own needs, it would never get done. Too many options, too many factors, too much knowledge about what works best with what is required. Being able to go out and buy something pre-built gives me the opportunity to just worry about what I can DO with a computer and not worry so much about what goes into it. Sure, maybe what I got was overkill, but getting online with a quad core is better than not getting on at all. Once I’ve got an idea of what I can DO with a computer are cemented, then I can start exploring how I can do them better and more efficiently.

    The Arduino heavily mirrors that. Initially, it’s a black box that “just works”. Play with it. Light some LEDs, drive some motors, sense temperatures, have FUN. The Arduino is a great way to make people passionate about electronics and microcontrollers. People who would otherwise be unable to make the big leap into the beyond. Once the hook is set, reel them in and show them how to build everything themselves.

    The flipside of that coin, though, is that for some computer users, “it just works” is as much as they’re interested in. All they want to do is use it, not demystify it and that’s OK too! There’s a lot of cool things one can do with a computer or even a program within the computer without knowing how everything works. I’ve seen some pretty neat things made in Excel for example!

    Because you will always have people who want something that “just works” you’ll never kill the Arduino any more than you will kill PC sales at Best Buy. On the other hand, many of those people who started out looking for something that “just works” DO want to learn more and that’s what makes the Arduino OK as both a stepping stone AND an endpoint.

  6. I would also compare this to the fight between “true” programmers who use Gcc and Linux and programmers who develop with C#.

    C# developers don’t care how things work in background, they want a working program in 5 minutes…and that’s exactly what most of Arduino users want.

    Actually, Arduino is not th first platform like this. We could talk about Basic Stamp for example. But Arduino succedeed with a community, and with an artistic approach of electronics, simply showing how to do light, music or how to make an interactive system in minutes.

    Arduino was made by artists for artists but spreaded away.

    I used to work with AVR for 10 years, but damn, I love these Arduinos. I needed to use a graphical LCD. In 10 minutes, it was working, and I really don’t care nor have time to go deep into registers,drivers and hardware to install it. I didn’t have to care about my crystal speed, my ports to address it and all that scrap. I simply called a constructor and damn it works in minutes.

  7. Now the Arduino is looked down upon by a lot of people, however, I actually look up to it. By trade I am a mechanical engineer and electrical circuits that don’t use discrete parts confuse the hell out of me! Just a bare PIC or AVR scares me like nobodies business! The Arduino and all similar products that have a large community really help me along. It seems less intimidating, consider these things training wheels for the micro-controller uninitiated.

  8. Well even PC with serial port can be used for blinking-LED project :-)

    I’ve found lots of CMOS ICs that are very simple to learn when you need to make some simple project but you won’t spend your money for arduino.

    BTW i’ve never seen arduino uno (with native usb) made by somebody else than arduino.cc… where are all those clones? freeduino uno, seeduino uno? nothing? open-source hardware but too complicated for DIY production?

  9. Oh weird I’ve been cited as an example of non-hacker. Never thought that would happen.

    Anne, I’ve been a hacker since grade school fucking with “Lemonade” and logo on my apple IIe. New Hack City & B00l34n h00LuM5 repruhsent y’all. ahem.

    Anyway on topic, since I was dragged into this… I was actually reluctant convert to arduino from the PICs I grew up with. I can honestly say the only reason we use them is that they are the standard with robotics and artists which makes it easy to adapt the generous work of others or collaborate with folks that do similar stuff.

    So why is Arduino a standard versus the myriad other programmable project boards? Community… social network connection density… that’s the only reason. Want to unseat Arduino? Well you’re working against basic rich get richer game theory so you better be in for a long slog or come out with some radical meme upsetting marketing and/or technology.

  10. @Odin
    For each of the AVR chips I have ever used, I built a small board. This board has a programming header and an IC socket, with legs long enough to go directly into a breadboard. This ~1 hour of time invested gives me a reusable tool which I can use to prototype any project, then once I’ve got the design down, pop out the chip and build it on perf-board.
    You save money by not buying arduino boards and not using overkill chips; you save time by not having to build a dedicated board for every single project; and you get to learn a bit about the hardware (everything isn’t handed to you on a plate)

    And as for programming environment… I never saw a problem with ‘sudo make’

    I guess what I’m trying to say is lay down some ‘boilerplate’, invest a bit of time in some generic boards, a generic makefile, write/find some useful libraries (serial, i2c, lcd) and you will save a lot of time, money and effort in the long run.

  11. There’s no reason to kill the Arduino. Nor has it “won” anything. It’s a nice platform to test concepts, and the software runs on anything. It’s a decent common ground to transfer ideas to other people in a unified language of hardware and software. People can move on from there. I’m not bothered by non-engineers using it to do stupid things, it’s screamingly funny sometimes, but they can learn as much or as little as they want.

  12. @A7

    What a stupid notion. Kill the Arduino simply because you’ve seen final year EEs use them in a project? What was the scope of a project? Get a piece of software to work, or build something from the ground up? Uni is hard enough without major delays in projects because you feel you need to show your hacker skills at making something from the ground up.

    I saw this a lot while I was TAing for a Team Project course. There were students in the group who built beautiful hardware, but then ran out of time on the software because they spent too long trying to figure out the circuit. Mind you we specified that no pre-built designs are to be used so any students who submitted an Arduino automatically failed.

    Yet there were plenty of groups who bought them, set them up within the first week for their software engineer who got in and started bashing the keyboard. In the meantime they designed the hardware, and as a result everyone finished the project early and perfectly because they used the tools they have available to them.

    The Arduino is a tool nothing more. It’s no more a foreign concept of having a breadboard instead of a perfboard and a soldering iron. There are times where I will even reach for a wirewrapper because it’s just faster than soldering point to point.

    One should NEVER kill a tool. One should use a tool when it’s appropriate, and put it back in the cupboard when it’s finished.

  13. Lets put it this way, those people had a choice: get a book on uC subject and follow its recommendations or get Aduino. They choose to be lazy so let them, we dont need them let church of Arduino swallow all artsy fartsy kind and keep them busy

  14. I don’t get the Arduino haters.
    I built a relay computer back in the 70’s, then discovered DTL.
    When THAT fateful Practical Electronics article came out with their 6800 “beast” I built one.
    Then I got a SYM-1, which I still have and use!
    Along with my Apple II’s, 386 and 486 machines.
    I still have a $M Mac Plus in hard daily usage.

    My first Arduino was a Mega, ok I did the examples, flashed LED 13, servo sweep, etc.

    THEN I bought another, 2 XBee shields, a GPS shield and a whole heap of SparkFun breakout boards for temperature, humidity, H-bridges, a digital compass, accelerometers and gyros.

    Now I have Deumlinova, 4 SeeedStudio Mega clones and a whole heap of 328’s with the Arduino Bootloader. Which I used to build my “Barnduino”, on prototyping boards, all 12 of them.

    I’m building up a monitoring system for our turkey barns, logging temperature, humidity, keeping an eye on water usage.

    Our barns now have my “Barnduino” units talking to a SeeedStudio Mega, which relays the data to the house via an XBee link.

    Total development time so far, about 3-5 days.
    If you want to do something quickly, easily it’s great.

    Arduino is a tool, nothing more.
    It’s quick, easy, cheap.

    Saying we should kill off Arduino is like saying we should kill off hammers, screwdrivers and spanners!

  15. Caleb, as someone who is entirely self taught in all things electronics and most things computers I appreciate the sentiments of this post. Unfortunately I don’t think the characteristics of the community addressed are likely to change any time soon, and I’ll explain why.

    APerson and ftorama both used some interesting analogies so I’ll stick to their examples. The reference to the similarity between Arduinos and PCs also exemplifies the problem many more experienced members of the community feel is compounded by the widespread(some may say excessive) use of Arduinos.

    Many people here will remember what the internet was like prior to the late 90s/early 2000s. Yeah the technology sucked, the connections were slow and unreliable, finding the information you were looking for was a pain in the…..hiney, and multimedia was rare at best; but when you finally found the right BBS or IRC channel the community was awesome. Then came AOL and “getting online” became the hip new thing. Next thing you know your favorite forum is full of people who don’t know how to use the search feature, asking the same questions as the guy before, ranting about how nobody helps him when the only response he gets is links to other threads. Your favorite IRC channel fills with a combination of people who’s entire vocabulary is three letters(ASL?), spammers, and bots. All of the positive contributors to the community leave out of frustration and the site/forum/channel eventually dies.

    Pre-built PCs and internet access that “just works” allow people who otherwise wouldn’t have been able to to get online. It’s true that out of those thus enabled a few continue to learn and even become positive contributors to the communities they join, but it could be argued they would have done so regardless.

    Another potential issue could be outlined following the analogy of Excel. Excel is a very useful program with incredible capabilities. The problem with that is that people will use it for things that it was not intended to do. I have seen people trying(and to a certain extent succeeding) to build relational databases using spreadsheets because that’s what they understand. The same could be said of most programs in the MS Office suite(s). I’ve seen large scale CMS, POS, and inventory control systems implemented in Access because the author didn’t want to learn how to do it on a SQL server.

    That’s all fine and dandy until it stops working or begins having problems. when that happens somebody else usually gets called in to fix the problem because the original “architect” has moved on or is incapable of resolving the issues. Then somebody who does know what they’re doing is tasked with fixing what is very often an unweildy system/program/other-type-of-solution. If that person wants to reimplement from scratch or otherwise invest the (usually)considerable resources to do the job correctly they’re berated or ridiculed for not being able to “just fix it”.

    The same example can be made of many C# “developers”(bear in mind it is a foregone acknowledgement that the following is not always the case). “C# developers don’t care how things work in background, they want a working program in 5 minutes” is exactly the problem. They bang out a program with little thought for performance, scalability, portability, maintainability, security, or any of the other things that a more capable programmer might. Perhaps it’s never a problem, but if it is, it’s the more experienced programmer who has to fix it(or at least deal with it in some forum).

    I would’ve loved to have had some form of a mentor to teach me things like pointers, how to enumerate the column names in a table, how to read a data sheet, the difference between PNP and NPN, how to recognize a GLC, how to deal with the HV produced by a collapsing magnetic field, and a million other things. By the same token I would mentor somebody who wanted to learn those things if I thought they were worth the effort. The thing is that by the time some random stranger on the internet has proven that they’re worth the effort, they already know much of what I could teach them. In proving they are worth the effort they showed that they already know how to find the answers they don’t have, they learned how to search the forums, they read TFM. They also learned intollerance toward those who didn’t. In short, they became one of the “jerks”.

    All that being said there are those for whom the Arduino is a first step, but I believe that for many more the Arduino is the ultimate destination.

  16. Arduino is a board. The real deal are PIC microcontrollers, AVRs.. Arduino is not a microcontroller, is a AVR hooked up in a fancy board. If you can do something in 5 hours using arduino software libraries, you can the same task using an infinite number of open source C libraries for microcontrollers, in a more reliable way (it not just works, but works always) with a little more effort learning and thinking on how things work (nothing its easy, my friend.. if you want to do, learn about it.. it doesnt kill anyone)
    nothing against using arduino boards, they are neat, and well made. but its just a board, what makes arduinos this easy(and trendy, hipster-hacker friendly) is Atmel’s AVR archictecture (the Arduino and other *.duinos brain) that is so well done( even with fuses, registers and other low level things that some people freak just for hearing about) that can handle redundant code and other high level stuff.

  17. Being an avr dev for thbe last 5 year, I remember strutting around the dept because I got printf to work with the stkt500. I remember spending weeks in datasheets setting up spi. When winavr came out people oohed and awed over a free compiler. I thought I was brilliant when I mounted an ftdi chip and flashed a bootloader.

    Then arduino was born and am glad the world has seen the light.

    I remember chastising people using a 100 minidragon for a weather sensor and scoffing. I think a 30 arduino is excellent. What I would love to see would be a kit that would allow you to build an arduino on a breadboard. I know how because of my long painful history. I’ve shown a few people and watched the aha.

    Let’s be the aha!

  18. To michael, really?
    To use printf you need to have a file system, and an embedded micro doesnt have any sense of files, for sure you can just read the avr-gcc manual and add the needed 2-3 lines of code, or just use sprintf and then use your own code to print that via the usart…

    Days to configure the SPI port, really?
    It the gigantic number of 3-4 control registers, its just set prescaller, put in mode 0(default) and use SPSR register, to send AND receive 8 bits of data, really hard dude.

    All the super haxx0rs whinning, all the Arduino “project” is made over already existing libs, but they are just dumbed up a bit, add stupid buffers to everything, because an atmega328p as Gb’s of Ram like any actual pc….
    And then slap the mabe by Arduino crew header.

    This remenber me things like the copied FatLib copied from ElmChan and so dumbed down that its un-usable, and then enter all the super programmers that need a hyped up lib to read 3 analogic values and then return a value that varies between 0 and 1023 in a nice float, just because its better and more precise.

    And then any board with an Atmega and some headers is an Arduino clone and it must die.
    Then there all the fanatics that have the strange need to name everything *.duino, really?
    Its just a pair of leds that will burn down cause you dont even know what current limiting is.

    All that those “artsy” exposures, using some servos and leds that burn down to ashes after 2 days, because their finished project is an Arduino nailed to a breadboard with some spaghetti wires.

    And then there is the great Made In Italy, yheea right….
    Looks more like the worse shop that they could find, bad solder, the boards edges can be used to chop some fingers, mis-aligned components, sub-sized caps and v-regs.
    All the “clones” are better and cheaper lol.

    And what about the copy paste bootloaders that for some reason are way beyond ruined, so bad that they dont even work!!!
    And then call it opti…. because they are indeed the next great thing after sliced bread…

  19. My suggestion for Hack a Day: For every project that uses Arduino that gets posted, add how it can be done better using something else.

    Passive-aggressively belittling their projects while being under the guise of trying to help is my current strategy. Cutting into their pride is the best way to get them to learn, simply because they are so proud. Try to do so with extremely meticulous detail. Meticulous because if you can’t point out a small number of major things, then a large number of small mistakes will also take their toll.

  20. Great article making very valid points.

    I have an arduino I bought for prototyping but it’s the IDE that I hate. Having learnt everything I have so far (and by no means am I saying that’s a lot, for example I struggle massively with analogue electronics) from PICs when I first programmed my Mega I couldn’t believe how slow it was to program the board! That’s just one of many things that bug me about the IDE but if it is getting more people learning the basics, piqueing their interest then great! It should be welcomed, encouraged and nurtured by sites such as this. I admit I cringe when I see a final project with and arduino a rats nest of wires etc but if that is good enough for the job why make it more complicated than needed?

    I remember the two things from my childhood that led me to electronics and hacking were tearing apart an old laptop my Dad had bought from work when they replaced them when it died and a Lego mindstorms kit that one of my friends had and we were able to make things work and program them like ‘real robots’ as it seemed to us. If the Arduino platform does this for kids, students or just people who are curious about hardware then how can we complain? And I’m sure, bar a small number of us, we have all posted things on forums that have replied to us in a very condescending manner when we are stuck with something new, even with a data sheet or api references etc things aren’t always crystal clear and not everyone thinks in the same way so what appears obvious to you may not be to them without a little help.

  21. Sorry for my english, I’m french speaker.
    I’m a completly beginner in electronics. Arduino helped me to start. Now I’m proud to have done a remplacement speedometer for my motorcycle (with some more features, and an independent atmega168). I’m know I would never try to do this before playing with arduino. So if you kill arduino you kill part of creativity too. Aduino is not a end, is a begining, and blinking some leds with this hardware is a start to be curious on other more complicated hacks to be done. Now, I know is very sad to see people doing things that are previously done by an elitist people..

  22. Arduino is great for beginners and I wouldn’t dream of actually taking it off the face of the planet. So many of their users, who are obviously more talented than the average person, build more complicated projects. It hurts to see that instead of actively seeking the right solutions, they’d rather find hacks to mold Arduino some questionable solution.

    I want these people to break out of their Arduino habit. Plus, there’s so many Arduino products flooding the market, and not a lot of people bother with designing more advanced stuff for more advanced hobbyists within the same price range.

    And I think Arduino has basically monopolized (obvious wrong choice of words) the beginner’s microcontroller market. It makes it for any other different platform to compete, which limits options for non-beginners, which is annoying.

    Look at the Teensy, which is an excellent step up from the Arduino, but it still prefers to promote the use of Arduino code, as opposed to encouraging people to try using LUFA or Atmel’s USB stack. This is obviously because nobody would buy the thing if it looked too hard to use.

    Netduino has nothing to do with Arduino… It looks like an Arduino but that is it. It goes to show you how much influence that Arduino has, and because of it, Netduino thought it was a good idea to make its shape and pinout the same as an Arduino, which means not all of the pins are available on the AT91SAM7 chip it has. And Netduino isn’t the only one guilty of this. Fez Domino and Maple Cortex boards also use the Arduino form factor, which turns me off them. I’m looking for a cheap ARM solution, and because of Arduino’s influence, it’s very hard.

    I just got a FPGA board called the Papilio One. And the getting started guide is about how to use Arduino IDE with it to turn it into an Arduino… NothiI This is a FPGA, yet to a noob, still only as useful as an Arduino… Good thing I had plans for it before hand.

    It’s like getting a PC port of a console game. My point is, I think Arduino has dumbed down the market for everybody else, which is annoying.

    If you are going to suggest to me some other ARM solution, I’m already looking forward to getting a LPCExpresso, and a mbed, but I question the DRM on both…

  23. According to me, Arduino is a precursor of the future of programmable electronics. As I said before, that’s not the first one.

    Arduino is just similar to first mass-market computers. 25 years ago, when “real” programmers used to deal with assembler to make a cursor blink, some brands (Amstrad, Thomson,…) came with some computers that could be programmed in BASIC…BASIC, how can we imagine to develop with that thing that doesn’t require to interface to the display circuit to light a pixel?

    Well it’s not as efficient as assembler but nearly everyone can do it and it’s powerful enough for most people’s needs. Why bother with computer hardware and assembler with such a simple task.

    The arguments are exactly the same today with Arduino. It’s simply the first one in a new generation of “consumer” electronics. I discovered recently, the Teensyduino (or Teensy++ if you like C) and I can emulate a keyboard or a mouse with 3 lines of code. I don’t care about the driver, and moreover, I DO NOT WANT to write this f…ing USB stack for simply typing a “A” when I press a button or driving my mouse cursor with a Nunchuk.

    We had BASIC stamp which were a pain for performance (10k-50k instructions per second). We have Arduino that is much more powerful (and can be programmed directly in C for more speed) and we’ll have even more powerful boards, even simpler to use. I mentioned Teensyduino that is still an AVR board with extended possibilities, but other brands have understood that the future is here, in simpler things.
    For example, now some Cortex-M3 Arduino compatible boards exists, and that’s great:
    http://www.seeedstudio.com/depot/leaf-maple-cortex-m3-p-670.html?cPath=132_137

    look at NXP with their Mbed, they try to reproduce the success of Arduino also (but not open-source)

  24. Good article, though I like to think of it as “How the arduino won and how we can use that”. Myself being an old-old-school hacka the arduino was my intro to microprocessors. I know Ohms law, transistors, sines and cosines but still struggling a bit to understand this strange concept of telling a curcuit what to do (v;>*

  25. I bought an arduino kit as a gift to my son (well, in reality it was an excuse to buy one). After playing a little, we was really impressed and excited with the blinking leds and the temperature sensor.
    It opened a whole new world of ideas of how some electronic devices are easily done and things we could do.
    But I know that to build a commercial product, I’ll need some specialized hardware to make it competitive.
    Without arduino, would be much more difficult to start and get the basic concepts. It has a great community of hackers and lots of beginners material.
    Doing an analogy with programming, I taught an introductory programming class to an electric engineering course in my university. We use a tool called visualg to play with algorithms. It’s an extremely limited tool, but some students keep asking how they could use that in real world projects.
    Tools to learn are not necessarily the same tools to work, the first can hide some details and complexities, helping the beginners to see the fundamental concepts behind.

  26. Arduino is business. Logo, viral a great story for the name, Massimo Banzi (a really funny fat man) and a lot of support from Telecom, IDlab Ivrea, Wired etc.

    Arduino is money (not for us) nothing more…

  27. The level of reading comprehension fail I’m seeing in some of the comments here is stunning.

    Simply put, the message behind this post has little to do with Arduinos at all, it can be summarised as ‘don’t laugh at noobs, help them’.

    If you can’t understand why then you’re not much of a hacker, hacking is very much linked to education.

  28. @michael
    I never needed to use things like printf, fprintf, sprintf, tat does the same but the output is a buffer instead of the file system, its a memory hog, but not that much if you link libm and know how to use it in efficient ways.

    I agree that Arduino actually, well and always, its a way of making loads of money, the Twitter form the “creators” is full of travel logs around the world.

    And really, that documentary is a butt-load of BS.
    Its all unicorns and bunnies….

  29. Hi, my name is Andrew, and I’m a bad hacker.

    By bad, I mean awful, not that other connotation. I had a phone conversation with somebody over how the motor tutorial works for my Arduino. It took the two of us an hour of poking, prodding, and asking the wiser Google to find answers to our question (specifically, the diode in parallel with the motor, and its purpose). But, we found it.

    After I worked through the tutorials, I put the kit away and let it sit for months. Even though it was put away, it was not forgotten. I won’t say that my first foray into microcontrollers started a torrent of ideas. But, one or two thoughts bumped into other thoughts. How does the wall collapse? One stone at a time, for a time.

    I don’t yet have a deluge of creative ideas. But, I read an article on hackaday every day or two that catches my interest, and I file the relevant parts away. I frequently see an Arduino used in the projects that interest me. I also frequently wonder why I would use my $40 dollar, pre-assembled Arduino in a long standing project to do something that seems relatively simple. I don’t know the limits of the hardware, but I think that an autonomous drone would be more intensive of a project than LED moodlighting (which I like. It was that first project I read about on an Arduino).

    My biggest goal in using my Arduino at this point is to understand *WHY* the controller selection. And, more importantly, *HOW* do I make changes. My project right now is controlling a Roomba via the ROI. It only uses serial communication. I’m only using about 20% of the memory capacity of the Arduino. Even after I write all the functions I can dream into a library, I doubt I will have 50% of the capacity used. I want to know how I can swap out my solderless breadboard and prepackaged Arduino for a smaller, more appropriate solution.

    But, that will take time. It will take research. Google will undoubtedly be involved. I may even post a question or two on a forum when I get absolutely stumped.

    This is a lot of verbage for my main comment. Therefore, my Too-long-didn’t-read is this:

    This article says exactly what I’ve been trying to find online. Help me, and help other new-blood hackers to understand why the Arduino isn’t the end-all solution to simple hacking. And once I know *WHY*, show me *HOW*.

  30. @rallen71366

    >>the early linux community damn near killed

    Back when linux was new the only people that used computers and would consider running linux were running minix or something similar anyhow. The first public versions of linux couldn’t build themselves IIRC so you needed to be an “arrogant bastard” to be able to get it running in the first place.
    There wasn’t an “I run ubuntu have twitter account” fan club like there is now..

    >>and refusal to help new people.

    So, what you actually mean is not when linux was a new thing but “before ubuntu was invented”.

    >>It took concerted effort by evangelists,

    No, it took skilled hackers with some free time and a fetish for playing with a crappy little kernel that was really an overgrown terminal emulator to build it into a usable one.

    >>arrogant bastards that do more damage

    Hell, I would prefer to have lots of arrogant bastards that can write meaningful bug reports instead of “my mouse doesn’t work if I dip it into milk, you must fix this now or I will reinstall windows xp!!!”.

    >>newbies trying to learn about microcontrollers.

    Fair enough the Arduino is a useful teaching tool.. but how much do you really learn by stringing together other people’s code?
    If you can print a string over the UART with a single call from start to finish, not knowing what a UART is and how strings work how much have you really learned?
    Are “newbies” unable to go to a library and get a book on basic computer architecture?

    >>A*holes as I’ve seen here.

    So go somewhere else? If you’ve been in “tech” for so long you should know its all a pissing contest.. that’s half the fun of being in “tech”. Big heads get their ego’s popped and the little man can shit on the big mans cornflakes if he tries.

    @hekilledmywire

    >>printf, fprintf, sprintf,

    So you’re one of those people that insist on re-writing everything for no reason?
    printf doesn’t need a filesystem as you have made out. If we take newlib for example.. all you need for printf to work is to implement a few “syscalls”. The main one being for writing chars.
    Maybe you mean that you need to implement the descriptors for stdout etc? That’s hardly a filesystem.

    fprintf doesn’t need a “filesystem” either really,.. there’s no reason you can’t have a fake “filesystem” in memory with some buffers that look like files to fprintf.

    >>tat does the same but the output
    >>is a buffer instead of the file system,

    A great example of printf using a buffer is when people have lots of calls to printf, no new lines and can’t workout why nothing is being output.. anyhow printf should be part of your c library and should be suitable for your machine. So if you’re writing code for a machine with a tiny amount of ram it should be a very tight implementation that’s maybe missing some features.

    >>its a memory hog, but not that much if you link >>libm and know how to use it in efficient ways.

    Who’s libm are you talking about? which c lib?

    >>its a way of making loads of money,

    I’d be surprised if it wasn’t a plan to make money. Is there something wrong with making money?

  31. You know what the arduino allowed me to realize? That an iPhone is nothing but a handful of sensors, a couple of i/o components, packaging. Externally it has a way of creating software and putting it on there.

    You know what the arduino allowed me to realize? That *I* can create a remote sensor network to monitor a community center that I am responsible for.

    You know what the arduino allowed me to realize? That if I need to install 10 sensors in the center, that is expensive if I use the arduino. And I asked how the eff is it that I can buy something that contains all of that functionality that I want so cheaply.

    You know what I came to realize? That there is this community that understands how to create all of this cheaper and smaller then I can with an arduino.

    Had I not found the arduino, I wouldn’t know the possibilities.

    Don’t scare me, and those like me, away…. Encourage us and nuture us.

  32. @Johnny B. Goode

    A stunning post!
    If I had to add anything it would be that I guess the mentors people are looking for do exist, but they generally don’t sit around online to do one to one mentoring. If you really want to learn something then its very probable that someone has taken the time to write an explanation somewhere.
    Some people seem to expect people to be on IRC, forums etc, to take them by the hand and basically do the work for them.. which just isn’t going to happen. Those people get upset when people say “have you googled it?” and go off on one about elitism.

  33. @Pippofranco

    Arduino a business???

    It looks like you don’t know Arduino nor business. It is open source, open hardware and you’re free to build one from scratch and download the bootloader for creating your own Arduino

    If it’s business, Arduino creators are really bad businessmen lol

  34. What! No mention of the MSP430?. A Launchpad is under $5 and it’s easy to use Spy-bi-wire for in system programming. We teach a course, and on day 1, folks are breadboarding their own ISP-able circuits. It only takes the Mcu, a cap and a resistor.

    The smaller MCUs are $0.35 in large quantities.

    Whare the Arduino shines is in the simplicity that the Wiring language brings. In fact, we have created a Wiring header that lets the MSP impersonate the syntax of many of the most used Wiring intrinsic functions. Using that library, we were able to port several Arduino libraries, such as the MAX7221 lib, the LiquidCrystal lib etc.

    Where the Arduino fails miserably is in debugging, and that makes itvery moluch “not for me”, except for quick prototypes ..

  35. If you want to kill the Arduino, give me a way to program a circuit to communicate via USB without using SMD components. The cost of the AVR, clock, power supply, and a breakout FTDI chip is equal to the cost of the Arduino. Throw in the cost of an AVR programmer, and it far exceeds the price.

    Sometimes it’s not as easy as simply using an AVR chip instead of an Arduino. The Arduino gives me a built in AVR programmer, USB serial communication, and the AVR plus components all for less then $30. Without being an experienced SMD solderer, I have not bee able to replicate this with bare components.

    People never realize that if your project requires USB communication, or even more complex network/wireless communication, then an Arduino is by far the most price effective solution for 1 off projects.

  36. I’d just like to add my 2 cents here: people dislike the Arduino out of principle. It is over-priced and over-powered for most projects. It laughs in the face of efficiency to use a big ass board to power a few LED’s or produce one PWM. Beginners should look at something like PICAXE, Pic’s loaded with a bootstrap that allows programming with just a cable (no programmer), programmed in basic, require no external oscillator, has tons of features, and cost only a few dollars.
    Thats why people hate that ridiculous POS arduino. It’s like choosing a bicycle with training wheels that costs more than a motorcycle… just because it is more user-friendly.

  37. I love the freedom hacking affords, to reinvent the wheel or to come up with something totally new.

    And I’m not a hacker. I would like to express myself electromechanically, as with a bark-detecting supersonic rifle (with backup bb gun) turret on my roof, but there is much to learn on the electronics side.

    Until this article I wasn’t aware Arduino had haters. I wasn’t aware its interface was lame or its circuitry one thing or another. I did know it represented a way for me to use my smart phone to shut up the neighbor’s dog. I thought of it as a shortcut or jumpstart to salvaging components people throw out every trash day and assembling cool stuff.

    Now, I think the books are where I should start so that my $ can buy food and a chip rather than multiple chips I won’t be needing. Poverty really drives innovation and whether I cobble or hack doesn’t really matter to me. What does matter is success.

    If HAD tries to kill the Arduino with kindness I’ll keep visiting; arrogance, though, won’t be a sustainable strategy if you want fringe traffic.

  38. Build an usbasp, you can use the arduino as an isp programmer, then you programm the atmega8 using the arduino as an isp programmer and voila, an ISP programmer for the price of an atmega8 and a crystal.
    If you really want to be a big spender, buy an AVR ISP MK2 clone for the huge amount of 20$ and programm all the avr’s that you want for the rest of your life.

  39. Prolific Usb to serial adapters costs less than $3 on dealextreme.com, they can be disassembled easily, almost breadboard ready, and works just like ftdi or other adapter. Avr programmers can be built with some diodes and resistors, and theres lots of schematics availiable that can be easily found using mighty morphin’ Google. with 30 bucks one can build a couple of icsp programmers, a board for the mcu, and keep the change to buy a beer

  40. O ‘ell, the DIY/hardware hacker community would enter a P’n contest over would brand of an adjustable wrench is the proper tool for the job. Good luck with agreeing as to the way to teaching basic electronics, and/or skills of any sort.

  41. This story sounds like how Microsoft killed Palm OS…

    Why kill Arduino? I started Arduino last year, and I really enjoy it. As a result, I’m no longer interested in the Parallax BASIC Stamp.

    My brief history: Analog Electronics = 30+ years, Computer Programming = 25+ years. Digital Electronics = 12 months.

  42. I’m a high school student, and I’ve been using the Lego NXT and Vex robotics systems for years. The problem is, I’ve grown tired of being tied down to their products. Now, I could use 555’s and other components, but my skill with circuitry ends at linking an LED. I also could get a bare micro processor, but I don’t really have that many programing skills. In comes the Arduino. I quite like the instructions and user database, and using these I can build up my programing skills in order to write other languages.

  43. First off I want to thank Caleb for doing this, I’m unsure wether its related to an email I sent them the other day. Now I will explain why I treat you guys with such contempt.

    I first arrived in the hacking scene circa 1999 and kept to myself, just slowly learning and keeping quiet. As time and time has gone along my skill base has gradually improved (I’m competent with CAD, CNC, Electronics, Pneumatics and I program in BASIC, C and PERL) and never once have did I spout off about it.

    Now fast forward to the last few years and I was excited (yes believe it or not) at the Maker revolution and then I’ve slowly seen it slide in to what it is. No one willing to actually learn and put any times in to learning new skills they instead seek crutches to prop themselves up on.

    This is what principly pisses me off, not the fact that arduino exists (diclosure: I bought the duemilanove when it first came out). Indeed it’s the fact that people use it as a crutch for mediocre projects and have the cheek to call themselves hackers.

    If people bothered to spend the time it takes, gradually improve their skills then the scene would improve.

  44. wow – that’s a lot of comments.

    I’m a graduate of an EE Tech program at a major university. I’ve been limited in my job opportunities to do embedded work, so I end up doing much of that for my hobbies.

    The arduino is useful and is an ideal choice in some projects. I sometimes weigh the pro’s and cons of using one instead of the attiny24, which is a favorite of mine. One thing I like about the arduino is that there’s a lot less register programming which usually leads to quite a bit of extra debugging time and then there’s the fact that getting the project off the ground is much faster.

    I don’t think you can ‘kill it off’. I do think there’s a lot of platform innovation going on as a result of arduino. We now have maple, the msp430, at90usb, propeller, pic, and many more other development platforms than we’ve ever had in the past. Too many to mention and cover adequately if you ask me.

Leave a Reply to qwertyCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.