Our common code base for the JeeNodes and Raspberry Pis is on Tim Davis’ Github.

The easiest way to get a copy is to use the Download ZIP button in the bottom right.

Ideally though you’ll use git to manage it so you can easily download updates and also push up your own changes. If you have git installed then the command:

git clone

will create a folder called heathack.

Unfortunately the Arduino IDE doesn’t allow you to have multiple workspaces, so you’ll need to change the sketch file location to point at the heathack/arduino folder.

The sketches in the arduino folder are:


Intended for installing on a JeeLink for receiving broadcasts from the sensor nodes and writing the readings to the connected PC’s serial port. A standard JeeNode with no sensors and the BUB serial interface will work just as well.


The code for putting on a standard JeeNode to read attached sensors and transmit the readings. There are #defines at the top that need editing to set a unique node id for the JeeNode (the receiver is 1, so 2 to 30 are available). There’s also #defines to comment/uncomment depending on the attached sensors. The expected layout is DHT11/22 on port 1, Dallas DS18Bs (max 3 devices) on port 4 and the room node board across ports 2 and 3.


Simplified version for the JeeNode Micro.


A test sketch for the Micro that just sends a battery level reading.


The code for the LED light demonstrated at the launch day.


A sketch to test taking sensors readings asynchronously so that the processor can continue with other jobs while waiting for the reading, instead of pausing. LedStripViz needs to use this technique so it can update the LED animation every 30th second.