Errata for Building Wireless Sensor Networks
Submit your own errata for this product.
The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update
| Version |
Location |
Description |
Submitted By |
Date Submitted |
Date Corrected |
| Printed, PDF, ePub |
Page 74
73 |
In the section on "Buzzer Output" instruction 1 says to connect the red power lead of the buzzer to digital pin 5. However, in the corresponding figure 3-15 it shows the red lead of the buzzer connected to ground.
Note from the Author or Editor: Correct the colors in Figure 3-15 to show a red buzzer lead connected to the arduino and a black one connecting to ground (swap the red and black colors directly under the buzzer).
|
Thomas Weisbach |
Apr 25, 2013 |
|
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 36
First step of sidebar |
Incorrect link for:
1. Visit the Digi FTP site.
Incorrectly references to: http://ftp1.digi.com/support/firmware/update/
The CORRECT link is: ftp://ftp1.digi.com/support/firmware/update/
|
 Robert Faludi
|
Apr 03, 2012 |
|
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 108
last paragraph |
New version of Arduino IDE 1.0 has deprecated the use of BYTE parameter in the function Serial.print(...), so code shown in page 108 does not compile under new versions of Arduino IDE.
Solution is to replace all Serial.print functions for Serial.write functions and pass as parameter just the values (so deleting ", BYTE").
So where before the code example said:
Serial.print(0x7E, BYTE);
we should change to:
Serial.write(0x7E);
Note also that where we pass the 0 value, we should use the (byte) modifier if we do not want to receive compiling errors, so where before the code example said:
Serial.print(00, BYTE);
we should change to:
Serial.write((byte)0);
Note from the Author or Editor: Find and replace all instances of Serial.print(xxx, BYTE) with Serial.write(xxx). These are present in code throughout the book.
[note that this will break compatibility will all previous version of Arduino, but probably worthwhile going forward as more people will begin to download the new IDE]
|
Jordi Segura |
Feb 18, 2012 |
|
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 90
Figure 4-1 |
The caption reads: "I/O pins as seen from below on a breakout board".
It should read: "I/O pins as seen from above on a breakout board".
Note from the Author or Editor: Please change this line to read:
"I/O pins as seen on a breakout board".
|
dakkumar |
Nov 03, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 164
Figure 6-1 |
Pin numbers are wrong for the bottom view of XBee. See Figure 1-12 on page 16 for reference.
Note from the Author or Editor: Swap pin numbers in image 6-1 left-for-right. Please renumber with pin 20-11 starting on the upper-left and pin 1-10 starting on the upper-right.
20 1
19 2
18 3
17 4
16 5
15 6
14 7
13 8
12 9
11 10
|
Robert Jensen |
Oct 23, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 111
3rd paragraph |
Says 'as' when it should be 'at'
Line should read:
"At the same time, they could care less about readability."
|
Anonymous |
Oct 17, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 275
Table A-12 |
PWM is not supported yet. Change entry to read as follows:
You can use the I/O commands to work with features such as PWM (will be implemented in future versions), digital I/O, and analog input. I/O is the focus of Chapter 4.
|
 Robert Faludi
|
Oct 02, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 263
Standards Organizations |
The URL for Official ZigBee Specifications & Public Application Profiles has changed. The new one is:
http://www.zigbee.org/Specifications/ZigBee/download.aspx
|
 Robert Faludi
|
Oct 02, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 261
Arduino Resources |
The URL for the Arduino Forum has changed. The new one is:
http://arduino.cc/forum/
|
 Robert Faludi
|
Oct 02, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 249
last paragraph |
Line number mentioned is not correct.
Should read as follows:
"Look for a string variable called apiKey and an integer variable called feedID starting near line 31."
|
 Robert Faludi
|
Sep 27, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 242
last paragraph |
Says 'million' when it should be 'billion' (however the remaining math is still correct).
Line should read:
"A frame counter protects against replay attacks but tops out at 4 billion (32 bits). If you are going to send more than 4 billion messages..."
|
 Robert Faludi
|
Sep 27, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 243
Last paragraph |
The URL (http://www.zigbee.org/Products/DownloadZigBeeTechnicalDocuments.aspx) is obsolete.
Please change to this new URL:
http://www.zigbee.org/Specifications/ZigBee/download.aspx
|
 Robert Faludi
|
Sep 27, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 240
1st paragraph |
The URL (http://www.zigbee.org/Products/DownloadZigBeeTechnicalDocuments.aspx) is obsolete.
Please change to this new URL:
http://www.zigbee.org/Specifications/ZigBee/download.aspx
|
 Robert Faludi
|
Sep 27, 2011 |
Jan 13, 2012 |
| PDF |
Page 52
session example below figure 2-23 |
The parameter for the ATDH command should be 0013A200 (Digi's address) and not 0013A300 (ATDH without any parameters shows the correct address in the example session).
Note from the Author or Editor: Please change ATDH 0013A300 to read:
ATDH 0013A200
|
lzaugg |
Sep 24, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 225
Liquid crystal display (LCD) output |
URL has changed. The new one is:
http://www.mijnprintplaat.nl/datasheet/HD44780_16x2_Character_LCD_Display.pdf
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 222
end of first paragraph |
Account name has changed. Line should read:
...or try out schnitznthings if you have a hankering for flat meat in Manhattan.
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 190
next to last paragraph |
URL for CAN (or CAN-bus) has changed. The new one is:
http://www.skpang.co.uk/catalog/arduino-canbus-shield-with-usd-card-holder-p-706.html
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 181
line 8 |
Wrong word. Line should read:
// make an array list of switch objects for display
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 177
first instruction |
Wrong word. Line should read:
When the transistor's flat side is facing you, the leads from left to right are emitter, base, and collector.
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 174
Configure Your Router XBees |
Wrong word. Line should read:
For each of your actuator node radios:
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 168
Warning text, middle of page |
Wrong word. Line should read:
Your end device radios will use the AT firmware so you can easily con- figure them using a serial terminal. Be sure you select the AT version for your end devices!
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 168
Prepare Your End Device Radios |
Wrong word. Line should read:
...to configure each of your sensor node radios as a ZigBee End Device AT.
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 165
First paragraph. |
Incorrect hex number. Line should read:
Time before sleep can be set to as little as 0x1 for one millisecond of timeout, or as high as 0xFFFE for about 65 seconds of delay before returning to low-power cyclic sleep.
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 170
first bullet in sidebar |
Bullet should read as follows:
If the radio is in sleep mode 1 (pin sleep) or sleep mode 5 (cyclic sleep with pin wake-up), bringing physical pin 9 low by connecting it to ground will wake the radio.
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 130
third line of table |
Incorrect hex number. Should read as follows:
LSB 2 0x12
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 129
last paragraph |
Remove the bit about the frame ID, which is wrong. Line should read:
So in addition to the usual preamble bytes, including the frame type of 0x90 to indicate a ZigBee Receive Packet, we get to see the 64-bit and 16-bit source addresses along with a receive options indicator, and of course the payload data itself, followed by a checksum.
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 126
3rd paragraph, about the middle |
Says bits when it should be bytes. Line should read:
If you don’t know the 16-bit address that the coordinator has assigned for the destination, simply set these two bytes to 0xFF and 0xFE respectively.
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 91
2nd paragraph |
Should read as follows:
ATP0...ATP2
Configures pins 10, 11 and 12 for I/O mode (there’s a P3 for pin 13, but it is not supported in the current firmware). Again, the number after the P indicates which pin you’ll be configuring, and is followed by a numeric code to indicate what purpose the pin will serve—digital in, digital out, or nothing. For example, to configure I/O pin 11 as a high digital output (code 5) the command would be ATP15. Pins 10 - 12 do not support any analog functions.
|
 Robert Faludi
|
Sep 21, 2011 |
Jan 13, 2012 |
| Printed, PDF |
Page 176, 178/ 179
Figure 6-4, Figure 6-5 |
According to the PowerSwitchTail datasheet: "DC input: 3-5 vdc, nominal 40mA (200 mW) @ 5vdc; terminal block accepts #26-16 AWG wire. Do not exceed 6 volts".
If you connect the PowerSwitchTail to the power plug as depicted in figure 6-4 and figure 6-5 and apply more than 6 volts to the input, you may exceed the maximum DC input voltage (input for the power plug is rated 5~12V in both figures).
The text on page _176_ last paragraph says: "This relay is usually
activated by at least 5 V of direct current. The XBee can’t provide enough voltage or amperage by itself to drive that relay, so we use an NPN transistor as an electronic switch to send 5 or 9 volts directly to the relay."
I think this has to be corrected.
As seen above the PowerSwitchTail works from 3-5 volts DC (not 9 volts). The transistor is used to provide enough current (40mA @ 5 VDC) to drive the relay inside the PowerSwitchTail. The maximum output source current for the XBee is 4/ 8mA according to the datasheet. So the XBee might have enough voltage but not sufficient current to drive the relay.
With the 10k resistor attached to physical pin 20 (DIO0, 4mA max.) the output is 2.6mA (3.3v-0.7v/10k) that drives the base of the 2N3904 which has a hFE of about 100 at this current. This provides enough current to drive the relay.
Note from the Author or Editor: (The PowerSwitchTail's data sheet has been updated to reflect a new reduced minimum and maximum voltage.)
Change page 176 to read: "This relay is usually activated by 5 V of direct current. The XBee can’t provide enough voltage or amperage by itself to drive that relay, so we use an NPN transistor as an electronic switch to send 5 volts directly to the relay."
|
Markus Ulsass |
May 15, 2011 |
Aug 12, 2011 |
| Printed |
Page 7
First Section |
The section titled "Digi Evaluation Board" is no longer relevant. The Digi Evaluation Board was obsoleted by Digi, and there are no immediate plans to replace it. I tried to order it, and was given this information by Digi customer support.
Note from the Author or Editor: The board is still available. For the next revision, please change the first sentence on page 7 under "Digi Evaluation Board" to add the part number at the end, like this: "...it will include an evaluation board with a power supply, a USB connector, and some handy buttons and lights (Digi part no. XBIB-U)."
|
Ray Hopper |
Apr 21, 2011 |
Aug 12, 2011 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 76
List item number 6 |
The PAN ID is a 16 bit identifier, so it should range from 0X0000 to 0XFFFF, as correctly stated previously (e.g., Table 2-5).
Here the book says "Select a PAN ID between 0x0 and 0xFFFFFFFFFFFFFFFF to define...".
Note from the Author or Editor: PAN ID is actually a 64-bit identifier, so Table 2-5 should read 0x0 to 0xFFFFFFFFFFFFFFFF Also on page 48 under the ATID heading the text should read 0x0-0xFFFFFFFFFFFFFFFF
|
Vincenzo Pii |
Apr 14, 2011 |
Aug 12, 2011 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 67
Parts list |
XBee breakout board is SFE BOB-08276 (it's correct on page 10) not SFE BOB-08669 as listed in the parts list on page 67.
Note from the Author or Editor: Change incorrect part numeber SFE BOB-08669 on page 67 parts list for doorbell projects to correct part number which is SFE BOB-08276.
|
Markus Ulsass |
Apr 07, 2011 |
Aug 12, 2011 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 268
Top - Table A-2 |
In looking for packet sniffers, I went to the Daintree Networks website and found:
Sensor Network Analyzer (SNA)
Please note that Daintree's Sensor Network Analyzer software and Sensor Network Adapter hardware were discontinued on March 31, 2010, and are no longer available for sale. The following information is provided for support purposes only.
Note from the Author or Editor: Remove the entry for Daintree Sensor Network Analyzer
|
Carl Van Wormer |
Mar 22, 2011 |
Aug 12, 2011 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 202
Naming Radios sidebar |
In both places that mention "Mary's Temperature Sensor" change this phrase to "Mary's Temp Sensor" to keep within the command's 20 character limit.
|
 Robert Faludi
|
Mar 20, 2011 |
|
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 104
2nd paragraph |
Should not the router configuration be Zigbee Router and not Coordinator?
Note from the Author or Editor: Yes, that's a typo. Page 104, item 3 should read " (ZigBee Router AT) "
|
Roger Chapman |
Feb 23, 2011 |
Aug 12, 2011 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page 135
Breaking Large Numbers into Bytes |
( 0x3 * 0xFF ) + 0xDB = 0x3DB
is incorrect:
( 0x3 * 0xFF ) = 0x2FD (not 0x300)
( 0x3 * 0x100 ) = 0x300
Note from the Author or Editor: Yes, the equation should be:
( 0x3 * 0x100 ) + 0xDB = 0x3DB
|
Donald R. Blake |
Feb 04, 2011 |
Aug 12, 2011 |
| Printed, PDF, Safari Books Online, Other Digital Version |
Page xvii
end of page |
We should add a sentence explaining that the diagrams in the book were created with the Fritzing software. This could go at the end of the acknowledgments or the first place a Fritzing diagram appears (p14?):
The connection diagrams in this book were created with Fritzing, an open source tool for documenting, sharing, teaching, and designing interactive electronic projects. For more information, see their website http://fritzing.org/
|
Brian Jepson |
Jan 29, 2011 |
Aug 12, 2011 |
| Printed |
Page 37
Figure 2-10 |
"Version" field in Figure 2-10 is show as "2041". Suggest update to value listed at this field to "2070" to match the configuration text example on page 38, step 2.
Note from the Author or Editor: This is actually a "before" configuration screenshot, so it's entirely possible that the radio will have an older version of the software. However, if it had you confused then it might be worth changing.
|
Dave Jenson |
Jan 26, 2011 |
|
| Printed |
Page 37
Second sentence |
s/XB24P-B/XBP24-B/
I believe the part number is not XB24P-B, but is actually XBP24-B.
I cannot confirm about the XB24P-SE part as I do not have that one; may want to check it too.
Note from the Author or Editor: Yes, the correct part numbers should be XBP24-B and XBP24-SE respectively.
|
Dave Jenson |
Jan 26, 2011 |
Feb 01, 2011 |
| Printed |
Page 6
Vendor's list , subhead Maker Shed |
This section (and elsewhere in the text) states that a kit is available that was specifically designed for this book. Please provide details and/or a part number, I have contacted the website (www.makershed.com) and the support person was unaware of any such offering.
Note from the Author or Editor: Kits are under development and are scheduled to be available in February. Watch my blog for more updates: http://www.faludi.com
|
Greg Shead |
Jan 19, 2011 |
|
| Printed |
Page 149
Figure 5-7 |
U2 out goes to ground, pin 1 and connected to 300 Ohm resistor. I believe the ground symbol should be eliminated from this figure.
Note from the Author or Editor: Yes, the ground symbol can/should be moved to XBee pin 10. The breadboard layout in figure 5-6 and the text descriptions are correct.
|
laserled |
Jan 16, 2011 |
Jan 13, 2012 |
| Printed, PDF |
Page 149
Figures 5-6 and 5-7 |
The resistor in figure 5-6 and 5-7 that is labeled 300K ohm should be labeled simply 300 ohm. (The color bands in the figure and the body text are correct.)
|
 Robert Faludi
|
Jan 04, 2011 |
Aug 12, 2011 |
|