Skip to main content
Top

2011 | Book

Arduino Internals

insite
SEARCH

About this book

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!

Please note: the print version of this title is black & white; the eBook is full color.

Table of Contents

Frontmatter
Chapter 1. Hardware
Abstract
The hardware of the Arduino has evolved slowly since its introduction in 2005. Because Arduino as a concept is very much a combination of hardware and software, it’s important to have a good understanding of what’s involved in both areas, as well as the areas where they overlap. Let’s undertake a broad outline of the hardware part of the Arduino in this chapter, going into some detail in a few areas, as well as its history and how you’ll play a part in its future.
Dale Wheat
Chapter 2. Software
Abstract
You find software everywhere when you look inside and outside the Arduino. You need software to talk to the Arduino; the Arduino needs software to listen. You use software to write sketches, your sketches get combined with the Arduino libraries, and then more software converts (compiles) your programs into the ones and zeros of machine instructions that the AVR microcontroller can understand. In reality, there’s even more to it than this.
Dale Wheat
Chapter 3. Atmel AVR
Abstract
Let’s get to know the little computer chip at the heart of your Arduino. You start on the outside and work your way in, with a brief look at the origins and background of the AVR line.
Dale Wheat
Chapter 4. Supporting Hardware
Abstract
In Chapter 3, you explored the deep-down-inside parts at the heart of the Arduino, the Atmel AVR. With so much internal complexity, it’s hard to believe that you would need anything else; but you do.
Dale Wheat
Chapter 5. Arduino Software
Abstract
The officially supported and free Arduino software is certainly a moving target. The alpha versions, ranging from the very first 0001 through 0022, evolved as the needs of the Arduino Team and the growing user base changed and matured.
Dale Wheat
Chapter 6. Optimizations
Abstract
As shipped, the Arduino software isn’t especially optimized. It’s easy to use and simple to install, but there is certainly room for improvement. Let’s get started.
Dale Wheat
Chapter 7. Hardware Plus Software
Abstract
Software commands hardware. Can hardware command software? Yes! It can and it should, from time to time. When the two cooperate, it’s more like a dance and less like a military exercise. Let’s look at some ways to make your software more aware of the available hardware, and what benefits you can derive from this more-cooperative relationship.
Dale Wheat
Chapter 8. Example Projects
Abstract
Making an LED blink is a good first step, but of what other use is it? Specifically, is there any nontrivial application for this interesting technology? Let’s look at one particular example: LED lighting.
Dale Wheat
Chapter 9. Project Management
Abstract
You thought it would be easy. You imagined a simple device that performed a simple function. How hard could it be? Well, now you know. It started off simple enough, but you went and added features to it.
Dale Wheat
Chapter 10. Hardware Design
Abstract
If you want to extend the capabilities of your Arduino, and you find there’s not a shield for that yet, don’t give up hope. You can design and build your own Arduino hardware. Maybe you want to connect a new device to your Arduino, or maybe you need to completely design your Arduino from the ground up, including connections for the new things you absolutely must have and dropping all non-essential circuitry. Either way, you’re going to have to deal with some aspects of hardware design.
Dale Wheat
Chapter 11. Software Design
Abstract
By now you’ve developed an appreciation of how much software is involved in the Arduino phenomenon. It’s everywhere! Let’s take a quick look at some of the more advanced things you can do with the existing Arduino software, such as creating your own Arduino libraries and targeting alternate cores (that is, something other than the ATmega328 or the ATmega2560). Then you look at some of the tools you can use to augment or replace the Arduino software infrastructure.
Dale Wheat
Chapter 12. Networking
Abstract
One Arduino can do a lot. More than one Arduino can do more. There’s an old saying: “Many hands make light work.” Arduinos are also known for working and playing well with others. The “others” may be other Arduinos, or they can be devices of a different stripe entirely.
Dale Wheat
Chapter 13. More Example Projects
Abstract
So here we are in the very last chapter of the book. Let’s take something you’ve learned from each of the previous chapters and build a little Arduino-based project out of it all. What shall you build?
Dale Wheat
Backmatter
Metadata
Title
Arduino Internals
Author
Dale Wheat
Copyright Year
2011
Publisher
Apress
Electronic ISBN
978-1-4302-3883-6
Print ISBN
978-1-4302-3882-9
DOI
https://doi.org/10.1007/978-1-4302-3883-6

Premium Partner