From beginner to competent programmer.
Please bookmark this page or use the adit.co.uk URL as the book specific URLs are now deprecated.
This book is focused on the C language. The intention is to help newcomers to C to design and write efficient and effective Arduino programs ready to play a key part in the successful delivery of any project. The book delivers a thorough introduction to the language and then develops a sequence of projects primarily designed to develop programming skills while thoroughly exploring the features of the Arduino microprocessor boards. The projects use a fairly minimalist set of external components – perhaps just enough to entertain, certainly without needing a significant budget. The projects explore the efficient handling of interrupts, timers and ports while providing practical experience in data structures, data compression and a state machine.
You might wonder if there is anything special about Arduino C. The answer is no. The Arduino boards support the entire C language. The compiler supplied along with the free Arduino IDE (Integrated Development Environment) is a C++ compiler and this makes available as much of that language as you might see fit to apply on this platform. The book specifically includes section on operator overloading, C++ classes and the development of new utility libraries.
This book is for anyone who wants to build great things based upon an Arduino but would also work as a general introduction to the C programming language. Arduinos are low cost devices and make a great playground for just exploring the language.
This book is now out of print but can be read online here
If you go to the software download page at Arduino.cc you will see that a major revision to the Arduino IDE is now available. For the moment the classic version (currently 1.8.19) is still a great choice. You do not need to switch to the new version yet.
If you have downloaded the new version 2 IDE or would like to review key changes then please refer to the page with notes on the new software particularly before starting work on Chapter 1.