This page includes information about the ESB and other Scatterweb products.

Master's project

Gösta Jonasson is currently (Feb. 2005) doing his master's project on using multiple ESBs for target tracking. Göstas project page.


ESB - embedded sensor board

Scatterflasher or eGate/USB

The eGate/USB (formerly known as ScatterFlasher) is inserted into a USB port. It can be used to wirelessly access data from ESB nodes and to reprogram ESB nodes OTA (over the air). See the tools section below for more information.

Installation tips



Updating the ESB program is done using a so called JTAG adpater which connects the JTAG interface of the ESB module to the parallel port of a computer. Note that you might have to configure your parallel port to EPP (Enhanced parallel port) to get the flashing to work. Software for programming the ESB modules are available for Windows, Linux, and FreeBSD (used in SICS). For other operating systems a platform and OS specific implementation of the software that accesses the parallel port is required (read more about that on

JTAG adapter

The compiler to use is the MSPGCC. There are some programming tips for the compiler here. The MSPGCC on-line documentation can be found here.

On Unix operating systems you might want to use the python program to flash the ESB device. The following call seems to work: python -e -p out.hex, where -e means that the memory should be erased and -p that it should be programmed (with out.hex). To run you should have the available (typically in your /usr/local/lib/ directory; do not forget to run ldconfig or to set the LD_LIBRARY_PATH environment variable). creates a quicke complex chain of calls through different libraries. The following picture explains how the output files in the jtag directory are connected.


Currently, programming the ESBs is by far most easily done a PC running Windows OS. Just download the software from Scatterweb homepage and compilation and flashing of the ESB program memory should work quite smoothly. The software includes the msp430-gcc compiler (and related tools), PSPAD editor with support for compilation of code and flashing of ESBs, and IAR tools that does the actual flashing (called by PSPAD).

The old PSPAD version, which was delivered with the old ESB software distribution, can not read the project files for the new source code (ScatterWeb2.x). PSPAD 4.3.2, which is delivered with the new source code, should be used instead.


The whole suite of software tools in the msp430 package can be built for Linux. Check for instructions. The Linux installation should include cvs and python. We have managed program the ESBs using the software for the JTAG. It appears that also msp430-gdbproxy can be used. However, source code for this application is not provided and a binary file must be downloaded (probably only works for Linux).


We have built the msp430-gcc compiler, but have not been able to port the software for accessing the parallel port. The corresponding action of running ldconfig on Linux (which updates links to shared library files (.so)) is to set the LD_LIBRARY_PATH to include paths to library files used.


You need to build the compiler and the jtag package yourself since it is not available.


You access the module through the serial interface (connecting it to a computer) or the wireless scatterflasher. The serial commands can be found in here: .

Our modules

Apart from the ID numbers (persistently) stored in the modules, we have a physical number as well (labels sticked to side of the sensor modules). The following table shows the mapping between physical label and sensor ID.

2 3

Using sensors

We have gathered some documentation about sensor tests in the following document: Sensor test (pdf).

Using the PIR sensor sometimes causes ghost detections. It appears that the PIR sometimes "detects" motion when the module is transmitting radio messages. The problem increases if the antenna is bent over the lens. One can do two things to try to decrease this problem: 1) direct the antenna away from the lens and sensor; 2) add code to the firmware that ignores PIR detections during the ESBs own radio transmissions.

The microphone tends to produce a periodic noise signal. This problem (strangely) does not occur when the ESB in question is connected by a serial cable. Hartmut Ritter with Scatterweb suggested that one should turn on the LEDs to use some electrical power to achieve stability. This idea appears to work.


Help with tools for Scatterweb products


Older version of ScatterMonitor. Use only with ScatterWeb source 1.x and with the appropriate program code for the eGate/USB.


The ScatterMonitor s/w can be used for wireless interaction with nodes. Interaction can be achieved either through a graphical interface or a console with terminal commands.

The ScatterMonitor can also be used to replace the program on the eGate/USB itself. In order to do that start the ScatterMonitor and click on the "Load for programming" button in the Stick Status tab. Select the hex-file for the eGate that you want to load and wait a while for it to be loaded onto the eGate/USB stick. After that click on the terminal tab and type (1) ssm FF and then (2) upd.

To use the terminal to interact with nodes one also has to supply the id of the node in question when submitting a terminal command. It might look something like this: @65535 swr. The command means that node 65535 should toggle (switch) its red LED.


You need atleast java 1.5 to run. Can be used with both the eGate/USB (formerly konwn as ScatterFlasher)


Scatterweb has a mailinglist which one can sign up for. The compiler MSPGCC also has a mailinglist.


Updated: 2005-11-08, Ronnie Johansson, rjo at