From beginner to competent programmer.
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.
You can buy a copy of the book and get started tomorrow.
You can also get my book on C++ Data Structures from Amazon with the code download pages available on this site
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.