The wheels on the bus go round and round

…which may or may not affect the operation of our latest prototype. Only field testing will tell with any given degree of certainty.

In late september, we were invited to a meeting with representatives from Telenor Reseach and the Northern Research Institute, which were on the lookout for mobile outdoors air quality sensors that could be mounted on bus rooftops in Tromsø, Norway.

The sensor modules should be able to detect PM2.5 particles, preferably along with other pollutants. A GPS would record the sensor position on any given time and a LoRa transciever would transmit the data to a backend server, where data could be analyzed.

We are only happy to help. We have a relatively modestly equipped lab, but we can still make real hardware.

The core component of the circuit board is our EE-02 LoRa module ( We spent a couple of weeks designing and prototyping a new sensor board with a GPS module along with sensors for organic volatile compounds, CO2, air humidity, temperature, 0-3um particles and 3-10um particles. The PCBs were designed in-house and manufactured by DirtyPCBs, and then hand assembled in the EE lab.

Now - one and a half months later, we have two working prototypes ready for delivery. The circuitry is relatively simlple. The Microcontroller and LoRa transciever is hosted on our EE-02 module. This communicates with sensors for air humidity, temperature, CO2 and volatile organic compounds over the I2C bus. GPS communication is via UART. Particle sampling for PM0-3/PM3-10 particles are done via sampling of PWM signals from the particle detector.

We didn’t know what voltages we could expect to have available from the bus’ electronics at this time, so we played it safe and designed a two step power supply, bu adding a buck converter in front of the +3.3V regulator. The buck converter could handle +7-60V input voltages and regulate this down to +5V.


A four layer PCB was designed in Autodesk Eagle and sent to DirtyPCBS for production of a prototype pack. We waited a couple of weeks for arrival of the boards, which meant that we had time to start developing drivers for the sensors that where new to us.

When the boards arrived, we assembled the circuitry and could now start prototyping for real.

The microcontroller runs Apache MyNewt (, which is a new realtime OS for embedded devices (The MyNewt team has also kindly written a dedicated board support package for EE-02). We have written our own MyNewt drivers for these sensors and also plan to make these available in the form of a dedicated MyNewt repository in the future.

I have to mention that Tromsø is a town that is located on a latitude somewhat north of Murmansk. Field testing will be done in november / december. This means that our delicate electronics will have to cope with not only vibrations and water, but also with snow, ice and relatively harsh temperatures.

A standard electrical junction box was chosen as a starting point for the physical sensor enclosure. Air intakes and internal frame / physical sensor support were modelled in Autodesk Fusion 360 and then printed on our DeltaWasp 3D printer. This took a couple of days.


The physical enclosure turned out to be more complex than the electronics and firmware. The sensors inside require airflow and no blockage of PM2.5-10 sized particles, but we have to keep out rain and snow. Since some of the sensors also generate heat, it is likely that we will get condensation against the cold enclosure wall. We have heat sensing sensors inside an enclosure with heat generating components. Vibrations is another issue - since the module will be mounted on the top of a bus. What could possibly go wrong ?

Everything is now working. Both inside the lab and - outside the lab - in the rain - and light breeze… We have however not tested it under the weather conditions that we can expect in Tromsø. If we have done everything “correctly” (which is defined by some unknown future blueprint), we will be able to beat the current endurance record for mobile sensing equipment that they have tested so far, which is - 7 days. However…

From experience, it is really hard to make a prototype that survive first contact with the physical world for very long. A part of me almost expects it to fail miserably during the first hour. Another hopes to be pleasantly surprised.


I guess we won’t win any design awards for this, since it is vaguely reminiscent of a doomsday device of a cheesy seventies sci-fi show :) #function_over_form