Beginning Arduino Programming will provide a pragmatic, conceptual introduction to writing source code and programming theory for the Arduino microcontroller. We will take as our domain the software aspect of physical computingÑdesigning code to work with physical objects that exhibit behavior or interactivity through softwareÑwith an aim towards skill development through simple hardware and software building blocks. Our projects will adhere to a degree of minimalism keeping to simple and easily obtainable hardware that supports the development of sophisticated written code. Rather than leaving the reader on their own to piece together fragments of code from a laundry list of esoteric examples, we will illustrate how the programming language actually fits together in very interesting and powerful combinations. In this way, we hope to develop programming skills for non-programmers. Example source code will be broken down by chapter and project, with the intent to also provide schematics and illustrations for interfacing the necessary hardware with the Arduino. All examples in the book make the assumption that the reader has installed the necessary software (http://arduino.cc/en/Main/Software), read through the getting started guide (http://arduino.cc/en/Guide/HomePage), and using the Arduino development environment (http://arduino.cc/en/Guide/Environment).