CO2 Sensor App: monitor CO2 concentration, air pressure and air temperature using the Raspberry Pi

Using this CO2 Sensor App, you can read an EE895 CO2 sensor connected to the Raspberry Pi using I2C. We (pi3g e.K.) offer a plug & play EE895 CO2 Sensor breakout module, which you can connect directly to the Raspberry Pi header.

Three different measurement values are supported:

  • air pressure
  • air temperature
  • CO2 concentration (in ppm)

The app has three different views, allowing you to visualize the data the way you want:

Installation and Setup

Power your Raspberry Pi off, and connect the EE895 module. Refer to your vendor’s instructions how to do this.

Note: the EE895 also supports UART operation. This app only supports I2C operation, however.

Power your Raspberry Pi back on. By this time, hopefully PiCockpit is already installed. You do not need to install any software besides PiCockpit for this app to work. (You’re welcome :-))

Open the CO2 Sensor app, and click on the Setup button:

Waiting for data as the sensor is still disabled

Enable the EE895 sensor by clicking on the “enable sensor” toggle.

Note: the EE895 supports only one I2C address for the simple mode which we are using, therefore you will not be able to change it.

If the sensor can be reached, the message below should update to “Data received: …” with a timestamp of the most recent data packet received.

Note: data packets will be sent every second, but the sensor itself (by default) measures ~ every 12 secs. Therefore, data will update gradually – please be patient.

The Data received shows that the sensor is connected correctly

reset all settings

This button will allow you to reset the settings to factory default settings.

Show Linechart

CO2 values being shown in the linechart

Use the “show me” buttons to select the measured value you would like to see.

Use the search to focus on just the values you are interested in:

Start typing part of the measurand name to narrow down the view

The elements at the bottom and right next to the chart allow you to drill down into particular data areas and value areas which you are interested in. They are great to zoom into a chart:

going deeper into the data with the zoom view, to show little fluctuations of CO2 values

Note that the historical data values will only be preserved in your web browser while the app is open. Once you navigate away, or close the tab, the data will be lost.

Gauge View

In the Gauge view, you will get beautiful gauges to display the current values. Here you can monitor the following values:

  • air temperature (in °C)
  • air pressure (in hPa)
  • CO2 concentration (in ppm)

The gauge view also contains a table with the data at the bottom.

Table View

For the purists among us, who like their data being presented in tabular fashion, the table view offers just the right fit:

Table view shows just the table

You can use the search feature to narrow down the view to just the items you’re interested in:

Start typing part of the measurand name to narrow down the view


Does this app also support the Winsen MH-Z19C? Or the Winsen MH-Z19B?

No, currently only the EE895 is supported. If you would like to see support for other sensors, please contact us and let us know.

Where can I obtain the EE895?

We (pi3g) provide an EE895 breakout board which is designed for plug & play attachment on the Raspberry Pi GPIO header. The EE895 has a big advantage: it does not need to be calibrated with fresh air every day / week! It’s a high quality sensor by an Austrian company, E+E Electronics.