The final project!


Project Proposal

In this week’s assignment I will describe in detail my final project proposal: an open gas sensor testing platform for the Smart Citizen Project. This project is broadly described in the Final Project section of my site and I will focus on the materialisation of the proposal.


This project would serve as an station for gas sensors calibration under controlled environmental conditions. It will consist on a series of customisable and interchangeable sensor chambers, where the sensors could be placed and connected between them, and be under controlled environment conditions.

Gas Calibration Chamber

This type of solution has been done in the past on the research by AirSensEUR: an open data/software /hardware multi-sensor platform for air quality monitoring - Michel Gerboles, Laurent Spinelle and Marco Signorini and the aim of this project is to attain such a level of validity, but adapted to the Smart Citizen Sensor platform hardware and costs expectations.


Three main fields of development / design can be identified:

  • Hardware solutions for sensor placement and packaging
  • Non gas related sensor input and actuactor interface
  • Data acquisition and test setup interface

For each of all these section, more details are explained below.


In terms of hardware, there are several areas to be detailed. Firstly, the the sensors’ housings themselves will be made out of PTFE, for it’s easy machinability and low reactivity. Furthermore, lids and fit-ups will be laser cut in transparent acrylic, using rubber o-rings to achieve air-tightness. An example of these modules is shown below:

Module SHT31

These sensors will be connected between each-other with quick connectors and piping easily found in pneumatics hardware stores. A wooden board will be fabricated in order to fix and arrange all the sensors. The fitting to this board will be solved by 3D printed components, designed and modelled parametrically. An example of the resulting array of sensors can be seen below:

Module Display

Both, the sensors and the wooden pannel, are machined in a Fablab’s Shopbot, using Rhino Cam as a strategy planner and

In terms of cost, a quick summary can be shown below:

  • PTFE: 25€/kg, with a total cost of 90€ for the desired chambers
  • Piping, accesories and connections: ~20€
  • 3D printing parts: not assessed

Finally, air-tightness evaluation of these modules is performed with a pressure value outlet found in the fablab with pressure limitting valves. Measuring the pressure stability at the modules’ ends, ensures air-tightness. In fact, this process leads to hardware design changes and involves several iterations in order to assure air-tightness.


Sensor input and output will be interfaced with a Raspberry Pi acquiring sensor data from the variety of sensors and outputting to actuators.

In this case, non-gas pollution sensors are the well know Temperature and Humidity Sensor SHT31 and an analog pressure sensor. The SHT31 comes with an I2C interface, but for the pressure sensor, an I2C-ADC board is designed. This sensor will be used for checking the modules air-tightness during the validation phase.

Module SHT31

Image Source: Groove Seeed - Studio

In terms of outputs, a recirculation pump is used in order to keep a good flow of gas over the sensors. This pump will be actuated with an I2C compatible board, designed during the Output Devices Week. The AIRPO D2028B Pump was already available in the Smart Citizen’s office, but an orientative cost of 15€ is a fair approximation.

Image Source: Abra Electronics

Data acquistion and sensor interface

A data acquisition using a Raspberry Pi is developed for the sensors data to be centralised, logged and displayed. A Pi-Hat is designed in order to centralise the I2C Bus and provide with power and GND to all the sensors. Since the Raspberry Pi has 4 USB available, they will be used to recolect the Smartcitizen’s data, which themselves will be gathering the other pollution sensors data.

An Apache-Hosted-Web interface is programmed in the Raspberry Pi to set up dynamic plots using Dash and providing with a simple test setup and logging interface. An initial example of this interface was done in the Interface Programming Week and is being currently improved.

Finally, a logging system is done over a crontab job (or a daemon in the future), to read sensor data and save it into a .log file which will later on be the source for the Dash plots.

Evaluation and pending tasks

The gas system is tested for airtightness using the Fablab BCN compressed air piping and using an analog pressure sensor to monitor the pressure loss over time. This test leads to several iterations including design changes with o-rings and/or more bolts pressurizing the system.

Finally, as for the current project status and potential schedule (by end of Fabacademy 2018):

  • Gas chamber modules and piping are completed and tested for airtightness, as well as the pump module
  • Pannel and holding system is completed
  • Data acquisition and test execution is not fully completed (execution time ~1month)
  • Final setup and cabling is not completed (execution time ~1 day after completion)