Skip to main content
main-content

Über dieses Buch

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.

Inhaltsverzeichnis

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

Weitere Informationen

Premium Partner

    Bildnachweise