How do you feel about this article? Help us to provide better content for you.
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
What do you think of this article?
Nitrogen Dioxide (NO2) module for ESDK enables detection of common air pollutant.
In this article, we’ll take a brief look at some of the issues with NO2, and the new ESDK Nitrogen Dioxide detector board features and design.
What is NO2?
Nitrogen dioxide is a chemical compound that is part of the nitrogen oxide family and can be used on an industrial scale for the synthesis of nitric acid which commonly finds its way into fertiliser products.
Produced by natural causes, NO2 is also present in the atmosphere as a trace gas where it absorbs sunlight and helps to regulate tropospheric chemistry, especially helping to determine ozone concentrations.
Man-made sources of nitrogen dioxide are predominantly internal combustion engines that burn fossil fuels, most notably petrol and diesel engines. Indoor sources include cigarette smoke, natural gas cooking appliances, and butane/kerosene heaters to name a few.
Certain industries are at higher risk of NO2 exposure, including agricultural workers. This arises from decomposing grain and silage that is stored in silos, and can lead to a lung condition called “silo-filler’s disease”.
Due to the toxicity of nitrogen dioxide, the World Health Organisation developed a global recommended limit of <20 parts per billion for chronic exposure, and <100 ppb for one hour for acute exposure. High indoor NO2 levels have been linked to increased respiratory symptoms including wheezing, chest tightness, and infection severity among children that suffer from asthma.
A 2008 report from the United Kingdom Committee on the Medical Effects of Air Pollutants (COMEAP) suggested that air pollution caused around 29,000 deaths, which is a not-insignificant figure that could be reduced or prevented with increased awareness of the effects pollution can have on people.
Taking into account the quite severe impact that nitrogen dioxide pollution has, and how commonplace the pollutant is, we decided it would be worth adding an NO2 sensor module to the ESDK ecosystem.
The NO2 Module
The ESDK-NO2 module features the standard set of ecosystem connectors, plus a SPEC Sensors ULPSM-NO2 analogue sensor module, operational amplifier buffer and on-board ADC to provide sensor readings via the I2C bus.
Initially, we wanted to design a complete custom PCB based around an LMP91000 programmable analogue front end that is specifically designed for electrochemical sensing applications, but due to the ongoing component shortage, these parts are just about unobtainable.
Instead, we opted to use the ULPSM-NO2 from SPEC sensors which integrates an entire analogue front-end and provides a convenient voltage output — to design our own analogue front end would require very careful component choices and PCB layout as the signals coming from the electrochemical cell are on the order of microamps.
A dual-channel op-amp wired as a unity gain buffer is provided on the board to buffer signals coming from the sensor module. We implemented this buffer as the datasheet states that the signals coming from the sensor are high impedance and should be buffered before use. Following the op-amp, outputs are two low-pass filters that aim to remove any noise from the sensor outputs that is above 40Hz.
A four-channel 16-bit ADC was picked to provide the interface between the analogue signal and the I2C bus. The ADS1119IPWR was selected as this provides a good compromise between cost, resolution and sampling speed, which in this application isn’t of much concern. The ADC has a 3.0V reference IC connected to the Vref terminal to increase the accuracy of the measured voltages on the inputs. Another thing to note is that the ADC can either be configured as four single-ended input channels or two differential input channels — this is done by writing to the on-chip configuration register, which also allows digital filters to be enabled and configured.
Board layout was done taking care to keep the high impedance analogue signals as separated from the I2C bus and main power lines as possible, to help keep noise at bay. All the analogue components were clustered together over as much solid ground plane as possible, again to help reduce noise.
However, the ULPSM-NO2 module is not without quirks. Initially, it looked like our sensors did not work as the output voltage did not drop as far as expected, but this turned out to be a misunderstanding in how we were reading the datasheet, which was clarified in an email exchange with SPEC. The expected voltage drop was calculated to be a lot lower, on the order of -0.1V, given our 10ppm NO2 sample gas mix.
Another quirk we noticed was an incredibly slow response time from the sensor, on the order of hundreds of seconds rather than the quoted <30s T90 response time (time taken for a sensor output to reach 90% of the final value in the event of an abrupt change of measured quantity). In our case, the sensor was going from fresh air to a 10ppm NO2-in-air mix.
Again we emailed SPEC about this and found out that due to the ozone filter on the front of the sensing element, the response time is delayed. The filter is necessary to give a strict NO2 only response, otherwise the sensor will also respond to the presence of O3. SPEC suggested that we first reduce the sensor headspace — we tested this by enclosing a module in some loose heat-shrink tubing — and secondly swap to using the O3 sensor. However, as we had already purchased a number of the ULPSM-NO2 modules and wanted a strict NO2-only response, we pushed onwards.
It was also suggested that certain materials provide a “scrubbing” effect which could well be scrubbing the NO2 out of our gas mixture as it travels along the short section of pipe from the regulator to the sensor “chamber”. One suggestion was to instead try using a Teflon lined hose to deliver the gas.
Eventually, after testing with reduced headspace and more patience waiting for the sensor to respond, we did see a drop in the output voltage that was close to the value we expected.
Software support for the ESDK-NO2 module will be included in an upcoming release of the DesignSpark.ESDK library, with the software returning data in the same way as for other ESDK sensor modules, easing integration into existing applications.
The ESDK-NO2 module expands the ESDK ecosystem to add support for NO2 concentration detection, with a sensing range of 0-20ppm.