| Literature DB >> 35498252 |
S L Brown1, C S Goulsbra1, M G Evans1, T Heath2, E Shuttleworth1.
Abstract
Understanding the spatial variability of gaseous carbon flux at a landscape scale requires intensive monitoring campaigns necessitating significant and perhaps prohibitive financial investment. Commercially available CO2 sensors may only partially fulfil the requirements of the researcher, thereby generating inadequate data. In this context we present the fully replicable designs for a low-cost, microcontroller-based gaseous CO2 concentration data logger suitable for field deployment at scale. It demonstrates a post-calibration accuracy of 96-99% and large onboard data storage for data collected at user-defined intervals. The sensor can be powered via USB or batteries, assembled by novice users, and produced for approximately £155. Post-calibration it was used to measure CO2 evasion from a peatland stream, environments known to be spatially and temporally variable CO2 sources, although potential applications are much wider in scope. The proliferation of low-cost, open-source, and user-made sensors in physical sciences could allow researchers to answer questions previously unanswerable due to the limitations of existing proprietary equipment. We encourage other research teams to use and adapt this design for a range of purposes and research questions beyond carbon processing in peatlands.Entities:
Keywords: Arduino; Carbon dioxide; Low cost; Microcontroller; Peatland; Sensor
Year: 2020 PMID: 35498252 PMCID: PMC9041228 DOI: 10.1016/j.ohx.2020.e00136
Source DB: PubMed Journal: HardwareX ISSN: 2468-0672
Fig. 1Top-down view of dismantled (A) and constructed (B) sensor.
Sensor components and costs at time of writing. Total ~£155, not inclusive of battery or PCB due to price variability. *Sold as part of a multipack. **Our cost was £10 per PCB. Commercial PCB production companies may cost more (£10 up to ~£50 per PCB dependent on quantity).
| # | Component | Quantity | Cost per unit (GBP) | Source of materials |
|---|---|---|---|---|
| 1 | Arduino Uno 3 | 1 | £19.73 | RS Components Stock No. 715–4081 |
| Senseair CO2 Engine K30 NDIR sensor | 1 | £75 | senseair.com/products/flexibility-counts/k30/ | |
| 3 | Adafruit MicroSD card breakout board+ | 1 | £8 | adafruit.com/product/254 |
| 4 | Adafruit MPL3115A2 I2C Barometric Pressure/Altitude/Temperature Sensor | 1 | £10 | adafruit.com/product/1893 |
| 5 | Adafruit DS3231 Precision Real Time Clock | 1 | £12 | adafruit.com/product/3013 |
| 6 | Tactile Push Button | 1 | £0.24* | RS Components Stock No. 103–4414 |
| 7 | Custom Printed Circuit Board (PCB) | 1 | Variable** | See |
| 8 | CR1220 3 V battery | 1 | £1.10 | RS Components Stock No. 866–0653 |
| 9 | MicroSD flash card | 1 | £5.14 | RS Components Stock No. 695–7334 |
| 10 | USB A male to B male cable, 0.5 m | 1 | £1.99 | RS Components Stock No.186–2798 |
| 11 | 2.54 mm pitch, 1 row, 10 + contacts, straight pin headers (to be broken into shorter lengths) | 8 | £0.67* | RS Components Stock No. 681–3004 |
| 12 | 2.54 mm pitch, 1 row, 8 contacts, straight PCB socket | 3 | £1.27* | RS Components Stock No. 605–8819 |
| 13 | 2.54 mm pitch, 1 row, 5 contacts, straight PCB socket | 1 | £0.80* | RS Components Stock No. 681–6823 |
| 14 | 2.54 mm pitch, 1 row, 2 contacts, straight PCB socket | 1 | £0.28* | RS Components Stock No. 251–8171 |
| 15 | M2, 16 mm length screws | 6 | £0.07* | RS Components Stock No. 291–307 |
| 16 | M2 hexagon nuts | 18 | £0.07* | RS Components Stock No. 528–126 |
| 17 | 51 kΩ resistor | 1 | £0.13* | RS Components Stock No.148–900 |
| 18 | 10 kΩ resistor | 1 | £0.13* | RS Components Stock No. 707–8300 |
Fig. 2Circuit connection diagram for all components to the Arduino Uno, additional resistors and PCB not shown. Socket names as printed on boards. Lines indicate where and how components are connected, dots over lines indicate a node where connections between different lines are made. Connection to the ground plane of the PCB is shown by three short horizontal lines; these could alternatively be connected to the ground pins on the Arduino (‘GND’) during testing or if the PCB is not used.
Design Files Summary.
| Design file name | File type | Open source license | Location of the file |
|---|---|---|---|
| CO2_Sensor_PCB | PCB desgins as .rar file | CC-By Attribution 4.0 International. | Available for download at |
| CO2_Sensor_Schematic | PCB designs as .pdf file | CC-By Attribution 4.0 International. | Available for download at |
| Code_Basic | Arduino IDE code as .ino file | CC-By Attribution 4.0 International. | Available for download at |
| Code_LCD_Screen | Arduino IDE code as .ino file | CC-By Attribution 4.0 International. | Available for download at |
| Code_2_wire_respons | Arduino IDE code as .ino file | CC-By Attribution 4.0 International. | Available for download at |
Fig. 3Setup for the use of the sensor to monitor CO2 evasion from water surfaces. Not to scale.
Data outputs and units in the order they appear in the .txt output file once imported into Excel. Column titles will not appear in the document.
| Button push | Pressure | Altitude | Temperature | CO2 | Month | Day | Hour | Minute | Second |
|---|---|---|---|---|---|---|---|---|---|
| Number | kPascals | metres | °C | ppm | 1–12 | 1–31 | 0–23 | 0–59 | 0–59 |
Fig. 4A-C: Pre-calibration CO2 concentration readings from K30 sensors 1 (A) compared to the IRGA, and K30 sensors 2 (B), 3 (C), and 4 (D) compared to the UGGA up to CO2 concentrations ≤5000 ppm. Dotted line is 1:1, shaded area is the manufacturer stated accuracy of ± 3% of reading.
Linear regression models and outputs for each sensor using CO2 concentrations ≤5000 ppm. ‘K’ is the CO2 concentration recorded by the K30 sensor. Sensor 1 tested against IRGA, sensors 2–4 tested against UGGA.
| Sensor | Regression equation | R2 | RMSE | |
|---|---|---|---|---|
| 1 | CO2 = 9.13 + (0.938 × | 0.996 | 44.51 | 1178 |
| 2 | CO2 = 29.16 + (0.965 × | >0.999 | 9.07 | 7852 |
| 2 – recalibrated | CO2 = 36.83 + (0.982 × | 0.993 | 34.1 | 920 |
| 3 | CO2 = 18.64 + (0.978 × | >0.999 | 12.67 | 22,026 |
| 3 – recalibrated | CO2 = 17.02 + (1.022 × | 0.980 | 62.7 | 919 |
| 4 | CO2 = 29.19 + (0.978 × | 0.991 | 72.14 | 876 |
Fig. 5Field measured carbon evasion rates (y1) at four sites of varying elevation (line, y2) and location downstream. Circles: 30/03/18. Squares: 23/05/18. Crosses: 05/02/19.