- Paperback: 724 pages
- Publisher: O'Reilly Media; 2nd edition (December 2011)
- Language: English
- ISBN-10: 1449313876
- ISBN-13: 978-1449313876
- Product Dimensions: 7 x 1.6 x 9.2 inches
- Shipping Weight: 2.6 pounds (View shipping rates and policies)
- Average Customer Review: 4.6 out of 5 stars See all reviews (185 customer reviews)
Amazon Best Sellers Rank:
#29,746 in Books (See Top 100 in Books)
- #3 in Books > Engineering & Transportation > Engineering > Electrical & Electronics > Circuits > Integrated
- #7 in Books > Engineering & Transportation > Engineering > Electrical & Electronics > Electronics > Microelectronics
- #11 in Books > Engineering & Transportation > Engineering > Electrical & Electronics > Digital Design
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Arduino Cookbook, 2nd Edition 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
Featured IT certification guides sponsored by Pearson. Learn more.
Frequently bought together
Customers who bought this item also bought
About the Author
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.
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
Two kinds of skills are required (or developed) to build projects that use Arduino. One is working with electronics - gathering components, assembling them, and connecting them to the Arduino. The other is simple programming in C. If you have these skills but no experience with Arduino and want a quick start, this book will really help.
Someone with little or no experience in these areas may be able to figure it out from Chapter 1 in particular, and reading the rest carefully. Absolute beginners may find it easier to start with an absolute beginners book. If you buy this book and find it is too deep, keep it, you can always get a simpler book, then come back when you're ready.
The book is not a complete introduction to programming or electronics. The author chose to go broad to introduce his audience to a wide range of possibilities, rather than go very deep on any of them, but there is enough info to make it work, and references to go deeper.
CHANGES FROM ARDUINO COOKBOOK FIRST EDITION
The second edition has been updated to the Arduino 1.0 release. It is expanded to 724 pages, 62 more pages, and a few dollars less. Comparing the books side-by-side, the table of contents were nearly identical. The page numbers are different, owing to expanded text in the second edition, and a few new sections:
Sending Messages Using Low-Cost Tranceivers
Communicating with Bluetooth Devices
Updating Third-Party Libraries for Arduino 1.0
Uploading Sketches Using a Programmer
Replacing the Arduino Bootloader
Reprogram the Uno to Emulate a Native USB Device
...and an Appendix: Migrating to Arduino 1.0, which describes the changes you need to make to older code to work with Arduino 1.0.
If you have the first edition, you may not need to get the second edition. You can download the new source code from the publisher's Web site; you can google "Arduino Software Release Notes" for a list of changes, some of which will require minor changes to your code. The author says that a few newer hardware devices have replaced the ones described in the first edition, but less than one year passed between these two editions, so it would not be a lot. The change to Arduino 1.0 should not require changes to circuits.
The book has 18 chapters containing a total of 204 topics or "Recipes" structured as a Problem, a Solution, Discussion, and See Also sections. Most problems are things people would really want to do: pieces of a project. Solutions consist of C code and libraries, and electronic components. Discussion might be troubleshooting, variations, or more information. See Also provides references for more information - in the book, and URLs for Web-based information or libraries.
The average "recipe" is 3.1 pages long; some are longer than others.
Chapter 1 discusses the software development environment (which is supported for Windows, Mac, and Linux, but comes from Arduino) and very basic information about the board. In introduces simple programming and wiring by way of the common "blinking light" example. In 21 pages, the goal is to get something running quickly more than learning how it all works.
Two chapters explain a bit about C: types of variables and manipulations; mathematical operations for numeric types.
Programs must have input and/or output to be useful. Since this is what makes your solution come alive, this is the bulk of the book, and the most interesting part.
Chapter 4 introduces serial communications - exchanging information with a computer which is connected to the Arduino via USB. This can be used for I/O to a connected computer, as well as debugging your program by sending status messages at various points in the processing.
Chapter 5 discusses digital and analog input and output at a very basic level - controlling output to pins, and reading input from the pins. This is the foundation for all I/O that follows.
A strength of Arduino is the vast array of devices that work without a lot of extra circuitry. Chapter 6 discusses detecting light (or dark), movement, acceleration, vibration, distance, sound, temperature, location, direction, and interface to a computer mouse or a game controller. Chapter 7 discusses visual output using LEDs alone or in a matrix, 7-segment displays, and meters.
Chapter 8 discusses producing movement, vibration, or controlling external devices with relays and solenoids. Chapter 9 shows you how to make sounds - as tones, melodies, playing recordings, controlling a MIDI synthesizer, and making a simple audio synthesizer.
Chapter 10 presents uses of InfraRed devices (your home stereo, your camera, etc) as well as detecting and acting upon InfraRed signals from remotes you already have. Chapter 11 tells you how to use LCD displays available for Arduino to display text, or how to display text on the TV.
Chapter 12 deals with dates and times - make Arduino aware of passing time, or to work as an alarm clock.
Chapter 13 presents I2C and SPI, standards used for exchanging information between a variety of digital devices. Learn to use a standard and you'll find it can be used with other devices. For example, if you want to use a Wii Nunchuck controller to control your Arduino applications, you will need to learn about I2C. You can also use I2C to talk to external memory added to Arduino, get temperature for an external digital temperature measuring device, or display 4 numbers on 7-segment displays using only two wires.
Chapter 14 is about wireless communication. Chapter 15 discusses using an Ethernet shield to Internet-enable your Arduino application.
Chapter 16 discusses the creation and use of code libraries. Chapter 17 dives deeper into the subject of prgramming, especially in handling memory. Chapter 18 is all about using the controller chip hardware in ways not (yet) supported by libraries.
Nine appendices give basic information on building with electronics, troubleshooting, digital and analog I/O pins, and character sets. For those who have code written prior to the release of Arduino 1.0, an appendix is there to help you migrate.
The source code can be downloaded from the publisher's Web site; the URL is on page xv.
You should seriously consider the PDF version of the book, because all of the many links are live, and the PDF is on your computer as handy reference. You can always print pages as needed for reference while building. O'Reilly currently has a good deal for upgrading to a new PDF edition.
The book serves as an introduction to the broadest range of Arduino capabilities of any book I have seen. With a little experience, the book will get you going quickly by demonstrating a working example that may be enough for your purposes. For me, this book is indispensable for Arduino work.
I say "seems" only because I'm a professional programmer, and so I don't know if the book really provides a sufficient primer for someone that has never in their life written a program. I only skimmed the first few chapters looking mostly for any functions, operators and libraries that were Arduino-specific.
I am, however, a complete novice when it comes to Arduino hardware, and I only have a light background in electronics generally. In fact, I'd ordered this book at the same time that I'd ordered my first Arduino board.
For me, the book was quite useful and met my expectations: As a so-called "cookbook", I really didn't expect much in the way of theory or depth. I was only looking for practical projects that would familiarize me with the Arduino and related electronics.
I had given the Arduino Cookbook a quick read while waiting on my Uno's delivery (sadly it was not ordered under my Amazon Prime account). A few days later I sat down with the Arduino itself, some electronics components (a breadboard, a multiline LCD, a couple of stepper motors, some buttons, switches, plus a lot of LEDs, resistors, capacitors and leads), and of course the Cookbook. I was able to get quite a few projects working in the first couple of hours.
All that being said, I do grant that my prior programming and general computer experience made the process a LOT easier.
This may not be the best book for people with absolutely zero programming and electronics knowledge. Then again, leaping into an intersection of those subjects isn't going to be easy regardless of the book. To those people I recommend shopping around for a good beginner's guide to programming as well as a beginner's guide to electronics (in addition to this book). There's no need to spend like crazy: Buy used. The programming and electronics concepts as related to the Arduino are older than me (in computer terms I'm ancient), and so even an older text can give you a solid background.
In all, I'd say that buying this book was money well spent for me. If you're tight on cash and low on knowledge, you might be better off with programming and electronics books for the general theory, and web-based Arduino examples for the practice.
What's that mean for you? TONS of information packed into 700 pages! I didn't realize it is a college textbook when I ordered it. Since my wife also gave me an Arduino, and I'm a college student, this is perfect for me, especially since I need to be able to mentor my son in this area and will have to answer many questions that I don't know. More importantly, he's going to want to know how to take his basic circuits to more advanced levels, and this gives us what we need to do that without getting bogged down in academia.
Also, the source code for the sketches (Arduino source code) is available for download at the O'Reilly site. The URL is in the book.
My only wish is for a section devoted to the Mega. Maybe the next version.