5 Myths Everyone Believes about Arduino (that aren’t true)

Having spent the past 6 years writing code for the Arduino platform, I’ve noticed a trend in myths from both new-comers and veteran users.  Here are the Top 5 Myths I see come up on forums, in classes, and on IRC.

1.  The Arduino uses its own Language

This myth isn’t helped by the Arduino.cc home page which says “The microcontroller on the board is programmed using the Arduino programming language.”   While it is true that the structure of an Arduino sketch looks unique, it is really just C++ with a tiny bit of preprocessing.  Users writing “Arduino Code” are actually writing C++ with, what I call, the Arduino Library.  Functions like digitalWrite() are just that, C++ functions.

So while the Arduino Library does a great job of making microcontroller programming very simple, it is not its own language.

2.  Pin 13 Has a Resistor

Countless tutorials have lulled newbies into this trap.  The very first Arduino board, of which something like 200 were produced, had a LED and series resistor on Pin 13.  That’s the only board which did.  So you should never never never connect a LED to Pin 13, without a resistor!

3.  Commercial products don’t use Arduino

Corollary: “real” engineers don’t use Arduino!

Okay.  I try not to toot this horn, but I’m a “real engineer.”  You already know that: it’s in my twitter name and URL.  Here’s a top secret piece of information:  I use Arduino.  Now it is true.  You aren’t going to go to Best Buy or your local big-box electronics store and find many (if any) products that have an “Arduino Inside” sticker.  However, Arduino is a prototyping platform.  You aren’t going to ship an Uno with every product.  You might, however, develop a product with an Arduino and embed the ATmega328 inside of it.  Or, more likely, you’ll prototype the idea, run it through a crowd funding effort and then redesign.

You have to define what “commercial” means, but there are plenty of products out there that started with an Arduino in the early stages.  Ever hear of 3D printers?

4.  analogWrite() is Analog

This one catches a lot of people who don’t really understand Pulse-Width Modulation.  With the exception of the “Due”, Arduino boards do not output “analog” signals.  (Note, you might want to watch this video on the difference between Analog and Digital.)  PWM signals are actually digital signals, where you change the length of time between the “on” and “off” states.

5.  The Header Spacing was a mistake (or it wasn’t.)

If you know anything about the Arduino pinout, you should know that the spacing between pins 7 and 8 isn’t 0.1″.  At one point the Arduino web site had this in the FAQ as an “eleventh hour” mistake.  Then there was the explanation that it prevented shields being plugged in backwards.  Now, I’m not sure if it was intentional, but it is true that a benefit of the spacing is that you can’t plug in a shield backwards.

The perceived downside to this decision is that it makes the board difficult to plug into a breadboard, or a shield into a breadboard.  However, magic jumper wires do exist which solve this “problem.”

Okay, so those are the 5 Myths I encounter most.  What other myths have you heard or helped to dispel?  Leave them below.

written by

Capacitor Expert by Day, Enginerd at Night. On paper I have a EE which I use to make things blink, beep, and fly. I created and enjoy making the AddOhms Tutorials at addohms.com. You can follow James on Twitter @baldengineer or on Google+.
Related Posts

39 Responses to "5 Myths Everyone Believes about Arduino (that aren’t true)"

  1. Katie says:

    Sweet. Does that mean that I have C++ skills then?

    Reply
  2. spiralphenomena says:

    I have taken stage equipment apart before and been surprised to find an atmega 328 as the microprocessor, the product was a dmx hazer, that was a commercial application

    Reply
    • jd says:

      99% chance it was not programmed with Arduino.

      Reply
      • Nick says:

        but it could be reprogrammed using arduino ;)

        Reply
        • dv says:

          There is really no way of knowing.

          Arduino requires the bootloader to be programmed first.

          So if the bootloader is not there, the Arduino IDE will not work.

          Also, if the 328p is soldered down, there will be a small chance to get the bootloader programmed into that chip.

          Reply
  3. Idris says:

    There have another one myth, you’ll learn nothing if you are using Arduino.

    Reply
  4. Engineering Student says:

    Can confirm, am engineering student, have used arduino to prototype a setup with Atmega328 for use in my Sr. Design project.

    Reply
  5. romkh says:

    Dose anyone has an information about how to move from Arduino to real commercial product? I’ve been searching for a long time but it seems not much clue on it.

    Reply
    • luisMa SG says:

      You might be over thinking it. Im not sure such leap exist.
      You design a product with an atmega chip inside and program it with any other programmer . You can even order hundreds of chips preprogrammed.
      You can even cheat and load the arduino bootloader and run the same code you already created i believe this is known as a arduino clone. Same skills you just use the exact amount of hardware you need. No extra headers no shields
      This should be faster end cheaper.

      Reply
      • DroidDr says:

        I have done this quite a few times as part of my learning process of arduino and electronics.

        I prototype on arduino, then make a custom board with a 328 inside and good old soldering.

        My latest project, I burn my own bootloader on a 328 chip and put it on a breadboard and load my programs from the arduino software directly via a usb-serial adaptor or directly through icsp.
        Once my dev work was done, I soldered everything on a prototype pcb board (hours of soldering).

        If I wanted to comercialize the product I would make a PCB design and send it to a pcb fab.

        Cheers!

        Reply
  6. poop says:

    It’s versus its. I’ll give you one guess at whether you used the right version. English is hard huh?

    Reply
  7. Dave says:

    One of the biggest myths I’ve encountered is the assumption that you have to use one whole Arduino board for a project. In my experience it’s better to use the board for testing and debugging and then flash an atmega chip with your sketch. Then you can integrate the chip into your design on a perf board. It may be a little more work and you lose the ability to use shields but it makes for a cleaner and smaller profile. (Plus it’s cheaper)

    Reply
    • Rose says:

      I’ve seen that a lot, you can get ATMega328 chips flashed with the Arduino Bootloader for just under £3. I’ve done several projects where I’ve prototyped with an Arduino and then etched my own PCB.

      You don’t really need much to get an ATMega328 to run, all you need is a couple of capacitors, a crystal and a datasheet with the pinouts of the 328 and you are sorted. I have built arduino ‘clones’ on stripboard with a 5V regulator, the process is trivial and inexpensive and shouldn’t really cost more than £5 to achieve.

      Reply
  8. flapjackboy says:

    #2 is wrong. I have 3 Arduino boards. A Duemilanove, an Uno and a Mega and ALL of them have an LED and series resistor tied to pin 13.

    Reply
    • Mike Scott says:

      I can confirm that the Arduino Uno schematics show a 1k resistor on the SCK (pin 13). However, I think it’s for the LED that’s also linked to the pin.. not for additional loads.

      Reply
    • James says:

      Yes, but that resistor is ONLY limits current to the LED onboard. It does nothing to protect additional loads connected to the pin.

      The resistor and LED is in parallel with the pin header.

      Reply
  9. Adam says:

    Strictly speaking, I think the Arduino language is based on the Processing language, which itself is a simplified form of C++. /nitpick :)

    Reply
  10. pwillard says:

    It is c++ with a lot of the stuff that trips up the “newbies’ behind some curtains. The real generated code can be found if you know where to look.

    Reply
  11. Daniel Gelman says:

    Hello,

    Commenting on Myth 3,

    I consider myself more or less an engineer. I am a PhD student with an electrical engineering background currently in the field of biomedical engineering focusing on surgical robotics. Many times I love to go into the Arduino platform just for proof of concept and prototyping. I have done so for years and have been proud of it. It is feasible and community support is through the roof.

    Although Arduino is open-source and many say it is targeted for beginners, research and industrial engineers do use it thoroughly. My personal board is the Due because of the ARM processor – matter of fact the Arduino Due truly did push me into ARM designs into my custom PCBs. I do believe the Arduino is a viable tool for any engineer. And although your final design may not have the legendary Arduino logo, you can bet your ass that in many final products, there is a good chance it may have used the Arduino as a prototype.

    Reply
  12. Richard Balogh says:

    Myth #6: There is a reason for non-typical, non-rectangular shape (form factor) of the Arduino board.

    Reality: No, there is no special reason, they just wanted to be “different”.

    Reply
  13. Ulf Wennstrom says:

    Regarding myth 3.

    I have been involved and designed the programs for a light module for model railway houses. We used a clone of UNO called Brage (Swedish educational version). Small form factor.
    Every house has a Brage inside connected in a group to a Uno with ethernet to a central PC-program controlling over 100 Brage modules for synchronizing the light effects. A simple but yet vesatile system based on Arduino products.

    It’s not a commercial product itself but Its used in the same way. It will be used in a “professional” manner.

    So I think defenitly it can be used in real world applications.

    Yes, I am an enegineer and have worked with programming since late 70′s. Worked as a manager for many years, but I fell in love with Ardunio and was excited over the possibillites to create this application. The whole system was up and running within a week of programming in my spare time.

    Reply
  14. S. Tamimi says:

    I think there are some misunderstanding about the role of shields available for Arduino. For example, I hear many friends doubt that Arduino can NOT communicate with a WiFi transceiver without a WiFi-Shield !

    Even though I didn’t try that, I believe that Shields are important but not necessary ! So hope someone explain in what really shields do for Arduino ..

    Reply
    • James says:

      Good point! Shields in general sometimes get endowed with magical powers. I’ve noticed that users will avoid using a breakout board for a chip because it is not a “shield.”

      Reply
  15. El laboratorio de Zironid | 5 mitos comunes de Arduino (que no son verdad) [Traducción] says:

    […] un par de días, a través de la página de Arduino en Facebook, llegué a este artículo de James Lewis acerca de 5 mitos comunes de Arduino, y me pareció buena idea traducirlo al español. Al final de […]

    Reply
  16. Jack Christensen says:

    When millis() rolls over, it is TEOTWAWKI. Magic smoke will be released, the board will reset, the sketch will hang, dogs and cats will sleep together, etc. The fact is, the only limitation with millis() is that it cannot be used to time events that last more than about 49 days.

    Reply
  17. Dispelling Arduino myths with James Lewis

 | Bits & Pieces from the Embedded Design World says:

    […] boards. Recently, the engineer noticed a “trend of myths” about the boards and decided to author a detailed blog post to set the record […]

    Reply
  18. dv says:

    There are many mis-understood things about the Arduino.

    The 5 items listed are some questions I have gotten about Arduinos as well.

    These (and many others) are the type of questions beginners ask, but not those whom have not started the learning process.

    Look at the “myths” proposed:

    1. The Arduino uses its own Language
    2. Pin 13 Has a Resistor
    3. Commercial products don’t use Arduino
    4. analogWrite() is Analog
    5. The Header Spacing was a mistake (or it wasn’t.)

    Items 2,4,5 are asked by those who have started learning about those things, that only someone who has looked at the manual or demo programs.

    Item 1 is Arduinos fault as baldengineer has discussed.

    But item 3 is a ringger !!

    A beginner may ask this question because they think their great idea will make them a million bucks. ;-)

    But as I have stated previously, I let those would be entrepreneurs know how hard it is to bring a real product to market.

    Now if item 3 said: “real” engineers don’t use Arduino! , I would agree, that this statement is a myth.

    Reply
    • mash says:

      Hey it’s not hard to bring a product to market entrepeneurs just like to think it is so they can bang on how great they are. Not hard but lots you need to do other than write code and build Pcb’s.

      Reply
  19. Arduino myths or misunderstandings | Arduino | Gadget Master says:

    […] Here’s an interesting blog post that may be worth five or ten minutes of your time – 5 Myths Everyone Believes about Arduino (that aren’t true) […]

    Reply

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

©2014 Baldengineer Productions, Inc.