It's not enough to just build your Arduino projects; it's time to actually learn how things work! This book will take you through not only how to use the Arduino software and hardware, but more importantly show you how it all works and how the software relates to the hardware.Arduino Software Internals takes a detailed dive into the Arduino environment. We'll cover the Arduino language, hardware features, and how makers can finally ease themselves away from the hand holding of the Arduino environment and move towards coding in plain AVR C++ and talk to the microcontroller in its native language. What You'll Learn:How the Arduino Language interfaces with the hardware, as well as how it actually works in C++;How the compilation system works, and how kit can be altered to suit personal requirements;A small amount of AVR Assembly Language;Exactly how to set up and use the various hardware features of the AVR without needing to try and decode the data sheets - which are often bug ridden and unclear;Alternatives to the Arduino IDE which might give them a better workflow;How to build their own Arduino clone from scratch.Who This Book Is For: No expertise is required for this book! All you need is an interest in learning about what you're making with Arduinos and how they work. This book is also useful for those looking to understand the AVR microcontroller used in the Arduino boards. In other words, all Makers are welcome!