Many systems today use the C programming language as it is available for most computers This book looks at how to produce C programs to execute on a PC or a MAC computer. It also looks at the Arduino UNO micro controller and describes how to write C programs usng the Arduino 'wired' C functions as well as using standard ANSI C with direct access to the micro controller registers of the Ardunio UNO. This can lead to improved efficiency of the programs. Most of the Hardware available in the Arduino micro controller is described, and programs provided showing how to control and use them. There is a chapter on how to create your own programs and also how to change a program created to execute on the Arduino so that it can run on a different micro controller, such as the Microchip PIC. This allows the Arduino to be used as a rapid prototype system. The book also contains many working program examples with additional workshop exercises for the reader to study.