Metadata-Version: 2.1
Name: micropython-scd30
Version: 0.1.0
Summary: MicroPython I2C driver for SCD30 CO2 sensor module
Home-page: https://github.com/agners/micropython-scd30
Author: Stefan Agner
Author-email: stefan@agner.ch
Maintainer: Stefan Agner
Maintainer-email: stefan@agner.ch
License: MIT
Description: # MicroPython Sensirion SCD30 CO2 Sensor Module I2C driver
        
        Sensirion SCD30 is a CO2, Humidity and Temperature sensor on a module. This is
        a I2C driver written in Python 3 for MicroPython.
        
        ## Getting Started
        
        ### Prerequisites
        
        * Sensirion SCD30 Sensor
        * MicroPython board with I2C interface
        
        ### Wiring
        
        Wire the I2C bus to the I2C bus on your MicroPython board. This is an example
        using the Pyboard D:
        
        | Pyboard       | SCD30         |
        | ------------- |---------------|
        | X15 (3V3)     | VDD           |
        | X14 (GND)     | GND           |
        | X9            | TX/SCL        |
        | X10           | RX/SDA        |
        
        ### Usage
        
        This example reads the measurements in a continous loop:
        
        ```
        import time
        from machine import I2C, Pin
        from scd30 import SCD30
        
        i2cbus = I2C(1)
        scd30 = SCD30(i2c, 0x61)
        
        while True:
            # Wait for sensor data to be ready to read (by default every 2 seconds)
            while scd30.get_status_ready() != 1:
                time.sleep_ms(200)
            scd30.read_measurement()
        ```
        
        Note that the CO2 sensor needs some time to stabilize. Therefor the sensor
        should be kept powered to achieve a reasonable measurement interval (e.g. <5
        minutes). To save power the sensors measurement inverval can be tweaked. See
        also the [Low Power Mode for SCD30](https://docs-emea.rs-online.com/webdocs/16c9/0900766b816c9dc7.pdf)
        application note.
        
        ### Calibration
        
        The CO2 sensor has two modes of calibration: FRC (Forced Recalibration) or ASC
        (Automatic Self-Calibration). This only describes the former.
        
        Essentially the sensor is already calibrated at factory. However, when setting a
        new measurement interval recalibration might be necessary. The process is to
        bring the sensor into a controlled environment (e.g. outside) and set the known
        value at that environment (e.g. 400ppm). From what I understand ASC does
        essentially the same, just assumes that the lowest values over a certain periode
        are "outside values"...
        
        Also note that the temperature sensor suffers from heating effects on the PCB.
        When the sensor operates in 2 second interval the heating is about 3°C. I
        usually run the sensor at 30 seconds interval and observed a heating of 2°C. The
        offset is subtracted from the measured temperature! To set a new offset, take
        the old offset into account!
        
        ## Built With
        
        * [MicroPython](http://micropython.org/)
        * [SCD30](https://www.sensirion.com/en/environmental-sensors/carbon-dioxide-sensors-co2/)
        - SCD30 Sensor Module (available from various suppliers)
        
        ## License
        
        This project is licensed under the MIT License - see the
        [LICENSE](LICENSE) file for details
        
        
Keywords: scd30,co2,temperature,humidity,micropython,i2c
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: Implementation :: MicroPython
Classifier: License :: OSI Approved :: MIT License
Description-Content-Type: text/markdown
