Chapter 8. Real-World C With Arduino

We’ve seen our C skills grow from compiling a short list of simple statements to passing pointers to functions with nested flow of control. But so far we’ve been printing results in our terminal windows. That’s great for proving that our logic works and that our program is doing what we expect, but eventually we’ll want code that runs somewhere other than a terminal in order to take advantage of all the great hardware out there. In the rest of this book, we’re going to write code aimed at microcontrollers. And what better microcontroller to start with than an Arduino.

The Arduino family of microcontrollers has been around for over 15 years. Starting with 8-bit Atmel AVR controllers designed specifically to facilitate learning and tinkering, these gadgets have exploded in popularity. These days, you can find a wealth of development boards preloaded with all manner of sensors and connections. WiFi, GPS, Bluetooth, even radio options can be added easily. The ecosystem of inputs, outputs, and containers is truly mind-boggling. For us, that makes this platform a perfect target. You can grab an inexpensive controller and LEDs to start, and expand into robotics or weather stations or radio control or just about any other electronics niche that tickles your fancy.1

“Getting the Hardware: Adafruit” includes information on all the microcontrollers and peripherals I’ll be using throughout the rest of the book. But any Arduino-compatible ...

Get Smaller C now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.