Practical Arduino C

From beginner to competent programmer.

Practical Arduino C

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

Arduino IDE 2.0

If you go to the software download page at 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.

Book Contents

Chapter titles and major sections.

Code Download

Additional material, links, images and code supporting each chapter in the book.

C++ Data Structures

All the code from that book also available here and ready to download.


Please use the email link on this page.