Preface
I spent nearly two decades of my life writing software, training and deploying machine learning models, and speaking and teaching about these topics. I got introduced to Stephen Ozoigbo at ARM, who asked whether I had any experience speaking about ML on microcontrollers. I didn’t, but I was willing to look into that. That was the beginning of my journey into TinyML. He sent me some kits from SparkFun Electronics, which I used for a 20-person workshop in 2021. I spent the next 12 months talking to developer communities in Sub-Saharan Africa about ML on the Arduino Nano RP2040 Connect. I also organized something I called the Embedded Learning Challenge, with microcontrollers paid for by ARM. All this exposed a knowledge gap on the continent when it comes to a basic understanding of microcontrollers. This book is meant to serve as an introduction to programming Arduinos. The choice of the Arduino MKR is because of the existence of certain shields that are good for learning how to work with these components without learning how to solder. My hope for you is that you will use this as a stepping stone toward solving real-world problems.