Tag Archives: James Lewis

Dispelling Arduino myths with James Lewis

James Lewis has spent the past 6 years writing code for Atmel-based Arduino boards. Recently, the engineer noticed a “trend of myths” about the boards and decided to author a detailed blog post to set the record straight.

The first myth? Arduino uses its own language. Not so, writes Lewis.

“While it is true that the structure of an Arduino sketch looks unique, it is really just C++ with a tiny bit of preprocessing,” he explains. “Users writing ‘Arduino Code’ are actually writing C++ with, what I call, the Arduino Library.  Functions like digitalWrite() are just that, C++ functions.”

The next myth? Pin 13 has a resistor. According to Lewis, countless beginners have been lulled into this trap, even though only the very first Arduino board was fitted with an LED and series resistor on Pin 13.

“That’s the only board which did,” he emphasizes. “So you should never never never connect a LED to Pin 13, without a resistor!”

Myth number three revolves around the mistaken notion that commercial products don’t use Arduino. As Lewis notes, 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 Atmel’s ATmega328 inside of it,” he says.“Or, more likely, you’ll prototype the idea, run it through a crowd funding effort and then redesign. There are plenty of products out there that started with an Arduino in the early stages. Ever hear of 3D printers?”

Myth number four – analogWrite() is analog!? Remember, with the exception of the Due, Arduino boards do not output “analog” signals. PWM signals are actually digital signals – where one changes the length of time between the “on” and “off” states.

Last, but certainly not least, is the topic of header spacing.

“Spacing between pins 7 and 8 isn’t 0.1,″  [although] at one point the Arduino web site had this in the FAQ as an ‘eleventh hour’ mistake,” Lewis writes. “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.”

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