An Arduino is an open source platform for learning about microcontrollers and programming. It consists of a microcontroller board that allows access to the inputs and outputs of an Atmel microcontroller (typically the ATmega 168 or 328) and an open source Integrated Development Environment (IDE) which is free software for programming the Arduino using the C language. The IDE allows students to write a computer program that can be uploaded from any PC to the Arduino , allowing the Arduino to perform the instructions and to interact with the outside world. Both the hardware and the software are open source, which means the boards are inexpensive and the software is simple and flexible, with loads of public domain resources like libraries, working examples, and experienced programming support.