Literature DB >> 35498252

Low cost CO2 sensing: A simple microcontroller approach with calibration and field use.

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.
© 2020 The Authors.

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


Hardware in context

As a greenhouse gas and key component of biological and environmental processes, gaseous CO2 concentrations require monitoring at variable spatial and temporal scales. For example, understanding landscape scale CO2 processing may need spatially distributed measurements over long timescales, while equilibrium control in greenhouses may need frequent and localised monitoring for the purpose of a wider research design. These two scenarios represent extremes of CO2 monitoring campaigns but exemplify the challenges associated with finding CO2 monitoring equipment that meets the needs of the research and researcher. Monitoring campaigns require financial investment that may not be available to all researchers, especially if multiple commercial data loggers are needed. Alternative cheaper equipment may not be suitable for the research design due to monitoring interval, data storage capacity, accuracy and precision, or portability. In this context we present the fully replicable designs and code for a microcontroller-based CO2 data logger. Single-board microcontrollers are credit-card sized computers that allow the user to customize functionality through code and add-on components. Gaseous CO2 can be accurately measured using non-dispersive infrared (NDIR) technology in sensors small enough for use with microcontrollers, allowing users to combine the utility and increasing popularity of microcontrollers with the need to monitor CO2. Single or dual band NDIR sensors are able to respond to concentration changes of a single gas while alternative sensors may use the change in the electrical resistance of a membrane to monitor concentrations of multiple gases, although using this method to monitor solely CO2 is likely to create noisy data due to the confounding effect of other gases such as carbon monoxide or methane. There has been some development of low-cost CO2 data loggers by other teams using microcontrollers and NDIR sensors [2], [5], [7], [3] that demonstrate their accuracy and usefulness. These articles used temporary breadboard connections to connect components and while breadboards have the advantage of allowing multiple different designs to be created and parts easily reused, they are more prone to being physically dislodged or incorrectly setup by novice users. We chose to use a custom printed circuit board (PCB) to connect a low-cost NDIR CO2 sensor and other components in a semi-permanent modular design based around an Arduino Uno, costing approximately £155 in total. Using a PCB allows very rapid creation of multiple identical data loggers that can be easily deployed. These data loggers are physically robust and contain very large data storage capacity therefore allowing them to be deployed for extended periods of time without needing user intervention. After calibration, we use the data logger in a pilot study to measure CO2 flux from a peatland stream in the Peak District, UK. Peatlands are carbon-rich environments that can contribute substantial volumes of CO2 to the atmosphere due to ongoing terrestrial degradation. Our specific interests are in peatland carbon budgets, and the use of these cheaper sensors allows the capture of landscape spatial (e.g. vegetation cover, erosion severity) and temporal (e.g. seasonal, diurnal) variability in CO2 flux. Additionally, a greater number of intra-measurement data points allows carbon flux rates to be more accurately measured and tested for linearity before use in respiration and photosynthesis models. We encourage other research teams to use and adapt this design for a range of purposes and research questions beyond carbon processing in peatlands.

Hardware description

The purpose of this work was to create a low-cost CO2 sensor for environmental monitoring, based around a single-board microcontroller that can offer an alternative to commercial CO2 sensing equipment while still providing accurate measurements. Fixed characteristics of the design included the ability to time-stamp data, so it can be combined with datasets from other sources. Stable, portable, and high-volume power input options were essential and low power consumption of the data logger was preferred in order to improve suitability for field deployment. Extended deployment also mandated high capacity data storage. Many environmental studies co-monitor temperature and atmospheric pressure, especially in chamber-based CO2 flux measurements, so the incorporation of a barometer and temperature sensor was investigated. The projected design beyond CO2 monitoring was intentionally flexible as we anticipated the final design to be a balance of the cost and overall suitability of available components. We used an Arduino Uno microcontroller as it has 20 input/output points, and per board they comparatively inexpensive (Table S1) and small (dimensions 68.6 × 53.3 mm). The Uno has three power input options (USB, DC barrel plug, and via an input pin), they are tolerant of an unstable power supply (if power is interrupted and recovered the uploaded code will automatically restart) and the Integrated Development Environment (IDE) is free. There is also a wealth of free online resources to reference and the programming environment is clear to use so future users of the device can benefit from the simple infrastructure. The Senseair CO (‘K30′) offers a low-cost method of measuring CO2 concentrations between 0 and 5000 ppm with a stated accuracy of ± 3% of reading [9]. We considered the Sensirion SCD30 CO2 sensor, but the manufacturer-stated measurement minimum was 400 ppm and we considered it necessary to be able to monitor sub-atmospheric concentrations. Using a standalone NDIR board (as opposed to the ready-to-use products developed by Senseair or other manufactures) allowed greater control over measurement interval and the ability to tailor the functionality of the end product. The K30 sensor has been found to be both accurate and reliable [7] and there is existing grey literature (e.g. instructables.com and CO2meter.com) to support its application. It has no proprietary interface and it is able to plug directly into any microcontroller unit, making the design and augmentation of our overall data logger less complex. Single-band NDIR sensors, such as a the K30, are known to experience more drift than dual-band NDIR sensors but at the time of writing we could not find a CO2 only, standalone, dual-band sensor. The K30 is compared to two commercially available CO2 data loggers in Table S1. Three additional component boards fulfilled our requirements for this sensor and were included in the final design. The Adafruit MPL3115A2 I measures air temperature and pressure and has a fair manufacturer stated accuracy while remaining low-cost [1]. The Adafruit DS3231 Precision Real-Time Clock (RTC) has a temperature compensated quartz clock and optional coin cell battery mount to maintain clock function when power to the main board is lost (Adafruit.com). On-board MicroSD card storage was used to record data because of the potential for remote deployment when the logger may not have reliable connection to the internet. A push button counter allows the user to note e.g. the start or end of measurements or record plot number as all other measurements are continuous. All components use standard communication systems and board to board connections, the details of which can be found in the Supplementary material. Components are electronically connected using a custom PCB designed in Altium, orientated so the K30′s air-permeable membrane is unobstructed from circulating air. The MicroSD-card breakout board was mounted circuitry facing down to provide a safe-to-touch area on the sensor side of the product. Spare Arduino pinouts are accessible via two rows of solder holes on the PCB (Table S2). The final data logger design is modular (Fig. 1) whereby components can be replaced independently.
Fig. 1

Top-down view of dismantled (A) and constructed (B) sensor.

Top-down view of dismantled (A) and constructed (B) sensor.

Design files

Two hardware files, ‘CO2_Sensor_PCB’ and ‘CO2_Sensor_Schematic’, are used for PCB production. ‘Code_Basic’ is code for monitoring CO2 concentrations. ‘Code_LCD_Screen’ is code for monitoring CO2 concentration and having temperature, time, and CO2 concentration appear on an LCD screen. ‘Code_2_wire_respons’ is code for monitoring CO2 concentration and powering a two-wire component based on a user defined CO2 concentration threshold. The three code files can be uploaded directly to an Arduino Uno. Code libraries are listed in Table S3.

Bill of materials

The materials required to produce one sensor are in Table 2. Soldering equipment also required.
Table 2

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).

#ComponentQuantityCost per unit (GBP)Source of materials
1Arduino Uno 31£19.73RS Components Stock No. 715–4081
2Senseair CO2 Engine K30 NDIR sensor1£75senseair.com/products/flexibility-counts/k30/
3Adafruit MicroSD card breakout board+1£8adafruit.com/product/254
4Adafruit MPL3115A2 I2C Barometric Pressure/Altitude/Temperature Sensor1£10adafruit.com/product/1893
5Adafruit DS3231 Precision Real Time Clock1£12adafruit.com/product/3013
6Tactile Push Button1£0.24*RS Components Stock No. 103–4414
7Custom Printed Circuit Board (PCB)1Variable**See Table 1
8CR1220 3 V battery1£1.10RS Components Stock No. 866–0653
9MicroSD flash card1£5.14

RS Components Stock No. 695–7334

10USB A male to B male cable, 0.5 m1£1.99RS Components Stock No.186–2798
112.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

122.54 mm pitch, 1 row, 8 contacts, straight PCB socket3£1.27*

RS Components Stock No. 605–8819

132.54 mm pitch, 1 row, 5 contacts, straight PCB socket1£0.80*

RS Components Stock No. 681–6823

142.54 mm pitch, 1 row, 2 contacts, straight PCB socket1£0.28*

RS Components Stock No. 251–8171

15M2, 16 mm length screws6£0.07*

RS Components Stock No. 291–307

16M2 hexagon nuts18£0.07*

RS Components Stock No. 528–126

1751 kΩ resistor1£0.13*RS Components Stock No.148–900
1810 kΩ resistor1£0.13*RS Components Stock No. 707–8300

Build instructions

Assembly uses standard through-hole soldering techniques. Step-by-step build instructions to construct the data logger can be found in the Supplementary material. Circuit connections are shown in Fig. 2.
Fig. 2

Circuit 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.

Circuit 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.

Additional components

Various additional components can be attached and powered by the data logger using the two rows of spare pinouts on the PCB (Table S2). We have provided code to support the attachment of two-wire components and an LCD screen that displays real-time CO2 concentration (Table 1). Many LCD screens use multiple digital pins for their function, which are not accessible with the current sensor design however we found the Arduino LCD screen with Serial Backpack to be suitable.
Table 1

Design Files Summary.

Design file nameFile typeOpen source licenseLocation of the file
CO2_Sensor_PCBPCB desgins as .rar fileCC-By Attribution 4.0 International.Available for download at https://doi.org/10.17605/OSF.IO/YX4JZ
CO2_Sensor_SchematicPCB designs as .pdf fileCC-By Attribution 4.0 International.Available for download at https://doi.org/10.17605/OSF.IO/YX4JZ
Code_BasicArduino IDE code as .ino fileCC-By Attribution 4.0 International.Available for download at https://doi.org/10.17605/OSF.IO/YX4JZ
Code_LCD_ScreenArduino IDE code as .ino fileCC-By Attribution 4.0 International.Available for download at https://doi.org/10.17605/OSF.IO/YX4JZ
Code_2_wire_responsArduino IDE code as .ino fileCC-By Attribution 4.0 International.Available for download at https://doi.org/10.17605/OSF.IO/YX4JZ
Design Files Summary. 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). RS Components Stock No. 695–7334 RS Components Stock No. 681–3004 RS Components Stock No. 605–8819 RS Components Stock No. 681–6823 RS Components Stock No. 251–8171 RS Components Stock No. 291–307 RS Components Stock No. 528–126

Chamber based measurements

The data logger can also be housed inside gas assimilation chambers to monitor CO2 fluxes from landscapes. If it is not practical to house the sensor inside gas assimilation chamber, the sensor can be housed separately and attached via gas impermeable tubing to the assimilation chamber. In comparable commercial products, an air fan or pump is included to circulate air between these two chambers. Two-wire air pumps can be used to replicate this functionality and powered by the sensor or an external power source. To monitor CO2 flux from water surfaces, the sensor can be housed inside a covered plastic box to act as a gas assimilation chamber which can be made buoyant by the attachment of foam floats (e.g. Fig. 3). A USB battery pack can be secured to the top of the chamber to power the sensor. As long as the lower edge of the chamber remains below the water line, it will be sealed and the rate of CO2 evasion from the water surface can be monitored. MG Chemicals Silicone Modified Conformal Coating can be used to protect the sensor from condensation during monitoring, taking care to avoid coating the air-permeable membrane on the K30, the MPL3115A2 micro electro mechanical (MEMS) pressure sensor chip (functionality relies on free access to the surrounding atmosphere), or any in-use electrical connection points on the PCB. The sensor can also be housed in an additional small box inside the floatation chamber to protect it from splashing if the water is turbulent.
Fig. 3

Setup for the use of the sensor to monitor CO2 evasion from water surfaces. Not to scale.

Setup for the use of the sensor to monitor CO2 evasion from water surfaces. Not to scale.

Operation instructions

All code can be used in the Arduino Integrated Development Environment (IDE) without requiring editing. The default recording interval is ten seconds, beginning at zero seconds in a real-time minute, and the code is annotated to allow users to change this interval. A red flashing light on the K30 indicates functioning and the code includes the ability to view all outputs in real time in the Arduino IDE serial monitor. The K30 sensors have a recommended one-minute warm up time, for this reason the default code does not to put the Arduino in ‘sleep’ mode in between recording. Data is recorded as a .txt file which can be directly imported into Microsoft Excel (or equivalent) as a comma delimited spreadsheet with data in the order shown in Table 3. Data storage capacity is vast with twelve hours of 10-second interval data (4323 records) taking up 168 KB of disk space. Measured power consumption ranges from 70 mA to 220 mA during maximum power draw.
Table 3

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 pushPressureAltitudeTemperatureCO2MonthDayHourMinuteSecond
NumberkPascalsmetres°Cppm1–121–310–230–590–59
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. In order for the code to function users will need to download and include the code libraries given in Table S3. To set the correct time on the RTC once the coin cell battery is inserted, use the example sketch ‘DS3231′ included in the ‘RTClib’ library before uploading the code described above. The MicroSD card format must be FAT/FAT32 when using this MicroSD breakout board.

Validation and characterization

Calibration

Four K30 CO2 sensors were tested for accuracy and precision against a PP-Systems EGM-4 Infrared Gas Analyser (IRGA) and a Los Gatos Ultraportable Greenhouse Gas Analyser (UGGA) under ambient and artificially changed CO2 conditions. K30 sensors were tested against these two commercial options because they are respectively mid- and high- cost CO2 sensors often used in environmental monitoring. A comparison between the functionality of the three sensors is shown in Table S1. Calibration was performed by creating a simple ‘leaky chamber’ connected to the IRGA/UGGA which the K30 device could be placed in. Breathing into this chamber created an artificially raised CO2 concentration which gradually fell, exposing the K30 and commercial sensors to steadily lowering CO2 concentrations. Soda lime was used to create artificially low CO2 concentrations in a sealed chamber. The IRGA has a minimum recording interval of one minute so one-minute averaged K30 data was used for calibration as it was unknown exactly when in a real-time minute the IRGA recorded CO2 concentration. The UGGA can record at a one second interval minimum and simultaneous UGGA and K30 measurements at 10 s intervals were compared. Calibration models were created using linear regression analysis to test for accuracy and precision of the data returned from the K30, compared to the IRGA and UGGA. We did not force regression equations through zero as we did not assume a linear response below the minimum calibration value of 255 ppm, although future calibrations could test for continued linearity. The manufacturer-stated maximum accurate monitoring level of the K30 is 5000 ppm and any data measured above this value was removed, although accuracy up to 10,000 ppm has been recorded using K30 sensors [7]. Sporadically across the calibration datasets (n = 31,932), 158 CO2 concentration returned values were recorded as between −200 and −300 ppm, likely due to an inconsistent power supply as the operating voltage is strictly 5 V, and these data were removed from analysis. It was noted that diffusion dependent K30s do not respond to quickly changing CO2 concentrations (±200 ppm/s) as fast as the fan or pump equipped IRGA and the UGGA. This caused some divergences in the calibration data, primarily during times of researcher interaction with the sensor and these data were removed from calibration analysis. In highly dynamic CO2 environments, or between plot/point measurements it would be prudent to include a ‘flushing’ time or incorporate a fan or pump to assist with air circulation although this will result in greater power demand. All K30 sensors demonstrate systematic error, with larger magnitude of error at >3000 ppm concentrations, compared to the values measured by the IRGA and the UGGA (Fig. 4). Linear calibration models of the K30 data demonstrate R2 values of >0.99 (Table 3) making these data loggers a suitable low-cost alternative to commercially available CO2 loggers for most environmental monitoring studies. At values <1000 ppm, the K30 sensors show a strong linear response to CO2 concentration and for users monitoring within the atmospheric to 1000 ppm range, performing a two-point calibration using gas standards, as opposed to scientific grade CO2 sensors, may be a cheaper option. A greater number of calibration data points reduced the error of the regression but did not considerably improve the R2 of the equation (Table 3) and a quicker calibration with fewer data points may be optimal in some cases. When calibration tests were repeated after a year of intermittent use, K30 sensors 2 and 3 had drifted from their initial calibration response (Table 4). For this reason, we recommend performing recalibration after every few months of continuous use. While the commercial sensors we tested against do not require as frequent recalibration, it often needs to be done by the supplier and therefore checking the equipment for accuracy is more expensive and time consuming. Any repairs that need to be done may also need to be performed by the supplier, whereas the designs presented here could be repaired quickly by the research team themselves.
Fig. 4

A-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.

Table 4

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.

SensorRegression equationR2RMSEn
1CO2 = 9.13 + (0.938 × K)0.99644.511178
2CO2 = 29.16 + (0.965 × K)>0.9999.077852
2 – recalibratedCO2 = 36.83 + (0.982 × K)0.99334.1920
3CO2 = 18.64 + (0.978 × K)>0.99912.6722,026
3 – recalibratedCO2 = 17.02 + (1.022 × K)0.98062.7919
4CO2 = 29.19 + (0.978 × K)0.99172.14876
A-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.

Pilot field application

The sensor was used to monitor CO2 evasion rates from a peatland stream using a floating chamber (Fig. 3). Upper North Grain (UNG, coordinates in decimal degrees: 53.4329, −1.85003) is a small peatland catchment in the Peak District National Park, UK, that experiences moderate peatland erosion and has well understood hydrology [8]. CO2 evasion from four sites on the stream at UNG were measured on 30/03/18, 23/05/18 and 05/02/19 during daylight hours. Site 1 is the stream draining from the peat plateau. Site 2 is where this stream merges with a second stream that drains from an area without significant peat deposits. Sites 3 and 4 are downstream. Two replicate measurements at site 4 were taken on the 30/3/18, three and four replicate measurements at each site were taken on the 23/05/18 and 05/02/19 respectively. The chamber was loosely tethered to the bank to prevent it moving over the water while ensuring it remained a closed system for the measurement duration. Four minutes of stream surface evasion were recorded with a one minute ‘flushing’ time between measurements during which the chamber was upturned and exposed to the oncoming wind to aid equilibration with the atmosphere. Linear regression analysis was performed on each four-minute measurement to calculate an evasion of CO2 per hour. The CO2 flux per hour in ppm was converted to a mass of carbon lost per m2 per hour using Eq. (1). Where C is the mass of gaseous carbon released per m2 per hour (gC/m2/hr), b is the change in CO2 concentration (ppm/hr) during that measurement as calculated by linear regression, v is the headspace volume of the chamber (m3), a is the chamber area in contact with the water (m2), is a conversion factor to convert from concentration in ppm to mass of CO2 in grams, and is used to convert mass of CO2 to a mass of carbon. For the chamber we used, v is 0.003 m3 and a is 0.0272‬ m2. The pilot field data confirms peatland waters as variable sources of CO2 to the atmosphere over time and space [6], [4] and there is not a clear relationship between measurement date and CO2 evasion rate (Fig. 5). To capture this variability a large quantity of measurements would be needed, or measurements would need to be targeted in order to capture the times and places of significant CO2 evasion. In lieu of prohibitively extended field campaigns or a large number of expensive commercial sensors, the low-cost data logger used here means capturing this variability is more feasible both financially and practically.
Fig. 5

Field 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.

Field 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.

Conclusions

This article presents designs for a low-cost CO2 data logger based around an Arduino Uno microcontroller and a custom printed circuit board (PCB). The sensor is an effective low-cost alternative to commercial CO2 measurement systems, demonstrating high post-calibration precision and accuracy. Applications for this sensor are highly varied and the base design is able to be augmented with additional components or code to suit the user’s needs. We demonstrate application by measuring CO2 evasion rates of peatland streams, confirming these areas as sources of CO2 which would require extensive monitoring campaigns to capture the variability in evasion rates over space and time. The sensor design presented here is quick to assemble, accessible to novice users, and cheap. Use of a custom PCB creates a streamlined and sturdy device that is easily replicable. The proliferation of low-cost, open-source, and self-made sensors in physical sciences could allow researchers to answer novel, and previously unanswerable, questions. We encourage researchers with or without experience in this area to consider whether their equipment is the most suitable option for their research question or environment, and whether time spent designing or augmenting non-proprietary equipment would facilitate access to new areas of discovery.

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
  1 in total

1.  Evaluation and environmental correction of ambient CO2 measurements from a low-cost NDIR sensor.

Authors:  Cory R Martin; Ning Zeng; Anna Karion; Russell R Dickerson; Xinrong Ren; Bari N Turpie; Kristy J Weber
Journal:  Atmos Meas Tech       Date:  2017       Impact factor: 4.176

  1 in total
  1 in total

1.  eGreenhouse: Robotically positioned, low-cost, open-source CO2 analyzer and sensor device for greenhouse applications.

Authors:  Elad Levintal; Kenneth Lee Kang; Lars Larson; Eli Winkelman; Lloyd Nackley; Noam Weisbrod; John S Selker; Chester J Udell
Journal:  HardwareX       Date:  2021-03-26
  1 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.