The Cricket Indoor Location System

news - latest hardware and software release
overview - cricket project description
technology - how it works?
applications & demos - what can you do with cricket?
download - v2 software and user manual
people - who are we?
papers - cricket documents
data - collection of some raw cricket data
acknowledgments - who sponsors cricket?


2006-03-13 Software release version 2.3.2 and firmware 2.3.2
  • Add license to the source code
  • Adjust the distance calculation for some crickets
  • 2005-09-13 Add a by page schematic download and update the schematics
    2005-01-26 Software release version 2.3.0 and firmware 2.3.1
  • Improve ultrasound directionality
  • Update manual
  • Various fixes
  • 2004-10-29 Added schematics to the download section
    2004-10-28 New firmware and software version 2.2.2
  • Improve ultrasound coverage
  • 2004-10-15 New firmware and software version 2.2.1
  • Add missing source file
  • 2004-10-13 New firmware and software version 2.2.0
  • Change ultrasound back to 53 ms
  • Fix scheduling bug due to wrong wait time
  • Add ultrasound gain settings
  • Various small fixes
  • Overview

    Cricket is indoor location system for pervasive and sensor-based computing environments, such as those envisioned by MIT's Project Oxygen. Cricket provides fine-grained location information---space identifiers, position coordinates, and orientation---to applications running on handhelds, laptops, and sensor nodes.

    There have been two major versions of Cricket to date (July 2004). Cricket v2, the current version, is substantially more accurate and energy-efficient compared to Cricket v1. v2 has a new software stack that runs on TinyOS, has better support for continuous object tracking, has support for various auto-configuration algorithms, etc. You can buy Cricket v2 units from Crossbow Technologies. The software for Cricket v2 (both embedded software and higher-layer software that runs on laptops/handhelds are available here. This software is under an open source license and can be used for education, research, and commercial purposes as long as the requirements in the copyright notice are followed. Cricket available from Crossbow Technologies may not be preloaded with the embedded software when shipped individually (to program the Crickets you will need a MIB510CA programmer).

    Many applications in pervasive and sensor computing environments are context-aware, benefitting from knowledge of their external context, such as their location. Location may be specified as a coordinate position in some coordinate system, a geographic space such as a room or portion of a room, and as the orientation of a device within some coordinate system. Examples of location-aware applications that can be developed using Cricket including resource discovery, human/robot navigation, physical/virtual computer games, location-aware sensing, hospital/medical applications (e.g., equipment and patient tracking/monitoring), stream migration, pose-aware applications like the software flashlight/marker, etc.

    Cricket is intended for use indoors or in urban areas where outdoor systems like the Global Positioning System (GPS) don't work well. It can provide distance ranging and positioning precision of between 1 and 3 cm, so applications that benefit from better accuracy that the cellular E-911 services and GPS will also find Cricket useful. Cricket is designed for low-power operation and can be used as a location-aware sensor computing node (running TinyOS), to which a variety of sensors can be attached.


    The best way to learn about the Cricket Technology is to check out the Cricket v2 user manual. In a nutshell, Cricket uses a combination of RF and ultrasound technologies to provide location information to attached host devices. Wall- and ceiling-mounted beacons placed through a building publish information on an RF channel. With each RF advertisement, the beacon transmits a concurrent ultrasonic pulse. Listeners attached to devices and mobiles listen for RF signals, and upon receipt of the first few bits, listen for the corresponding ultrasonic pulse. When this pulse arrives, the listener obtains a distance estimate for the corresponding beacon by taking advantage of the difference in propagation speeds between RF (speed of light) and ultrasound (speed of sound). The listener runs algorithms that correlate RF and ultrasound samples (the latter are simple pulses with no data encoded on them) and to pick the best correlation. Even in the presence of several competing beacon transmissions, Cricket achieves good precision and accuracy quickly.

    In addition to determining spaces and estimating position coordinates, Cricket provides an indoor orientation capability via the Cricket compass. This facility is not yet commercially available (it is a research prototype)

    A Cricket listener attaches to the host device using an RS232 serial connection. The Cricket beacon and listener are identical hardware devices (see picture above). A Cricket unit can function as either beacon or listener, or can be used in a "mixed" mode in a symmetric location architecture (which may be apporpriate in some sensor computing scenarios), all under software control. You can attach a variety of sensors to a Cricket device using the 51-pin connector on the Cricket. We also have some research prototypes of Crickets with a Compact Flash (CF) interface, which may be a more convenient form factor to attach to handhelds and laptops than the RS232 interface. These devices may become widely available in a few months. They will be software- and protocol-compatible with the RS232 version. The picture below shows what the current CF device looks like; this design is likely to change.

    Cricket uses active beacons and passive listeners, which has two significant benefits.  First, it is not a tracking system where a centralized controller or database receives transmissions from users and devices and tracks them.  Second, it scales well as the number of devices increases; a system with active transmitters attached to devices wouldn't scale particularly well with the density of instrumented devices.  Third, its decentralized architecture makes the system easy to deploy. 

    We've been deploying Cricket. Below, on the left, is a picture of its deployment in a room on the 9th floor of MIT's CSAIL in the Stata Center (click on the picture for a bigger image). Below, in the middle, is a picture of an older deployment in CSAIL's old home in Tech Square. On the right is a picture of a deployment from CSAIL's graphics lab in Tech Square.


    Various groups at MIT have developed applications and systems using Crickets. The following links are to video clips or pictures of some of these applications. These links are roughly in inverse chronological order.


    Cricket people

    People currently working on the Cricket project include: Hari Balakrishnan, Dorothy Curtis, Erik Demaine, Michel Goraczko, Allen Miu, David Moore, Michael Newman, Bodhi Priyantha, Adam Smith, Ken Steele, Seth Teller, Arvind Thiagarajan, Rui Viana, JD Zamfirescu.

    Past contributors to Cricket include Roshan Baliga (MEng), Anit Chakraborty (MEng), Albert Lin (UROP), Nikos Michalakis (MEng), Jorge Rafael Nogueras (SM), Kevin Wang (MEng), Mike Whitaker (UROP)


    These papers are in chronological order.


    Experimental Data

    Cricket v1 Data

    Some experiments conducted using Cricket v1. (Cricket v2 performs significantly better, so these numbers are unlikely to be useful any more.)

    Cricket v2 Data

    Some experiments conducted using the second version of Cricket. More data is forthcoming.


    We are grateful to Acer Inc., Delta Electronics Inc., HP Corp., NTT Inc., Nokia Research Center, and Philips Research for their funding of the Cricket project under the MIT Project Oxygen partnership.

    We thank the National Science Foundation for funding Cricket under an ITR, "Scalable Location Aware Monitoring".

    We thank NTT Inc. for having funded Cricket in the past under the NTT-MIT research collaboration.

    We also thank Analog Devices, Inc. for their kind donation of electronic components and sensor devices.

    NMS HomeProjectsPeoplePapersSoftware


    M. I. T. Computer Science and Artificial Intelligence Laboratory · 32 Vassar Street · Cambridge, MA 02139 · USA