You are previewing Arduino Internals.
O'Reilly logo
Arduino Internals

Book Description

Arduino Internals guides you to the heart of the Arduino board. Author Dale Wheat shares his intimate knowledge of the Arduino board—its secrets, its strengths and possible alternatives to its constituent parts are laid open to scrutiny in this book. You'll learn to build new, improved Arduino boards and peripherals, while conforming to the Arduino reference design.

Arduino Internals begins by reviewing the current Arduino hardware and software landscape. In particular, it offers a clear analysis of how the ATmega8 board works and when and where to use its derivatives. The chapter on the "hardware heart" is vital for the rest of the book and should be studied in some detail.

Furthermore, Arduino Internals offers important information about the CPU running the Arduino board, the memory contained within it and the peripherals mounted on it. To be able to write software that runs optimally on what is a fairly small embedded board, one must understand how the different parts interact. Later in the book, you'll learn how to replace certain parts with more powerful alternatives and how to design Arduino peripherals and shields.

Since Arduino Internals addresses both sides of the Arduino hardware-software boundary, the author analyzes the compiler toolchain and again provides suggestions on how to replace it with something more suitable for your own purposes. You'll also learn about how libraries enable you to change the way Arduino and software interact, and how to write your own library implementing algorithms you've devised yourself. Arduino Internals also suggests alternative programming environments, since many Arduino hackers have a background language other than C or Java.

Of course, it is possible to optimize the way in which hardware and software interact—an entire chapter is dedicated to this field.

Arduino Internals doesn't just focus on the different parts of Arduino architecture, but also on the ways in which example projects can take advantage of the new and improved Arduino board. Wheat employs example projects to exemplify the hacks and algorithms taught throughout the book.

Arduino projects straddling the hardware-software boundary often require collaboration between people of different talents and skills which cannot be taken for granted. For this reason, Arduino Internals contains a whole chapter dedicated to collaboration and open source cooperation to make those tools and skills explicit.

One of the crowning achievements of an Arduino hacker is to design a shield or peripheral residing on the Arduino board, which is the focus of the following chapter. A later chapter takes specialization further by examining Arduino protocols and communications, a field immediately relevant to shields and the communication between peripherals and the board.

Finally, Arduino Internals integrates different skills and design techniques by presenting several projects that challenge you to put your newly-acquired skills to the test!

Table of Contents

  1. Title
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Author
  6. About the Technical Reviewers
  7. Acknowledgments
  8. Preface
    1. Intended Audience
    2. What This Book Isn't
    3. Chapter Overview
    4. Summary
  9. Chapter 1: Hardware
    1. What Is an Arduino?
    2. The Arduino Uno
    3. The Arduino Mega 2560
    4. Previous Hardware
    5. Who Makes Arduinos?
    6. Build Your Own
    7. Summary
  10. Chapter 2: Software
    1. Hosts and Targets
    2. Step by Step
    3. Semiautomatic
    4. Going Further
    5. Summary
  11. Chapter 3: Atmel AVR
    1. Origins
    2. AVR Device Families
    3. When in Doubt: Product Datasheets
    4. Device Packaging
    5. Pin Descriptions
    6. AVR Core
    7. Internal Peripherals
    8. Summary
  12. Chapter 4: Supporting Hardware
    1. Schematic Diagrams
    2. Getting Power to the Board
    3. Serial Interface
    4. The Processor
    5. Room for Expansion
    6. The Mechanical Form Factor
    7. Universal Serial Bus (USB): Signals Plus Power
    8. Summary
  13. Chapter 5: Arduino Software
    1. Open Source Software
    2. Multiplatform Support
    3. The Arduino Heritage
    4. Installing the Software
    5. The Process, or “How to Arduino”
    6. A Tour of the User Interface
    7. Summary
  14. Chapter 6: Optimizations
    1. How Will You Know It Worked?
    2. Shrink Blink
    3. Saving Space with Simple Serial Communication
    4. Saving SRAM
    5. Low Power or High Speed?
    6. Electronic Measurements
    7. Summary
  15. Chapter 7: Hardware Plus Software
    1. Available Peripherals
    2. Summary
  16. Chapter 8: Example Projects
    1. Beyond the Blinking LED: Starting Simply
    2. Other Uses for a Blinking LED
    3. A Lot of Blinking LEDs
    4. A Digital Clock
    5. Summary
  17. Chapter 9: Project Management
    1. Documentation
    2. Teamwork and Collaborative Development
    3. Licensing Your Work
    4. Summary
  18. Chapter 10: Hardware Design
    1. Learning About Hardware
    2. Infrared Proximity Sensor
    3. Your Own Custom Arduino
    4. Design Software
    5. Summary
  19. Chapter 11: Software Design
    1. Advanced Topics Within Arduino
    2. And Without Arduino
    3. Summary
  20. Chapter 12: Networking
    1. Point-to-Point Networking
    2. MIDI: Musical Instrument Digital Interface
    3. The Internet
    4. Summary
  21. Chapter 13: More Example Projects
    1. An Autonomous Robot
    2. Power Supply
    3. Motion Control
    4. Sensors
    5. Control Systems
    6. Example Robot Projects
    7. Summary
  22. Index