The Canary

Carl DiSalvo, Illah Nourbakhsh, Tom Lauwers, David Holstius, Dan Letson, Ayca Akin


To facilitate the broad exploration and use of robotics and sensing technologies in community design projects we we developed our own platform, called The Canary.

The Canary is a handheld device for monitoring a suite of environmental factors including general air quality, humidity, temperature, and sound and light levels. It is designed with the goal of bringing sensing technologies to a broader audience, and in the process, fostering technological fluency and new understanding of the environment.

In addition to sensing capabilities, the Canary has multiple motor ports and a piezo buzzer which respond to sensor values. Using the Canary, people can rapidly produce tangible interfaces, kinetic sculptures, and interactive spaces that are coupled to the environment.

The Canary device is based on the versatile Atmel Atmega168 programmable microcontroller, a popular IC for low-cost embedded applications. The Atmega168 has eight analog inputs used for reading environmental sensors, a UART for serial communication with an external computer and for displaying text to an LCD, and about a dozen general purpose digital I/O pins that are programmed for controlling the servos, buttons, and buzzer. The Canary uses a number of different circuits that sense light, temperature, ambient noise, air pollution, humidity, and pressure. The light and temperature sensors are based on simple (and cheap) components which vary resistance based on an environmental stimulus. The Canary obtains values for humidity and pressure by using off-the-shelf integrated circuits that output a voltage value which linearly maps to the stimulus. The ambient sound level is found by combining a microphone, a simple one-transistor amplifier, and a software filter running on the Canary’s firmware. Finally, air pollution is determined using the Dart Sensors Air Quality Sensor; this sensor is based on fuel cell technology which outputs a small current based on the presence of certain air pollutants. A current to voltage amplifier converts the current into an output voltage which can be read by the Atmega168.