1. Gustavo Olivares


Clone wiki


Introducing PACMAN

Click here for an illustrated guide

Operation Manual

Only valid for versions 5.x (see tags 5.x) here

How do I build one?

Here for more details

Condensed design history



As part of the 2010/11 capability project "Develop the capability for precision indoor air quality measurements" (CF111376), a small, low-cost instrument was developed in order to measure particulate concentrations indoors together with contextual information about the occupancy of that space.

The requirements for that instrument were:

  • Small form factor
  • Non-intrusive
  • Low cost
  • Air Quality characterisation:
    • Particulate matter
  • Context and activity characterisation
    • Presence
    • Temperature
    • Activity


This instrument was designed around an "open source" hardware in order to benefit from the global development community and therefore minimising replication and reducing the development time of this instrument. The key hardware used in this instrument is listed below.


The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller. The ATmega328 microcontroller contained in the Arduino UNO ([http://www.arduino.cc/]) was chosen due to its relatively ease of programming and suitable I/O capabilities. A more detailed description can be found [http://arduino.cc/en/Main/ArduinoBoardUno]. Note: To reduce costs and size this board has been replaced by the _Arduino Pro Mini_ by SparkFun (check its page).

Dust sensor

Due to its low cost and very small form factor, Sharp's Optical Dust Sensor (GP2Y1010AU0F) was chosen as the suspended particulate concentration sensor. Sharp's GP2Y1010AU0F is an optical air quality sensor, designed to sense dust particles. An infrared emitting diode and a phototransistor are diagonally arranged into this device, to allow it to detect the light scattered by dust in air. It is especially effective in detecting very fine particles like cigarette smoke, and is commonly used in air purifier systems.


Two sensors were tested to try and characterise the people's activity in the surroundings of the instrument. The first a Passive Infra-Red (PIR) movement sensor and the second one an Ultrasonic range finder (MaxBotix). These two sensors were selected because of its ease of communication and complementary measurement principle.


The LM335A is a very easy-to-use analog temperature sensor. The LM335A works like a Zener diode with a breakdown voltage proportional to absolute temperature at 10mV/°K.

Real Time Clock

The ChronoDot RTC is an extremely accurate real time clock module, based on the DS3231 temperature compensated RTC (TCXO). It includes a CR2016 battery which should last at least 8 years if the I2C interface is only used while the device has 5V power available.

On-board memory

A detailed description can be found here. Note: As the microcontroller board was replaced by a smaller version, the SD board was also replaced. A detailed description can be found here.

New developments

Version 2.x

Adding CO2

Using Parallax's CO_2 see description 1 second CO2 concentration measurement were added to version 2.0 of PACMAN

Version 2.5 saw the inclusion of an XBee module in the enclosure to allow the PACMAN to communicate wirelessly to a computer for real-time display of the measurements. The firmware was updated to enable historic data download but that has proven problematic and the simplest method remains removing the SD card for data download.

Version 5.x

Adding CO

Version 3.0 removed the internal fan and added a carbon monoxide sensor see here.

Increasing the analogue channel count

Adding an the 74HC4052 dual 4 channel analog multiplexer here it was possible to fit the PACMAN with a up to 11 analog channels for future expansion of the sensor array.