Recipes to Begin, Expand, and Enhance Your Projects
Michael Margolis, Brian Jepson, Nicholas Robert Weldin

#Arduino
Want to create devices that interact with the physical world? This cookbook is perfect for anyone who wants to experiment with the popular Arduino microcontroller and programming environment. You’ll find more than 200 tips and techniques for building a variety of objects and prototypes such as IoT solutions, environmental monitors, location and position-aware systems, and products that can respond to touch, sound, heat, and light.
Updated for the Arduino 1.8 release, the recipes in this third edition include practical examples and guidance to help you begin, expand, and enhance your projects right away―whether you’re an engineer, designer, artist, student, or hobbyist.
Arduino is a family of microcontrollers (tiny computers) and a software creation environment that makes it easy for you to create programs (called sketches) that can interact with the physical world. Things you make with Arduino can sense and respond to touch, sound, position, heat, and light. This type of technology, often referred to as physical computing, is used in all kinds of things from smartphones to automobile electronics systems. Arduino makes it possible for anyone with an interest—even people with no programming or electronics experience—to use this rich and complex technology.
This book is aimed at readers interested in using computer technology to interact with the environment. It is for people who want to quickly find the solution to hardware and software problems. The recipes provide the information you need to accomplish a broad range of tasks. It also has details to help you customize solutions to meet your specific needs.
There is insufficient space in this book to cover general theoretical background, so links to external references are provided throughout the book. See “What Was Left Out” for some general references for those with no programming or electronics experience.
If you have no programming experience—perhaps you have a great idea for an interactive project but don’t have the skills to develop it—this book will help you learn how to write code that works, using examples that cover over 200 common tasks. Absolute beginners may want to consult a beginner’s book such as Getting Started with Arduino (Make Community), by Massimo Banzi and Michael Shiloh.
If you have some programming experience but are new to Arduino, the book will help you become productive quickly by demonstrating how to implement specific Arduino capabilities for your project.
People already using Arduino should find the content helpful for quickly learning new techniques, which are explained using practical examples. This will help you to embark on more complex projects by showing you how to solve problems and use capabilities that may be new to you.
Experienced C/C++ programmers will find examples of how to use the low-level AVR resources (interrupts, timers, I2C, Ethernet, etc.) to build applications using the Arduino environment.
Michael Margolis is a technologist in the field of real time computing with expertise in developing and delivering hardware and software for interacting with the environment. He has more than 30 years of experience at senior levels with Sony, Microsoft, and Lucent/Bell Labs. He has written libraries and core software that are part of the official Arduino 1.0 distribution.
Brian Jepson is a content manager at LinkedIn Learning, where he manages design and engineering courses. He is also the co-organizer of Providence Geeks, a founding member of the National Maker Faire planning and production team, and coproducer of the Providence Mini Maker Faire. He shares and spreads knowledge of electronics and digital fabrication through hands-on events and workshops, working closely with AS220, a nonprofit community arts center, and with the Rhode Island Computer Museum (both Rhode Island-based nonprofits).
Nick works at the Rix Centre based at the University of East London, looking into technology that may help people with learning difficulties to get involved in what is happening online and on the computer in front of them. He is also Senior Technologist for Tinker It! working on various technology projects, often related to Arduino, an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. Other projects include work with Paddington Arts, Oily Cart Theatre Company and Deafinitely Theatre.









