For people who’ve had trouble getting TextFinder to work with Arduino 1.0-rc1, Michael Margolis has released a new version of the library that should compile for both the older Arduino 0022 and the newer Arduino 1.0-rc1. You can find it on the Arduino playground.

The following examples are affected by this:


Chapter 4

Chapter 6

Chapter 9

Chapter 10

The code in my gitHub repository for these examples is up to date for Arduino 1.0-rc1.


If you’re trying to use any of the Ethernet examples or the Wifi example straight from the 2nd edition of Making Things Talk, you’re probably getting some errors related to the definition of Client and Server. Here’s how to fix them.

Continue reading »


There’s a new edition of Making Things Talk on the street, finally!

I changed the majority of of the book, including:

  • updated the Arduino examples to Arduino 1.0,
  • updated the Processing examples to Processing 1.5,
  • changed the Lantronix examples to use the Arduino Ethernet shield,
  • updated most of the projects,
  • added several new projects,
  • re-made all the circuit diagrams using Fritzing, Illustrator, and Inkscape,
  • added two new chapters, one on mobile telephony and networks and one on protocols.

There’s also a new code repository on gitHub, where I will be keeping the code from the book and updating it. You can also expect some new examples related to networks there as I work on them. I’ll probably update the site’s look and feel soon too, as I’m a bit bored with it, and it could use a little improvement.

I’ll try to keep this site more up to date this time, with notes on changes, errata, etc.  As always, though, check the O’Reilly site for the errata.


In the monski pong project in chapter 2, there is an error in checking the ball position relative to the paddle. The collision detection routine in animateBall() (p.66 first edition) assumes the ball’s position is being checked from the center of the paddle. In order to make this possible, you need to set the rectMode to CENTER.  In the setup(), add


and all will be well.  The code example has been updated to reflect this.


On page 227, there is an error in the schematic.  IT shows the RX of the FTDI serial-to-USB adaptor connected to TXen of the XBee.  IT should be connected to the TX of the XBee instead.


Thanks to Shigeru Kobayashi and Hideo Tamura, the Japanese edition of Making Things Talk is now available on the Japanese O’Reilly site and Amazon Japan.  I know from our exchanges during the translation that the Japanese edition is a more accurate and better version than my original, so if you read Japanese, get that edition. Thanks very much to them both for their hard work on this edition.


Since Spark Fun discontinued the version of the BlueSmirf that I used in the first edition of Making Things Talk, (the BlueSmirf v1) I’ve had a few requests for the data sheets, etc.  Apparently a number of people (me included) still have them and use them.  The AT commands appear nowhere online that I’ve found, so here’s what I have:

Spark Fun’s Bluesmirf v1 data sheet

BlueRadio’s AT command set for the radio


The Materials section on page 94 calls for between 2 and 4 10-kilohm resistors. In fact, you only need one resistor. On page 100, the schematic calls for a 1K resistor. You may need a higher value depending on the resistance range of your force sensing resistors and the weight of your cat. IF a 1K resistor doesn’t give you good values, try a 4.7K or a 10K resistor.


In the cat graphing example in chapter 3 as published in the book, the comments say:

// if the sensor value is less than the threshold,
// and the previous value was greater, then the cat
// just left the mat
if (prevSensorValue >= threshold) {
   catOnMat = false;

According to the second comment, the condition should be “greater,” but actual code is “greater or equal.”

The comment is right and the code should be as follows:

// if the sensor value is less than the threshold,
// and the previous value was greater, then the cat
// just left the mat
if (prevSensorValue > threshold) {
   catOnMat = false;

Thanks to Shigeru Kobayashi for catching this.


In the Chapter 1 Simple Serial code as published in the book says:

// after a quarter of a second, turn the LED on:

It should say

// after a half of a second, turn the LED on:

Thanks to Shigeru Kobayashi for catching it.

© 2012 Making Things Talk Suffusion theme by Sayontan Sinha