Air pollution is the world’s largest single environmental health risk.

I have always had an interest in technology to measure and communicate the impact of air pollution on our daily lives. In 2014 I had the great fortune to work as a hardware engineer for the ICRI Cities group in London, where I primarily contributed to the London Living Labs project, which deployed several hundred environmental monitoring stations across greater London. During that time I also participated in a PCH hackathon in Dublin, and worked on a team to design Treo, a concept for a wearable air quality monitor.

Upon returning to Intel in Santa Clara, CA I worked on a team engaged in multiple environmental monitoring projects, including COEL, a bangle designed to help women in India and Bangladesh reduce carbon monoxide exposure.

At MedicaSafe, our engineering lab has indoor AQ risks stemming from a small army of 3D printers, a CNC machine, a soldering workstation, and people eating lunch from Rafiqi’s. We purchased a Foobot and hooked it up to our company Slack instance to proactively alert about indoor pollution events.

After becoming a somewhat regular Brooklyn-Manhattan bike commuter and inhaling my fair share of vehicular smog by the Manhattan Bridge on-ramp, I was interested in a Columbia University study to measure air pollution exposure among NYC bike commuters.

Unfortunately I wasn’t selected to participate in the study. Having thought about this idea for several years, and not wanting to buy an existing product to do this, I decided to just make my own personal air quality monitor instead.


pemby is a wearable air quality monitor intended for urban environments, optimized for cost and ease of use. It has sensors for oxidizing gases (NO2, O3), reducing gases (CO, VOCs), temperature, and relative humidity. A key innovation is the use of metal oxide sensors from SGX Sensortech, which enables a compact form factor and simple circuit design. It is the same technology used in AirBeam. These sensors are simple, low-power, and low-cost. They can’t provide highly-accurate data, but they are suitable for “event detection” applications (like sensing sudden spikes -- for example, pulling up next to an idling truck) and unlike electrochemical gas sensors, they are usable in low-power wearable applications.

pemby streams real time data over Bluetooth LE to a companion smartphone, which then processes that data and displays alerts related to pollutant exposure. The app is also used for periodic calibration of the device’s sensors. The device also contains an RGB LED which can be used to display an “at-a-glance” indication of recent exposure.

pemby uses a rechargeable lithium-ion polymer battery, and only needs to be charged (via standard USB-C charger) about once a week.

The design was done using Altium Designer 18 and manufactured by MacroFab.

Key component selection

Component Function Cost @ 10 units Rationale
BL652 Bluetooth module based on nRF52832 SoC $7.45
  • Integrated microcontroller, RF frontend, antenna in low-cost package
  • Prior familiarity with nRF52832 and nRF5 SDK
  • FCC pre-certified
MICS-4514 MEMS AQ sensor (red/ox) $13.32
  • Dual sensor in single package
  • Very compact footprint
  • Single 5V supply
  • Minimal BOM requirements
BME680 Environmental sensor (tVOC, RH, temperature, pressure) $10.78
  • Low power consumption (~3.7uA @ 1Hz sampling, 0.15uA sleep mode)
  • Multiple sensors in single package
  • Very compact footprint
  • Well-known, quality manufacturer (Bosch's BMP280 barometric pressure is widely used)
MCP73812 Single-cell Li-Ion/Li-Polymer charge controller $0.56
  • 500mA meets USB2 standard charging spec
  • Inexpensive
TPS61240 Step-up DC-DC converter $1.54
  • Required because AQ sensor needs a 5V supply but LiPo only provides 3.3-4.2V
  • Small external inductor
  • Optimized for Li-Po applications
  • Compact package
  • High efficiency and automatic power save mode

Schematic & Layout