%T Concurrent Event\-driven Programming in occam\-π for the Arduino %A Christian L. Jacobsen, Matthew C. Jadud, Omer Kilic, Adam T. Sampson %E Peter H. Welch, Adam T. Sampson, Jan Bækgaard Pedersen, Jon Kerridge, Jan F. Broenink, Frederick R. M. Barnes %B Communicating Process Architectures 2011 %X The success of the Arduino platform has made embedded programming widely accessible. The Arduino has seen many uses, for example in rapid prototyping, hobby projects, and in art installations. Arduino users are often not experienced embedded programmers however, and writing correct software for embedded devices can be challenging. This is especially true if the software needs to use interrupts in order to interface with attached devices. Insight and careful discipline are required to avoid introducing race hazards when using interrupt routines. Instead of programming the Arduino in C or C++ as is the custom, we propose using occam\-π as a language as that can help the user manage the concurrency introduced when using interrupts and help in the creation of modular, well\-designed programs. This paper will introduce the Arduino, the software that enables us to run occam\-π on it, and a case study of an environmental sensor used in an Environmental Science course.