Slashdot Mirror


Book Review: Arduino: a Quick-Start Guide

Muad writes "Maik Schmidt is our guide in the Pragmatic Bookshelf's venture into the world of electronics. This is a compact work, like all others in the series, it goes straight to applicable examples and makes you get your hands dirty with real work. The Arduino platform has been described in many ways, but the best I have heard so far insightfully labels it 'The 555 of the future,' referring to the ubiquitous timer chip so many simple electronic projects make use of. If you haven't been hiding under a rock for the past few years, you have doubtlessly seen the plethora of material on the subject that's out there: even O'Reilly, which usually does not ship multiple titles on a single subject, has a variety of them. Most of these works are rather similar, the ones I prefer are Massimo Banzi's Getting Started with Arduino (O'Reilly, 2008), by one of the original developers of the platform, and the strongly related Getting started with Processing by Casey Reas and Ben Fry. These are brief books in the 100-page range, not exhaustive works, but covering the core philosophy and basic operation of the tools is sometimes the best way to jump into a new subject. Read below the rest of Federico's review Arduino: A Quick-Start Guide author Maik Schmidt pages Pragmatic Bookshelf publisher 263 rating Federico Lucifredi reviewer 9781934356661 ISBN With this Quick-Start Guide you'll be creating your first gadgets within a few minutes summary 8/10 There is a lot of material on the subject, even the current issue of Make magazine has a very good roundup (and not for the first time, if I may add). So, how does Maik's work stand out in the fray? Right after a brief introduction to ease you into the Arduino environment, the book turns to interesting projects, more sophisticated than the usual fare (read: not the usual LED-blinking using pulse-width modulation that every tutorial out there walks you through). Examples of this include connecting with a Wii Nunchuk, motion sensing, networking, infrared remote control interfaces, and more. These projects are the high-note of the book, and span almost two-thirds of its length — and are significantly better than most other project material currently in print.

This is a hands-on book, theory is kept to a minimum, as you don't really need previous experience to tackle an Arduino: the platform was specifically designed to cater to artists and designers, it is meant to be approachable by users who are not EE wizards. That said, if what you are after is learning the underpinnings of low-level electronics or hardcore embedded systems programming, this book is not for you: pick up a copy of Horowitz and Hill's The Art of Electronics (possibly including the student manual), and check back with us in a year or so for the digital followup recommendation. But if you have less time on your hands, and you just want to network-enable a coffeepot or build some interactive art display, the introduction to Arduino Maik delivers is quite sufficient for your aims, and it spans material other authors have been remiss to include, like developing libraries and (Appendix C) use of serial line protocols.

Zooming in on the details, perhaps the comment can be made that it would be good if there was a single kit available including all components used in the text: perhaps Makershed or Adafruit Industries will supplement their existing kits with one comprising the full range of the author's selection. On the plus side, I must highlight the extensive illustrations, which visually represent the breadboard linkage between the Arduino and the sensor or actuator being used with extreme clarity, and are much more effective in teaching neophytes than more traditional circuit designs. Where these are not actual pictures, they were generated using the alpha release of Fritzing, a very interesting piece of software (see fritzing.org) aiming at facilitating circuit design for those of us without a background in electronics.

The landscape of Arduino publications is shifting faster than many other subjects in print, and doubtlessly Maik's status as "king of the Hill" is but temporary — however, among those books on the subject I have personally surveyed, I am pleased to say that he currently holds the championship cup.

Federico Lucifredi is the maintainer of man (1) and a Product Manager for the SUSE Linux Enterprise and openSUSE distributions.

You can purchase Arduino: A Quick-Start Guide from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

13 of 80 comments (clear)

  1. TI LaunchPad too by 0100010001010011 · · Score: 2, Informative

    If someone is thinking about getting into this, I would suggest you weigh the options between this and the TI LaunchPad

    The LaunchPad doesn't have any 'shields', but if you're just looking for basic IO, it's MUCH cheaper with a full dev kit for under $5.

    You also program it in real C, not the pseudo-C that is the Arduino language.
    ---------
    If you have an Arduino and are lucky enough to have a copy of RealTime Workshop for Matlab laying around. (Most universities should have this installed on their computers. I know the ME department where I go has FULL Matlab on all computers).

    There is a Simulink Arduino target: http://www.mathworks.com/academia/arduino-software/arduino-simulink.html Meaning no coding needed on your behalf, just setup your Simulink model and go. Great for controls engineers that may know how to sim something in Simulink, but not how to convert that to Arduino.

    1. Re:TI LaunchPad too by TheRealMindChild · · Score: 2

      I've been thinking about getting a TI LaunchPad, but I have to admit, I am a bit reluctant, as the samples I have found seem to assume you know a little bit of something. I can write code with the best of them, but how the hardware works, how to read schematics, how to add to these boards escapes me. Is there any references out there for people like me?

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    2. Re:TI LaunchPad too by iluvcapra · · Score: 4, Informative

      According to the page you linked to, the development environment is closed source and requires a license. It does say the hardware platform is open and documented, but the toolchain, which is what people end up doing their work, is not -- they don't even seem to target Linux, let alone Mac OS X, which Arduino does. Weirdly, their "Code Composer Studio" is built on Eclipse but requires an license and activation file, and a "30-day trial" is mentioned. Here be dragons...

      --
      Don't blame me, I voted for Baltar.
    3. Re:TI LaunchPad too by Steauengeglase · · Score: 2

      Don't forget the AVR Butterfly. About $15 more, but with a few more bells and whistles.

    4. Re:TI LaunchPad too by vlm · · Score: 3, Insightful

      how the hardware works

      If you are thinking of TTL schematics, don't worry (too much). You'll learn soon enough what tristate I/O ports are, open collector, phrases like that.

      Worry about understanding internal devices and how to use them. Pick up any 16 bit PIC reference manual and see if you can figure out the code required to use the onboard timer device, or maybe read and write from the I2C port. Doesn't matter if you're planning to use the PIC, my point is I personally know that manual is pretty decent and pretty typical of what you're going to get, and pretty typical of difficulty.

      Coding for MCs isn't like high level work on PCs, its more like coding multiple simple little device drivers and gluing them together. And the only debugger you're likely to have is maybe you wired an LED to blink when certain code executes.

      If you like those "black box" games where you shoot a pool ball into a black box and it is emitted out another hole of the box, and you do that many times and then deduce the location of the bumpers inside, then you'll love the mental process of working on microcontrollers.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    5. Re:TI LaunchPad too by Miffe · · Score: 4, Informative

      There is a port of gcc available at http://mspgcc4.sourceforge.net/

      I recently used this to build a small led cube, worked like a charm.

    6. Re:TI LaunchPad too by alvieboy · · Score: 2

      Arduino is actually programmed in C++, with a bit of help from IDE to generate function prototypes.

      Just to let you know.

  2. Huh? by geminidomino · · Score: 3, Insightful

    even O'Reilly, which usually does not ship multiple titles on a single subject, has a variety of them

    Since when? (Learning X, Programming X, Advanced X programming, X Cookbook, X in a nutshell...)

  3. Now we need the next step up by Animats · · Score: 2

    The Arduno is cute as a low-level microcontroller. Sometimes you need the next step up - something bigger than an Arduno, but without the bloat of Windows CE or Linux. Big enough to have a protected-mode OS with a networking stack and an Ethernet port, but small enough that you don't need system administration.

    Gumstix has some entries in that space, but they don't cater to the hobbyist market.

  4. Also for people who do not use Windows by ctid · · Score: 2

    The TI stuff is a bit of a mess for Mac and Linux.

    --
    Reality is defined by the maddest person in the room
  5. Re:Aurdino is for "Artists" and "newcomers" by drinkypoo · · Score: 2

    People seem to use Arduino every day to actually do stuff. I also keep seeing AVR-based products hit the market, some in kit form and some only available completed, and I suspect many of them began life as an Arduino project.

    I still want to try the launchpad, but AVR is pretty ubiquitous all of a sudden.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  6. Arduino IDE text windows by billstewart · · Score: 2

    When I did my 555 contest project, I mainly used the Arduino as a handy 5-volt power supply, but I also ran a voltmeter script on it that sent its output to my PC screen. Instead of using a traditional voltmeter, I'd get a nice trace of the voltage levels it was seeing on the capacitors, so I could look at the last 100 samples instead of just guessing "it was bouncing between about 1-2v" (or "0.76 and 2.07", on the digital voltmeter, but the batteries on that were dead :-)

    An oscilloscope would have been another traditional approach, but I don't have one of those, and the Arduino was a good in-between step.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  7. Microcontroller Snobbery by Goody · · Score: 3

    I don't get all the Arduino haters in this thread. I've been programming PICs in assembly for years and just recently picked up an Arduino. I'm having a ball with it. I'm sure the TI Launchpad is fun, but it's obviously so cheap right now because TI is trying to flood the market and gain market share. It appears their development tools are not open source and are crippled. The Arduino is not offered or controlled by the microcontroller manufacturer, Atmel; it's an open source project and you can get Arduino variants from various companies. Furthermore, the boot loader, compiler, and board designs are open source.

    You all can sit here and argue about what's a real microcontroller and make faulty Microsoft Bob analogies, but the Arduino has an established community and people are having fun with them. There are people doing more with Arduinos than blinking LEDs. If you want to impress your friends with a so-called "real" platform and play EE snobbery, have at it. Hopefully TI will still be gracious enough to keep selling their boards at $5 next year and let you use their free-as-in-beer development environment.

    --
    Tired of being "punished" by the Slashdot $rtbl since 2002. I'm now over at http://soylentnews.org/ .