Atwood’s Law: Any application that can be written in JavaScript, will eventually be written in JavaScript. – Jeff Atwood, July 17, 2007 Other than the near omniscience of Edsger Dijkstra, I don’t think any prediction of the future of software development has been so dead-on as Atwood’s Law. JavaScript is everywhere: running applications in browsers, running the servers that feed HTML to the browser, and running database engines, to name a few. It should be no surprise, then, that JavaScript can also be used to control off-the-shelf hardware, circuits and other electronics like the Arduino platform. Through the use of frameworks like Rick Waldron’s Johnny-Five for NodeJS, and the “StandardFirmata” software package for Arduino, you can write JavaScript on your computer and use it to control and manipulate nearly any aspect of an Arduino-based hardware setup. But before you take over the world with your JavaScript powered robots, you’ll need to get a few of the basics out of the way. You’ll need to know how to get an Arduino to communicate with your JavaScript program. You’ll need to know how to build a circuit that works properly. And you’ll need to know how to manipulate that circuit, through the use of Arduino, with your JavaScript code. And before you do any of that, you’ll need a few hardware parts to work with.