Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Beginning Arduino programming
Evans B., Apress, Berkeley, CA, 2011. 272 pp. Type: Book (978-1-430237-77-8)
Date Reviewed: May 29 2012

A small computer on a single integrated circuit is called a microcontroller. In most cases, it comprises a microprocessor, memory, and input/output peripherals. Sometimes, the microcontroller is already part of a single printed circuit board, together with additional hardware for support tasks that allow its immediate use in application development. Single-board microcontrollers have become relatively inexpensive in recent years. Particularly popular are systems where the integrated software development environment uses open source software, because such software is often available for free. Arduino is a prevalent example of such an open-source single-board microcontroller. It is even known outside the community of digital electronics enthusiasts.

Many introductory books on Arduino are available [1,2], but none has yet focused on the programming language aspects.

The programming style suggested by the author of this book is slightly different from industrial computer programming. In Arduino, a program is called a sketch, and the source code is stored in a folder called sketchbook. This is not just a fancier name. It reflects Arduino’s philosophy of creating interactive objects, and the term is also more intuitively comprehensible to a particular large group of Arduino users: artists and designers. Sketching emphasizes the creative process of programming, in contrast to the rigid process of industrial software engineering. As the author puts it on page 18: “Quickly sketching out [...] ideas serves as a way to conceptualize this moment of inspiration.” Consequently, instead of teaching the elements of the Arduino language first, the author presents small programming examples and then explains in detail how the sketch works. Light-emitting diodes are the only electronic components required in the first four chapters. At the same time, the reader is introduced to the general scope of the Arduino language (data types, control structures, and operators). From chapter 5 onward, more Arduino specific hardware control functions are presented, and more advanced additional hardware is also introduced, such as infrared motion detectors, piezoelectric speakers, transistors, wind sensors, accelerometers, and displays. For those readers who want to build the examples themselves, it is a bit tedious to scan the book for the necessary hardware. A shopping list with all of the required hardware items for each advanced example would have been helpful.

The topics of the first few chapters (roughly one-third of the book) can be found in most introductory texts. The contents of the later chapters, however, effectively complement other books on Arduino that have a hardware focus, and where advanced programming functions are rarely mentioned.

The author encourages the reader at the beginning to experiment with the examples, to change variable values, or to piece hardware and software together in unexpected ways to see what happens. And indeed, throughout the book, the playful aspects of Arduino are emphasized. It is a pity, though, that the chapters are not completed with exercises that would guide the reader through the experimentation.

The style of writing is clear, accessible, and to the point. The examples are feasible for less-experienced readers, but, because of the advanced programming topics in later chapters of the book, I recommend it to the more experienced Arduino user.

Reviewer:  Klaus Galensa Review #: CR140204 (1210-0984)
1) Oxer , J.; Blemings , H. Practical Arduino: cool projects for open source hardware. Apress, Berkeley, CA, 2009, See CR Rev. 138292 (1101-0001).
2) McRoberts, M. Beginning Arduino. Apress, Berkeley, CA, 2010, See CR Rev. 138991 (1109-0882).
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (D.1.0 )
 
 
General (B.0 )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Problems in programming
Vitek A., Tvrdy I., Reinhardt R., Mohar B. (ed), Martinec M., Dolenc T., Batagelj V. (ed), John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471930174)
Aug 1 1992
KNOs: KNowledge acquisition, dissemination, and manipulation Objects
Tsichritzis D., Fiume E., Gibbs S., Nierstrasz O. ACM Transactions on Information Systems 5(1): 96-112, 1987. Type: Article
Nov 1 1987
Programmer perceptions of productivity and programming tools
Hanson S. (ed), Rosinski R. Communications of the ACM 28(2): 180-189, 1985. Type: Article
Jul 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy