SCP-MAC: Information and Source Code
SCP-MAC is a new MAC protocol for wireless sensor networks, which enables
ultra-low duty cycles.
Existing MAC protocols, such as
normally operate at 1--10% duty cycles when there is no data traffic.
SCP-MAC seeks to push the limit down to 0.1% and lower, and thus
enables greater energy savings than existing protocols.
For details of SCP-MAC design, please look the following paper.
We implemented SCP-MAC in TinyOS over
We release our code under the
GNU Lesser General Public
License (LGPL). In addition, are willing to dual-license it under other
terms. You may contact Wei Ye or
John Heidemann for details.
What's in the Software?
The released SCP-MAC software is a communication stack that includes MAC,
physical layer (PHY), and system support components, such as timer, local
system time, testing applications and debugging tools. Currently, the
software only runs over Mica2 motes.
- MAC Layer:
The MAC layer includes SCP-MAC and two other MACs that SCP-MAC was built
upon: carrier sense multiple access (CSMA) and low-power listening (LPL).
Either CSMA or LPL can be used as a stand-alone MAC.
They have the same MAC-level message interface as the SCP-MAC.
Some details of SCP-MAC implementation can be found in our
- Physical Layer:
The PHY handles packet-level transmission and reception, radio state control,
time stamping support, and physical carrier sense including noise level and
received signal strength measurement.
It also provides built-in performance measurement on radio energy
The PHY has full support for contention-based MACs, but can be used for TDMA
- Timer and Local Time:
We implemented a new timer that supports CPU sleep mode (extended standby
or power save) between timer events.
This timer provides an asynchronous interface that fires with very low
It also provides more commands to query and adjust the value of a running
The local time components keeps an accurate system time since a node boots
even when its CPU sleeps.
Download Source Code
Please refer to our usage guide for how to use
Added automatic boot process.
Note: updated on 11/16/2006 to fix a compilation error on MicaZ.
Supports both Mica2 and MicaZ.
It corresponds to the protocol described in our paper at ACM SenSys'06.
Initial release of SCP-MAC implementation. Only supports Mica2.
It corresponds to the protocol described in our technical report.
our prior work
I-LENSE: ISI Laboratory for
Embedded Networked Sensor Experimentation
CENS: Center for Embedded Networked
MACSS: MAC Protocols Specific
for Sensor Networks
Please send comments to Wei Ye.
Last modified on Feb. 01, 2007.