At UC Berkeley, we are building prototype networks of small sensor devices under the SmartDust program [32]. We have deployed these in one of our EECS buildings, Cory Hall (see Figure 1). By design, these sensors are inexpensive, low-power devices. As a result, they have limited computational and communication resources. The sensors form a self-organizing wireless network (see Figure 1) and form a multihop routing topology. Typical applications may periodically transmit sensor readings for processing.
Our current prototype consists of nodes, small battery powered devices, that communicate with a more powerful base station, which in turn is connected to an outside network. Table 1 summarizes the performance characteristics of these devices. At 4MHz, they are slow and underpowered (the CPU has good support for bit and byte level I/O operations, but lacks support for many arithmetic and some logic operations). They are only 8-bit processors (note that according to [40], 80% of all microprocessors shipped in 2000 were 4 bit or 8 bit devices). Communication is slow at 10 Kbps.
The operating system is particularly interesting for these devices. We use TinyOS [16]. This small, event-driven operating system consumes almost half of 8KB of instruction flash memory, leaving just 4500 bytes for security and the application.
CPU | 8-bit, 4MHz |
Storage | 8KB instruction flash |
512 bytes RAM | |
512 bytes EEPROM | |
Communication | 916 MHz radio |
Bandwidth | 10Kilobits per second |
Operating System | TinyOS |
OS code space | 3500 bytes |
Available code space | 4500 bytes |
It is hard to imagine how significantly more powerful devices could be used without consuming large amounts of power. The energy source on our devices is a small battery, so we are stuck with relatively limited computational devices. Similarly, since communication over radio will be the most energy-consuming function performed by these devices, we need to minimize communications overhead. The limited energy supplies create tensions for security: on the one hand, security needs to limit its consumption of processor power; on the other hand, limited power supply limits the lifetime of keys (battery replacement is designed to reinitialize devices and zero out keys.)