How the arduino won? This is how we can kill it.

posted Feb 11th 2011 9:00am by
filed under: arduino hacks, rants

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



135 Responses to How the arduino won? This is how we can kill it.

  • jeicrash says:

    Very nice article, may not be full of HACK, but it brings up a good point in the hacking community. Without pointing new comers in the right directions and improving their education we have set ourselves up to see more arduino controlled self cleaning litter boxes. The litter box may be clean, but the newbies still offer up what was just cleaned out in a long line of re-packaged arduino projects, instead of fresh ideas using more appropriate components. Thats at least My 2 cents worth though.

  • birk says:

    Sometimes it’s not about the microcontroller part of the project. I use the Arduino as a quick and dirty way to test the “rest” of my circuits. Once I have the hardware interface down and/or the logic figured out I put the proper uC in and save the Arduino for the next job.

  • komradebob says:

    It’s not a ‘kill’, it’s more of a ‘co-opt’. :)

  • Phil says:

    I thing its good that hackaday don show just hacks, sometimes non hacked thinks are like a hack :). A hack a day keeps the doctor away.

  • js says:

    The arduino isn’t just a board. It’s the bootloader and IDE also. I’ve prototyped things on an arduino board, then programmed a new CPU with the bootloader and code and put it into a board designed for the project. I would consider that item arduino based even if it doesn’t have an official board.

  • Lenny says:

    NOT A HACK!!

    I kid.. I kid… great article. This did a great job catching my attention with the “and how we can kill it” part I was like “has HAD lost their mind(s)”? … then I read on… really well written and a great point.

  • EmptySet35 says:

    @birk I agree completely. It drives me insane to see people’s “finished projects” which amount to nothing more than and arduino, breadboard, and a rat’s nest of wires. For me, that’s the beginning of a project, the test phase. After that I lay out the PCB and select the right uC for the job and put the whole thing in a nice enclosure, then my project is done.

  • I only bother with an Arduino if I am specifically asked to and if

    For small things that must be power efficient there’s PICs, for bigger things there’s the parallax propeller. I built a full featured autopilot (the “draw a route on google earth, hit send, watch it go” sort) with it in 2007. Even have the source code on my webpage, but ofcourse it’s not trendy enough, so nobody cared…

  • John says:

    How about more “basics” articles. With an included shopping list? I am a software guy and have 0 hardware exp. I dont have many tools and even fewer parts sitting in a bin. The duino kits interest me b/c i know I can spend 50 bucks and bang out a couple beginner projects before moving on. Where is your project pack & associated tutorials?

    • Caleb Kraft says:

      @John,
      I think you might have misunderstood. For you, the arduino is perfect, go get one! after you’ve done some projects, you won’t have 0 hardware experience and you’ll be ready to start making your own shopping list!

  • Anne says:

    The point of Arduino is to give people who aren’t hackers yet a way to experiment. The Smash Putt installation in Denver this January is a good example of what Arduino can empower:

    It’s not that the board or the environment are magic, it’s that they’re good enough to let people get on to the rest of the project.

  • matt says:

    see, im doing electronic engineering, so i have some theory hardware knowledge, and am studying PICs, but have no hardware to play with. so i have the issue of what uC, what hardware, what project, what IDE, what dev board. and i dunno where to start =(

  • 1337 says:

    for an extra dollar (gasp) i can switch out a 555 with an attiny. I bet you make up the dollar difference with the savings of additional components and pcb space required on the 555 circuit. So unless C programming makes you wet yourself the choice seems clear.

  • Jon brod says:

    I think this article is a bit mis-guided. Sure the arduino is great but why would you want to kill it off? For me it started the journey towards using drivers and timers etc. Without the arduino I’m sure a lot of us would not even of gone down the path of learning about voltages, resistance, current, ICs e.t.c.

    • Caleb Kraft says:

      @Jon,
      I think we’re saying the same thing here. I’m appealing to the anti-arduino people saying that if they broaden the knowledge of the beginners, the arduino will no longer seem like the end-all solution. The term to “kill it” could be replaced by saying that those people will move on to more custom design AFTER they learn with their arduino.

  • Odin says:

    Why do you want to kill the Arduino?

    Hackers love to KISS, and the Arduino is a great way to do so.

    Let’s say that I want a RGB LED to change color according to the ambient light, and I want to put it in a beautiful enclosure. I am a EE by day, and I’ve done 30 micorcontroller projects, so I am by no means a newbie, so let’s see what I have to do:

    1.) Create a schematic
    2.) Buy parts
    3.) Buy programmer
    4.) Breadboard circuit
    5.) Install the programming environment
    6.) Spend 2-3 hours trying to figure out why it doesn’t work (bad programmer? Bad drivers? Wrong chip? Power issues?)
    7.) Spend 5 hours programming and debugging (So… disable the digital on the analog pins, disable the analog on the digital pins, what should my timing be on the ADC sampling/conversion? Configuration bits? fuse bits? what the hell?)
    8.) Transfer entire circuit to a perf board
    9.) Make sure it works (Another short on the MCU solder joints? Another dead part? WTF?
    10.) Now I get to start the project enclosure.

    OR, if I used the arduino

    1.) Create a schematic (Time cut DRAMATICALLY down since the mcu, oscillator, and power supply is done)
    2.) Buy parts (Not too bad, I can get the LED, light sensor and resistors at RadioShack)

    4.) Breadboard circuit (Time cut DRASTICALLY because it is only a few parts, don’t need to worry about programming header, wires, pull-ups, ect.)
    5.) Install the programming environment
    6.) Spend 1 hour debugging environment (Compared to Microchip, TI, or atmel, this step is ridiculously easy.)
    7.) Spend 2 hours programming and debugging
    8.) Transfer entire circuit to a perf board (Only need to worry about a few components, since everything else is already done)
    9.) Make sure it works (So much easier to debug since there are only a few parts)
    10.) Now I get to start the project enclosure.

    If you only want “Hacks” from engineers, go ahead and encourage something else. If you want to embrace mechanics, artists, and web developers IN Addition to engineers, you need something simple.

    Don’t Kill the arduino. Kill the elitism that says “Too Easy, not a hack”.

    Keep it simple, stupid.

    • Caleb Kraft says:

      @Odin,
      my article could be summed up as “for those who hate arduino, quit being jerks and start teaching. that will get you to your goal better.”. I don’t disagree with your statement at all. Actually, several of us at hackaday have arduinos for super fast prototyping.

      • Eirinn says:

        I completely agree, i’ve done quite a few arduino projects now. I’m not loving the syntax though…

        In any case it empowers me to do things…well i’m just summing up the article i think.

        Point is, i think i’m slowly outgrowin the ‘duino, now what? Maybe worthy of a HaD article?

  • onlysix says:

    OK, i admit it, i am very guilty of using arduinos. The problem i have is that i don’t know programming and i don’t know where to begin. i don’t have issues with hardware, i can solder and wire with ease, make cases, harnesses you name it, just not PCB design/making. So where does that leave me?

  • TiredJuan says:

    @Caleb: I’m in the same boat as John, I’m a software guy, not hardware. Though, I have an Arduino, a couple of the TI Launchpads, and various other pieces and parts (Including a few random AVR’s, and a few kits from Sparkfun etc…) I feel as though Arduino’s and the like, while they have peaked my interest, have left me a little empty on the actual knowledge side of things. I see bunches of tutorials on “where to go from the Arduino” and how to do things like “set fuse bits”. The problem is nothing (that I’ve found) actually explains what things mean, or what do to with them/how to use them. Just that you need them. Perhaps we could see a set of tutorials on the basic components (not resistors and the like, but 555 timers, op amps etc) and their uses? I get that I may just be looking at the wrong information so a link or two would suffice in my case, but it would be nice to have a link list or something for beginners like myself.

    • Caleb Kraft says:

      @TiredJuan,
      I hear you. I’ve been working for a couple years to bring a solid instructional foundation to hackaday. The closest we have right now is the tutorial series by Mike S. on programming AVR microcontrollers but I’m looking forward to more basics. Make magazine has done some fantastic stuff in that field as well.

  • pfoet says:

    Of course you could also build a board with a 555 on it but it’s certanly NOT CHEAPER simlply because you can reuse your arduino (if you don’t like your blinking led anymore ;) ) but not your 555 circuitboard…

    A 555 plus extra stuff ( condensators, resistors and perhapse even a voltage regulator etc…) to get an RGB-led to blink? -> overkill ;)

    • Eirinn says:

      Unless it’s done on a breadboard.

      I love my Arduino’s ability to switch everything off if there’s a short circuit. Oh boy the amount of times i’ve burned my fingers on a 555 or an lm386 to see if something was wrong (and trashing the chip in the process).

  • Larry says:

    Yup I love the Arduino still do and it got me into hacking things together. Having done this it’s made me enjoy programming again and the confidence in programming other chips as there’s nothing particularly complex in doing so. The one bad thing that it has done is removed the grounded education in electronics by over simplifying. I’ll still use the Arduino though but now it’s not my first immediate thought when hacking something.

  • Lenny says:

    I think a few people here are missing the point… the ones that are saying “why would you want to kill the arduino?”

    I don’t think (unless maybe I’m the one missing the point) that this article is really about killing the arduino and “kill the arduino” is really just an attention getter.

    It seems to me he’s saying embrace and support the arduino AS an entry point, but encourage people to take the leap and learn how to do it without.

  • qwerty says:

    The Arduino won only if you ask the outcome to the wrong people.
    It is an interesting prototipying platform with some good libraries but sadly a terrible Java based IDE. Newbies and people interested in using it as a tool to develop other stuff will find it interesting but strict microcontroller development is a whole different thing.

  • xeracy says:

    @CK

    >”quit being jerks and start teaching”

    this is the kind of mentality that needs to be embraced in all walks of life. elitism gets us nowhere and nothing that the jerks complain about will ever change. The problem in most communities is that there is a lack of willingness to learn on the part of newcomers, especially if the community is centered around something trendy.

    i’ve learned so much from this community in the past few years, mostly in the form of monkey-see-monkey-do learning. However the best part of any post here at HAD are the conversations and ideas in the comments, and they truly enrich the learning experience.

    I believe that the arduino was a necessary step in getting my feet wet because it gave me a ‘big picture’ that i got to dabble with. every time i had tried to learn to make circuitry (i did’t major in CS, EE or anything related, so it was all on my own) i could never get past the extreme technical definitions of the components and how they interacted in a practical sense. i’m still using an arduino for most of my projects, buy now that i’m looking to make a device that needs to be smaller than the arduino nano platform, i feel confident that i can make it from base components. (also, simulation software like the ones mentioned here on HaD recently also helped greatly).

  • peter says:

    I can’t tell you how many crappy boards I built, how many PICs I killed going in and out of zif sockets.

    Building your own boards sucks. Having non-portable code sucks. That’s why the Arduino has “won”. They took the two sucky things about building projects away.

  • M4CGYV3R says:

    THANK YOU. This is what I have been saying for quite some time…

    Teach all these ‘new hackers’ to use the REAL raw tools so they can move PAST the Arduino and its limited abilities, as well as understand what is actually happening in your device.

  • M4CGYV3R says:

    @Odin: The PIC has at most 6 wires to connect for ICSP and most chips support ICD with the ~$35 PICkit programmer.

    Steps 2, 3, and 5 of your example will only be done once. If you’re already set to work on electronics, like any self-respecting hacker should be, the steps are more as follows.

    1. Create schematic.
    2. Breadboard
    3. Program & Test (Max 2-3 hours for a very complex program)
    4. Decide if it’s worth perma-boarding or enclosing.
    5. If step 4 determined you need to, put it on a custom etch/perfboard and do any enclosure you want.

    With an Arduino, the steps are vaguely the same, except you don’t have the option of putting it on a perma-board of any sort. You have to leave the Arduino wired-in as it is. If you’re using a chipduino unit you’ll need to do even more work to program it.

    You need to buy the same components with each. An arduino also requires wire, resistors, caps, LEDs, etc to work in a circuit as you want it to. Building an arduino circuit is, in fact, just breadboarding.

    • Eirinn says:

      3. Program & Test (Max 2-3 hours for a very complex program)

      2-3 hours? Are you mad? Maybe for an engineer this is plausible for a very complex program – an engineer is not really part of the target group :)

  • BrianZ says:

    I’m always surprised that the Picaxe doesn’t get thrown in with the Arduino as being too easy. I love that it’s like $3, I can use my weak Basic programming skills, and it has pretty good documentation. For me, programming in Basic is easier than cutting and pasting C code I don’t understand. I’m always afraid that if it gets too popular, everybody is going to turn on the Picaxe and chastise it’s users for not doing whatever it is that lets you use a plain PIC chip instead. Is it just the fact that the Arduino is already stuck to a board with sockets that makes everybody so edgy?

  • Bob Spafford says:

    It seems that some of the technically adept folks are just not getting it. At some point, every adept person was a newbie looking into The Great Black Box called a computer, but with experience found that it’s not so very mysterious after all. He then forgets that once he was the newbie looking into the unknown. The Arduino IDE tosses out the emulators and debuggers that can be so difficult to learn. I think that their renaming programs to be “sketches”, and I/O glue logic to be “shields” is a clever attempt to communicate “Hey! This isn’t as overwhelmingly complicated as you may think. The learning curve isn’t miles and years long as it is for an engineer. It’s very cheap to try it. So, jump in and see how you do!”. My son is a top level game programmer. As a kid growing up, I could not interest him in the world of hardware, other than how to use a slobbering iron competently and don’t stick your fingers into high voltage! Arduino has given him a relatively painless path into the hardware world in a way that I was unable to do when he was younger. Just as knowing what’s under the hood makes you a bit better driver, I believe that some insight (no matter how “unprofessional”) into the world of hardware makes one a bit better programmer. We were hacking a set of those xmas lights with a chip in every bulb. I brought my $3500 scope to look at waveform timing issues, only to find it non-operational. My kid had everything working in under 15 minutes by intelligent tweaking of the software. My jaw dropped. When the “sketch” would not execute properly, he would edit source, compile, load it to the Arduino, and execute it in under 15 seconds! So, is Arduino “crippleware”? Of course it is! Is Arduino a very quick and very cheap way to accomplish simple goals? Of course it is! And because of that, a generation of youngsters are unafraid to dabble with microcomputers. I think that is a positive accomplishment! Welcome to the hardware world, newbies!

  • Dave McNapstem says:

    Although I’ve not experimented with the arduino yet, I’ve wondered for a while if it would be powerful enough to replace a pinball machine MPU…. Anyone have any thoughts on this?

  • twopartepoxy says:

    Picaxe already kills the arduino!

    http://www.rev-ed.co.uk/picaxe/

  • RF says:

    I just got my first arduino board (arriving via FedEx today, actually); before that I’ve been using some of the Parallax stuff. The ‘duino and the Parallax dev boards are great ways to just bang something out; I don’t always want to make a board and spend hours assembling crap just to get a simple task (or even a more complex task) done. So what if a prebuilt development board costs a few bucks more and doesn’t involve having to deal with the purity of truly assembling your project from scratch? The time it saves me alone far outweighs the extra money I *might* spend on it and lets me get on with having a useful circuit sooner.

    Yeah I’m not going to strap an arduino kit, propeller dev board, or similar products in and call it a real OEM finished product, but most of the time I just want something that works for whatever stupid project I’m building and really don’t care whether I’m a “real hacker” doing it, I just want to do it and move on. These type of products are useful even to those of us that can assemble a real circuit…

    However I do see the article’s point, and hope the people totally new to this stuff use it as an entry point into really learning the technology. Even if they don’t though, I think that’s OK.

  • Bill Porter says:

    @Caleb

    Very well written, this has been long time coming.

    I think there’s also an important distinction to be made between the hardware Arduino boards and the Arduino library. Everything said here mostly applies to the hardware side IMHO.

    I feel the Arduino library is a well written ‘replacment’ for the aging avr-libc. It’s just a software library to enable easier C development on AVR cores. I consider it in the same class as avr-libc. Sure, there’s some slow ‘idiot checks’ in alot of the calls, but they have been improving speed, and there’s nothing stopping the end-user from tweaking the library themsleves (I have).

    I’ve bought very few Arduino boards, but I have used the library on many of my projects with my own boards. Sure, I could start codding from scratch, but it just makes dev easier. What’s wrong with that?

  • mstone says:

    And once we kill the Arduino, we can kill solderless breadboards, yes? ‘Cause everyone knows it isn’t a *real* circuit until you start soldering. Then we can kill microcontrollers in general, because everyone knows that the big kids use FPGAs.

    Face it: there are many levels of hardware development, and many tools at each level. The Arduino is one tool of the many. It’s a fast and easy platform for testing ideas that are best implemented in code, just like solderless breadboards are a fast and easy platform for testing circuit topologies and component values. Yeah, there are a bazillion other options for code sketching, but the Arduino happens to be seeing the benefits of network effects.

    Every circuit, and every piece of control software, starts as a sketch, so sketching platforms will always be an important part of the development process. Sketching is loose and flexible process by its very nature, so the killer app of sketching platforms is, and always will be, convenience. The Arduino happens to be sufficiently convenient for a wide range of code sketching. It also offers a convenient path for evolving external circuitry up to the PCB level. That makes it good enough to stick around for a while.

    If you want to ‘take the Arduino out of people’s hands by education’, you’ll have to replace it with another sketching platform that does the same job. Replacing one thing with another thing that’s basically the same is a waste of time, and VHS -vs- betamax taught us that being ‘arguably better’ doesn’t give people a compelling reason to switch.

    You’ll never ‘educate’ people out of the need to make sketches, and I sincerely doubt that anyone will come up with another code/hardware sketching platform which is vastly more convenient than the Arduino. Others may rise that are equally good, or which have different areas of strength, and then we can all look forward to a nice long ‘vi -vs- emacs’ spat over hardware platforms.

    Instead of arguing about tools, let’s pay attention to the process of evolving a circuit from the napkin-sketch to a finished product, and look for ways to make the whole journey as easy as possible.

  • Jeremy says:

    I agree with most of your points. I have a handful of arduinos. I come from an electrical engineering background and I don’t like to reinvent the wheel when something off the shelf will do. However, I agree that when I see all of these posts of “finished” projects and they are a breadboard, arduino and a mess of wires I think that is not a finished project, it is a finished prototype or even just a finished concept. With pcb’s so cheap these days with group orders and such, it is a shame to not have a nice polished single board device for a finished project.

    Now for simple things or prototyping, the Arduino makes it stupid simple through their (overly) simple IDE and function set. For instance, this past Halloween, I wanted to light up and program a random sequence of LEDs for my pumpkin with only 30 minutes before the kids hit my door. An arduino was perfect for it.

    On the “Hater” side, the arduino is a good start but once you want advanced circuit design or optimized programming, then it is time to drop the bunny IDE and simple bootloader and function set for something that doesn’t require numerous cycles to turn on a single output.

    Arduino has it’s place and I for one will continue to use it as it is a nice platform for prototyping and for spring boarding into a much larger world of electronics.

  • rallen71366 says:

    This article brings up a very good point: the attitude of the existing community really can keep people out, or accelerate it into general acceptance. For instance: the early linux community damn near killed the promising OS with ‘elite hacker egotism’ and refusal to help new people. It took concerted effort by evangelists, and commercial interests, to slowly bring it into the mainstream.

    For the longest time, I’ve considered the group here at hack-a-day to be the same as those early linux hackers: full of knowledge, and basically arrogant bastards that do more damage than good regarding newbies trying to learn about microcontrollers. It got to where I wouldn’t even read the comments about any Arduino article I was interested in. I’ve been in electronics and technology for over 30 years, and I have to say that seldom have I seen such a collection of A*holes as I’ve seen here.

  • Attrezzo says:

    Why should we have to “kill” the arduino?

    What a silly concept. Look at what good it’s done to encourage new products, hackers, and ideas.

    YES IT! There was likely a steady stream of people becoming electronics hackers before the arduino. But AFTER the arduino we got artists, computer guys, high schoolers, and lots of people who’d never written a program before. Much less knew about 555 timers.. Arduino re-invigorated electronics for me and a WHOLE lot of people. You proud “old school” hackers should be thankful there are so many new minds that are being mentored in your art, however cursory that knowledge, is it is there where it wasn’t, and never would have been before.

    I’ve always loved electronics, though even growing up as a dorky kid who’s favorite saturday morning shows were science shows (beakman’s world and bill nye etc), a dorky kid who bought a soldering iron just to desolder old junk and look at the parts, a kid who’s favorite christmas gift was an electronic science kit. I NEVER as a young adult knew that pic microcontrollers were free, or that there was such a thing as a development kit. Instead, like many others, open source computer software filled the tinkering gap, until… Arduino. Did they advertise well? Were they just simple enough? Was it the community they built on their website with free help? Was it the open source and open hardware nature? Probably a little of all of those.
    Bottom line, I should have been an electronics hacker in high school. With arduinos around I would have been.
    Give thanks that now your hobby industry is a MUCH richer world with bigger and better ideas because of a cheap development kit that did something just right and caught a whole lot of new attention. In the future many of these pesky beginners will probably be as well versed as some of the best hardware hackers you showcase today.

    Open the beginner mind to new dev kits and the wider world of micro-controllers? By all means yes.
    Kill the arduino? No! Why the hell would anyone want that?

  • Odin says:

    @M4CGYV3R:
    “…If you’re already set to work on electronics, like any self-respecting hacker should be…”

    While I have the complete tool suite required to do hardware stuff (5 breadboards, two oscilloscopes {one old super-fast CRT, one usb-based}, three programmers {one AVR, two PIC}, plenty of resistors/caps/wires/led’s, I’m simply sick and tired of the problems associated with breadboarding, especially with a microcontroller. (external oscillator size/issues, high-speed digital signals coupling into my analog circuit, programming header and wires popping out, mcu getting reversed, shifted, or some other damaging death…) There needs to be a stable platform allowing me to prototype with minimal effort.

    “You need to buy the same components with each. An arduino also requires wire, resistors, caps, LEDs, etc to work in a circuit as you want it to. Building an arduino circuit is, in fact, just breadboarding.”

    Agreed, but the Arduino is a package that removes the following requirements:
    Power supply
    Oscillator
    decoupling capacitors
    UART to USB conversion (on later models)
    programmer requirements

    This greatly simplifies things and gives you time to focus on the other parts of the project.

  • A7 says:

    Kill arduinos!! i’ve seen people using arduinos on Final Year projects! on Electrical or computing engineering… WTF?! Hardware in arduino is datasheet hardware.. basic pinouts.. there’s nothing fancy about it.. bootloaders too.. so if you can’t see that arduino is just a board with a ridiculous basic circuit and you’re too lazy to mount it on a breadboard (come on.. takes 10 minutes or less to put those things on a breadboard) go study law, or economics..
    people make a lot of noise about it. .arduino this, arduino that.. it’s just a board! want to learn about electronics? pick a book! there’s a lot of great books out there. after that you will know about it and make things much easier.. using that Processing thing they call a Programming Language, you won’t.

  • Lucia says:

    Look everyone. I bet 99.9% of you cut your teeth on home computers. Think those designs were ‘academia’ approved? What if we hadn’t had that amazing ecosystem of tens of brands of easy to program computers back in the 80s? Would you say you are not a real professional if you didn’t begin in mainframes? What made home computers ubiquitous and enjoyable were… ease of use, getting instant feedback, playing around. So no one go smug on arduino folk. It’s about lowering barriers of entry and everyone having fun, so abandon that old mentality about ‘amateurs’ being worthless. The more the merrier. Of course arduino is trendy so you still have to brush off the ignoramuses, they also exist in the software world and it doesn’t seem to be a problem, does it?

  • MaxwellMudd says:

    I think that a good thing to remember with all the Arduino hating, is that the Arduino platform is like the PageMill or MS FrontPage of the uC world, it makes everyone an EE. Once it comes down to brass tacs, most of the noobs that only develop for the Arduino still wouldn’t be able to develop for a real uC.

  • Attrezzo says:

    Kill legos too! They’re just blocks of stupid overpriced plastic.

    REal engineers would tell any “lego imagineer” that there are much better materials to build out of and you can do SO MUCH MORE!
    For instance, steel, and wood! All you need is a lathe, a drill press, a table saw, maybe a MIG welder, a plasma cutter, some drill bits, a hammer, some brushes….

    ** On a serious note, I find the comparison shockingly similar. Shame. And you elitists call yourself hackers.

  • Kuhltwo says:

    Having been “raised” on old fashioned electronics, i.e. before microprocessors and then on the early 4 & 8 bit monsters, I still look to doing things without any kind of processor. Granted it takes a lot of tyme, but I enjoy it. I still don’t make pcb’s either, faster just to do it with wire.

    That said, I have been wanted to come into at least this century and start using whatever type of microprocessor I can get my hands on. But after reading all the back and forth on what type to use, which is better, etc., plus my programming is late 80′s, and not having a lot of tyme to learn new programming skills, it gets confusing what to choose from. One of the reasons I read HAD is see what others are using and why. And hopefully I can eventually figure out where to put down my very hard to find $$.

    I agree with the basic gist of the article, however you can get more people to learn the basics of electronics, the better.

    Even if it means using a sledge hammer to nail a tack on the wall.

  • pt says:

    great post caleb, everyone should read this part over and over…

    “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.”

    that’s the point, the community here can lead the way :)

  • tz says:

    Why the arduino won is the entire system.

    So instead of having something easy to hook up and program on win/mac/linux, you want people to switch to learning how to do PCBs, soldering fine pitch, getting $250 programming devices, and using captive IDEs that only run under Vista 64. Get real.

    I rarely use the Arduino IDE. But it is so much easier to use the bootloader. GCC supports the other Atmel chips like the 2313 which programs on the $49 Dragon and is supported by Avrdude and Avarice in most cases.

    I would welcome more and different processors. But when I look, GCC is missing or the forgotten stepchild (isn’t 2.95 sufficient?), I can’t easily breadboard most versions, it requires some strange hardware to program or something else. The OEMs only want to do some minimum and then wonder why.

    Even ARM – there are a few things like the chumby hacker board or Beagle board, but why is fedora stuck at 12?

    I wish the other microcontroller manufacturers would get a clue. But I can’t use the chip in a complex context if it takes $500 and two weeks just to flash an LED.

  • woutervddn says:

    I like caleb’s way of thinking.. I’ve got one of those free STM32 discovery boards lying around here.

    But because there is not that much of tutorials and stuff out there I just didn’t start on it yet..
    That’s one of the main strengths of the arduino, it’s community!

    I know that I’m not going to move to a stand alone AVR or ARM chip soon just because I’m just building things without a real cause (just because I can..)

    I remember another article on HaD called “What after the Arduino” I think.. Anyways I loved it and more of that type of content should be shown to let new hackers really get dirty with all those chips

  • A7 says:

    i just have the impression that this is a great deal for electronics companies, so once there’s less people dealing with real hardware constraints, there’s less competition for them.. and yet, the people are having the impression that they’re dealing with electronics and stuff, so they’re happy! they keep people busy, while keeping they away from reality and from the market

  • Eardrill says:

    To me, the reason the Arduino “won” is that it reduced friction to get something going. I’ve been a professional programmer for decades, but I can appreciate how easy it is to set up and use the Arduino ecosystem: the fact that it’s cross-platform, and cheap, plus a host of little things like not having to manage C prototypes & headers, and not having to configure a build system. There are a lot of things that hard core hackers take for granted that are barriers to entry for non-programmers. The Arduino team did a good job at easing the pain of this for non-hackers.

  • ftorama says:

    Why would we like to kill the Arduino? In that case, let’s kill microcontrollers.

    We can do the same things with logic, but who would like to do it?

    If I had to make a blinking led, I would do it with an Attiny as I know I can change the blinking rate, period, add an external control if the project changes.

    Try to be so versatile with a 555

  • A7 says:

    Dude, do not underestimate 555s. .they are everywhere, and can do things that u can’t imagine.. sounds like magic, but they are really flexible.. and versatile!

  • vidor says:

    I have to disagree with you Caleb.
    As an artist with all the basics of electronics, but not imbued with the intricate knowledge of programming and the further physics of IC architecture, I have run up countless hours in dealing with the Ego’s of EE’s.
    Embrace them you say? Go tell that to the fat nerds who have told me “voltage is voltage” (in response to a q? RE: 3.3v vs 5v ) or told me that I need to learn how to do hot-air SMD before they help me out.

    • Caleb Kraft says:

      @vidor,
      Not sure what you’re disagreeing with. what I’m saying is that your experience is exactly what should not happen. I’m saying that they should embrace you, and educate you to the best of their ability instead of being jerks.

  • Norbert Ahler says:

    The Arduino is a religion. And like with all religions it is a waste of time to argue with the true believers. Arduino believers don’t want to be educated. They made that choice already when choosing their Arduino religion. They want to believe and evangelize. This is not a good base for educating someone.

    Read that makezine article again. Phillip Torrone is constructing a holly war where there is non, wouldn’t it be for the Arduino believers shoving the thing into our face whenever possible.

    I am not interested in their litter box projects, but the Arduino believers think I have to, and making a big fuzz about it. They insisting on their TLC. If they don’t get it they start to annoy.

  • metis says:

    i dunno, my approach to projects has been:
    1-do some research
    2-pick a reasonably appropriate tool
    3-learn how to use tool

    i’ve not built a micro controller projcet (yet, few in the wings) but everything i’ve pondered with 5 min of poking about online i’ve not yet been convinced that an arduino was any of the best, cheapest, or easiest options for what i wanted to do.

    i whole heartedly agree that it’s awesome that folks are tinkering, but to me the arduino is like shopping at home depot. for most things, you’re gonna pay more than if you went to an actual lumberyard, it’ll be a different hassle, and the whole thing will be average. sometimes that’s great. most of the time, there’s a better way.

  • Rando says:

    Here’ the thing:
    The Arduino is the “555″ of the future.

    So it’s just forward thinking to use it.

  • mjrippe says:

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

  • Steve says:

    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.

  • Norbert Ahler says:

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

  • tim says:

    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.

  • APerson says:

    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.

  • ftorama says:

    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.

  • capn says:

    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.

  • Harvie says:

    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?

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

  • kernelcode says:

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

  • macegr says:

    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.

  • Garbz says:

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

  • therian says:

    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

  • Cyberteque says:

    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!

  • Johnny B. Goode says:

    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.

  • A7 says:

    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.

  • michael says:

    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!

  • Wow..

    Caleb Kraft stock goes up today… Well worded and thought out! My hat is off to you Caleb!

    OBC

  • 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…

  • qwerty says:

    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.

  • Steve says:

    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.

  • churchill says:

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

  • qwerty says:

    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…

  • ftorama says:

    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)

  • 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;>*

  • Antonio says:

    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.

  • michael says:

    @hekilledmywire
    You are thinking of fprintf, but thanks for demonstrating what this article is all about.

    Dont “real” programmers use itoa? JK I did cause Image Craft prntf took up half my chips memory.

  • Pippofranco says:

    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…

  • Zeno Arrow says:

    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.

  • @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….

  • Andrew says:

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

  • cantido says:

    @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?

  • Weaties says:

    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.

  • cantido says:

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

  • ftorama says:

    @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

  • phil says:

    just figured i’d throw it out there

    http://www.nerdkits.com/

    basically a breadboard, components, usb programming interface, got to get a little dirtier than with an arduino, but a similar type of thing, you just have to do it yourself

  • pez says:

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

  • rob says:

    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.

  • Person says:

    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.

  • Joel says:

    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.

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

  • A7 says:

    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

  • qwerty says:

    There’s about 100 comments, why not move this heated discussion to the forums?

  • D_ says:

    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.

  • MM says:

    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.

  • Sean says:

    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.

  • Neckbeard says:

    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.

  • signal7 says:

    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

    XHTML: You can use these tags: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    Hack a Day serves up fresh hacks each day, every day from around the web as well as hacking related news.

    Send us your hacks






         




    Hacks

    Resources