
XBee Broadcast Time as received by Luscious Electric Delight - click for movie
(L.E.D. created by Leif Krinkle with Rob Faludi and Benedetta Piantella)
The real-time clock which broadcasts time to the entire ITP floor via XBee ZigBee radio is now complete. Its time signal can be picked up by any project on the floor that incorporates standard 802.15.4 radios, and used for anything from time display to inter-project synchronization. The XBee Time Broadcast Clock code is written in PIC Basic Pro. It now incorporates regular updates from NIST servers. Time is stored and maintained locally on a DS1307 real-time clock chip, available on a convenient breakout board from Spark Fun.

Schematic of XBee Broadcast RTC Clock (essential components)
To pick up the signal at ITP, simply set the PAN address on your XBee to C or CC (the c is for clock). The signal is simultaneously broadcast to all 65,534 addresses within that network. PAN C is in a human-friendly format and PAN CC is formatted to be easily machine-readable. Here’s sample Arduino code for reading and parsing the real-time clock broadcasts.
This project is the first in a planned series of objects that will create an “information landscape” at ITP. Each object will provide information that other projects and objects can use, along with publishing actions which are publicly available so that the object can be externally controlled.


This moisture sensor circuit is based on a design by Forrest Mims, and adds a Shunt Ammeter so that the output is 0 to +5 Volts instead of amperes. We are using it for the ITPlants project, so that when soil moisture drops below a minimum, the plant can make a phone call for help. Other call-worthy events will be a thank-you when the plant does get watered, a warning if the plant is watered too often, and a follow-up call if the watering is insufficient. This is going to be one chatty shrub.

I’m working on a physical clock that also broadcasts time to the entire ITP floor via XBee ZigBee radio. The time signal can be picked up by any project on the floor that incorporates ZigBee, and used for anything from clock display to inter-project synchronization. The code is being written in PIC Basic Pro. At some point it may incorporate updates from NISTservers.
To pick up the signal at ITP, simply set the PAN address on your XBee to C or CC (the c is for clock). The signal is simultaneously broadcast to all 65,534 addresses within that network. PAN C is in a human-friendly format and PAN CC is formatted to be easily machine-readable.
This project interests me because it begins to explore how an object can share information on a network with other objects, creating a landscape of content from which other objects and people can benefit.

This moisture meter was based on a circuit from Forrest Mim’s excellent “Getting Started in Electronics” book. It uses an Ampere meter (not pictured) via a amplifying transistor to display the conductivity of the soil in a planter. And it works! This setup may be the basis for our primary plant sensors for ITPlant.

At ITP on Thursday evenings, students teach students in hour-long sessions that we call DriveBys, because a lot of knowledge gets sprayed into the crowd in a short period of time. I just did one on the XBee ZigBee radios, covering the basics of applications, comparisons to other technologies, how to make one, advanced projects and some configuration in-depth. Here’s the XBee DriveBy presentation as a PDF. There is also a streaming video of the session available now, thanks to Dan Phiffer.