infineon XENSIVTM PAS CO2 Shield2Go User Guide

June 8, 2024
infineon

infineon XENSIVTM PAS CO2 Shield2Go

Scope and purpose

This user manual serves as a starting guide and will focus on the setup and communication of the XENSIVTM PAS CO2 Shield2Go. Main focus will be the hardware along with a quick example of how to set up communication and start basic measurement with the provided software library using the XMC 2Go, the Arduino Due and the Arduino Uno in combination with the my IoT adapter.

Intended audience
Application engineers, system engineers and makers.

Order information

  • Sales Name: SHIELD_PASCO2_SENSOR
  • SP-No : SP005569590
  • Opn : SHIELDPASCO2SENSORTOBO1

Introduction

  • The XENSIVTM PAS CO2 sensor is a real carbon dioxide (CO2) sensor in an unprecedentedly small form factor. Designed on the basis of a unique photoacoustic spectroscopy (PAS) concept, the sensor saves more than 75 percent space compared to existing commercial real CO2 sensors. Its direct ppm readings, SMD capability and simple design allow for quicker and easier integration into customers’ systems in low- and high-volume applications alike.
  • The photoacoustic principle can be traced back to over 100 years ago, first discovered by Alexander Graham Bell in 1880. The photoacoustic effect involves the formation of sound waves (pressure changes) following light absorption in a material sample. The sound signal is quantified by detectors such as microphones. In order to obtain this effect, the light intensity must vary. A PAS gas sensor is based on the principle that gases absorb light in a specific wavelength of the infrared spectrum. CO2 molecules, for example, have strong absorption in the λ = 4.2 μm wavelength.
  • The XENSIVTM PAS CO2 sensor module integrates, on the same PCB, the PAS transducer, a microcontroller for signal processing, algorithms and a MOSFET. As depicted in the block diagram, the PAS transducer includes: i) a proprietary infrared emitter with blackbody radiation, which is periodically chopped by the MOSFET; ii) a narrowband optical filter passing the CO2 specific wavelength λ = 4.2 μm, significantly improving the sensor selectivity compared to other gases, including humidity; and iii) Infineon’s high-SNR (signal-to-noise ratio) MEMS microphone XENSIVTM IM69D130, detecting the pressure changes generated by the CO2 molecules. All the components are developed and designed in-house in accordance with Infineon’s high-quality guidelines. The sensor therefore benefits from Infineon’s illustrious record of accomplishments in MEMS design and acoustic capabilities, resulting in it being best-in-class for price/performance.
  • The XENSIVTM PAS CO2 sensor is ideal for smart-home and building automation as well as various indoor air quality IoT devices such as air purifiers, thermostats, weather stations and personal assistants. The sensor enables end users to track, understand and improve the air quality surrounding them in a timely and highly energy-efficient manner.infineon-XENSIVTM-PAS-CO2-Shield2Go-FIG- \(1\)

Shield2Go platform

Infineon’s Shield2Go boards are equipped with one featured Infineon IC and provide a standardized form factor and pin layout for fast orientation. All boards come with solderless connectors allowing designers to stack the boards instead of soldering them. This makes the Shield2Go boards simple, reusable and flexible. In addition, each Shield2Go comes with a dedicated and free software library for Arduino. The Shield2Go boards are compatible with Arduino Uno with Infineon’s My IoT adapter. This combination of flexible hardware components and accompanying software speeds up the prototyping process. Engineers and makers can develop customized system solutions by freely selecting and combining Shield2Go boards in multiple ways based on their needs and  use cases. Learn more about the Shield2Go approach and the available portfolio on the dedicated product page.
https://www.infineon.com/cms/en/tools/landing/infineon-for-makers/shield-2go- my-iot/
The My IoT adapter board is also part of the evaluation environment that acts as the gateway to external hardware – such as the popular hardware platforms like Arduino, Raspberry Pi or Espressif Wi-Fi Chips -, making it possible to combine the Shield2Go boards into systems easily and flexibly. The adapter offers multiple sockets which allow free and flexible combination of various Shield2Go boards. Thereby, users do not have to care about pin allocation, level shifting or system integration.infineon-XENSIVTM-PAS-CO2-Shield2Go-
FIG- \(2\)

More and detailed information can be found on the dedicated My IoT product page.
https://www.infineon.com/cms/en/product/evaluation-boards/my-iot-adapter/

XENSIVTM PAS CO2 Shield2Go

The XENSIVTM PAS CO2 Shield2Go includes every necessary component to fully supply the XENSIVTM PAS CO2 with all the available features enabled and optimized. The necessary stable 12 V supply for the IR emitter is generated on board with a boost converter and also additionally an LDO for the 3.3 V supply is integrated on board which reduces the required supplies to a single 5 V supply. If user wants to use their own design it is possible to break apart the head which only consists of the XENSIVTM PAS CO2 module with all the pins routed out on castellated pads to easily mount the XENSIVTM PAS CO2 to the other PCBs. PWM and INT functionality is also covered in both cases. Please refer to the programming guide and register map for full detailed description and examples.
https://www.infineon.com/dgdl/Infineon- programming_guide_PAS_CO2_evaluationkit- ApplicationNotesv02_00-EN.pdf?fileId=5546d4627600a6bc0176041139e77780
<https://www.infineon.com/dgdl/Infineon-Registermap_description_PASCO2_MA2 -ApplicationNotes-v02_00-EN.pdf?fileId=5546d4627600a6bc017604238d967785

infineon-XENSIVTM-PAS-CO2-Shield2Go-FIG- \(3\)

Two communication interfaces are available. By default, the I2C interface is configured but with a simple rearrangement from the pull-up resistor R5 to pull-down resistor R6 can the UART interface be selected. To fully disable the I2C interface and the connected pull-up resistors on the SDA/Tx and SCL lines solder jumpers can be\ cut and disconnected. Figure 4 is showing the two positions the resistor can take depending on desired interface and also above the solder jumpers for isolating the pull-up resistors R8 and R9.infineon-
XENSIVTM-PAS-CO2-Shield2Go-FIG- \(4\)

Pin Symbol Type Function
1 VDD5 Power supply (5 V) 5 V step up to 12 V power supply for the IR

emitter
2| NC| NC| Not connected
3| NC| NC| Not connected
4| P11: SDA| Input/Output| I 2 C data pin (3.3 V domain)
5| P10: SCL| Input/Output| I 2 C clock pin (3.3 V domain)
6| GND| Ground| Ground
7| VDD3V3| Power supply (3.3 V)| 3.3 V digital power supply
8| P9: INT| Output| Interrupt output pin (3.3 V domain)
9| P8: PWM| Output| PWM output pin (3.3 V domain)
10| P7: TX| Input/Output| UART transmitter pin (3.3 V domain)
11| P6: RX| Input| UART receiver pin (3.3 V domain)
12| P5: RST| Input| Communication interface select input pin (3.3 V domain)1)
13| P4: GPIO1| Input| PWM disable input pin (3.3 V domain)2)
14| NC| NC| Not connected
15| NC| NC| Not connected
16| NC| NC| Not connected
17| NC| NC| Not connected

Pin descriptions of head part

Pin Symbol Type Function
1 VDD Power supply (3.3 V) 3.3 V digital power supply
2 RX Input UART receiver pin (3.3 V domain)
3 SCL Input/Output I 2 C clock pin (3.3 V domain)
4 TX_SDA Input/Output UART transmitter pin/I 2 C data pin (3.3 V

domain)
5| PWM_DIS| Input| PWM disable input pin (3.3 V domain)2)
6| GND| Ground| Ground
7| INT| Output| Interrupt output pin (3.3 V domain)
8| PSEL| Input| Communication interface select input pin (3.3 V domain)1)
9| PWM| Output| PWM output pin (3.3 V domain)
10| VDD12| Power supply (12 V)| 12 V power supply for the IR emitter

  1. High level selects UART and low level selects I2C. It is recommended to the user to hard wire the pin to VDD or GND, depending on the wanted interface.
  2. If a communication interface is used by the application, it is recommended to hard-wire pin PWM_DIS to GND.

Note : In this case the device will start in continuous mode and not idle mode which needs to be considered when changing the measurement period.
Note : PSEL and PWM_DIS are both by default connected to GND on board of XENSIVTM PAS CO2 Shield2Go

Software and library integration

Setting up Arduino IDE

  1. Install Arduino IDE. If you are new to Arduino, please download the program and install it first. https://www.arduino.cc/en/software
  2. Install the library. In the Arduino IDE, go to the menu Sketch > Include library > Manage libraries. Type pas-co2-sensor and install the library.infineon-XENSIVTM-PAS-CO2-Shield2Go-FIG- \(6\)
  3. In case of using XMC boards as microcontroller, install board package. The official Arduino boards are already available in the Arduino software, but other third-party boards as the Infineon XMC MCU based need to be explicitly included. Follow the instructions in section 3 “Quick start with XMC 2Go” to add the XMC board family to Arduin

Library overview

The core library is C based and provides a platform-independent driver for the XENSIV™ PAS CO2 sensor. It provides full access to all features of the sensor. The driver consists of 4 files.

Source code Description
xensiv_pasco2_ver.h Contains the exact version of the XENSIVTM PAS CO2 sensor
xensiv_pasco2_regs.h Contains the register definitions for interacting with

the XENSIVTM PAS CO2 sensor
xensiv_pasco2.h| Contains full functions for interacting with the XENSIVTM PAS CO2 sensor
xensiv_pasco2.c| Contains full functions for interacting with the XENSIVTM PAS CO2 sensor

Software and library integration

Full documentation and overview to the driver can be found on the GitHub.
https://github.com/Infineon/sensor-xensiv-pasco2
And the documentation with detail explanation for all macros, enumerations and functions can be found here:
https://infineon.github.io/sensor-xensiv- pasco2/html/group__group__board__libs.html
The Arduino library is using this core C driver with a C++ wrapper to follow the ecosystem design pattern so that

Arduino users find in this library what they are used to.

Source code Description
pas-co2-pal-ino.cpp Target platform-specific implementation
pas-co2-platf-ino.hpp Default board definition and selection by conditional

compiling
pas-co2-ino.hpp| Contains functions for interacting with the XENSIVTM PAS CO2 sensor adapted from the core driver
pas-co2-ino.cpp| Contains functions for interacting with the XENSIVTM PAS CO2 sensor adapted from the core driver

The Arduino library includes 6 examples which the user can modify and use as a reference

Example Description
alarm-notification Readout of the sensor CO2 concentration based on threshold

crossing and synched via hardware interrupt
device-id| Readout of the sensor devices product and revision identifiers
single-shot-mode| Readout of the sensor CO2 concentration value using single shot measurement mode
continuous-mode| Readout of the sensor CO2 concentration value using continuous measurement mode
forced-compensation| Set CO2 reference offset using forced compensation
early-notification| Readout of the sensor CO2 concentration based on early notification synched via hardware interrupt

Full documentation of the Arduino library can be found on the GitHub.
https://github.com/Infineon/arduino-pas-co2-sensor

Quick start with XMC 2Go

The XMC 2Go is designed to evaluate the capabilities of the XMC1100 Microcontroller and the powerful, free of charge tool chain DAVETM. Thanks to the standardized form factor of the XENSIVTM PAS CO2 Shield2Go it is directly compatible with the XMC 2Go and can be used easily used in combination by plugging the XENSIVTM PAS CO2 Shield2Go on top of the XMC 2Go. But one important thing to consider is that the 5 V supply for the XENSIVTM PAS CO2 Shield2Go is not provided by the XMC 2Go and therefore needs to be supplied externally.infineon-XENSIVTM-PAS-CO2-Shield2Go-FIG-
\(7\)

Topic Features
Processor XMC1100 microcontroller (ARM® Cortex™-M0 based) in a 4 x 4 mm

VQFN-24 package
Flash| 64 kB
RAM| 16 kB
Clock Generation| Internal Oscillator
Frequencies| 32 MHz CPU clock, 64 MHz Timer clock
Dimensions| 14.0 x 38.5 mm
Power Supply| from USB via Debug probe (J-Link) or 3.3V external power
Connectors| Two 8-pin header (pin pitch: 2.54 mm ≙0.1” / between rows: 10.16 mm ≙0.4”) Pin header fits to breadboard
Debugger| On-Board J-Link Debugger supports

·         Serial Wire Debug (SWD, ARM Standard)

·         Single Pin Debug (SPD)

·         UART-to-USB bridge (virtual COM)

Peripherals| Mapped to pin header X1/X2:

·         2 Channel USIC (UART, SPI, I2C, I2S, LIN)

·         6 Channel Analog to Digital Converter (12-Bit resolution)

·         External Interrupts (via ERU)

·         4 x 16-Bit Timer Others:

·         Real Time Clock

·         Random Number Generator

---|---
Others| 2 User LEDs @ P1.0 and P1.1

Quick start with XMC 2Go

More and detailed information can be found on the dedicated XMC 2Go product page.
https://www.infineon.com/cms/de/product/evaluation- boards/kit_xmc_2go_xmc1100_v1/

Step by step CO2 concentration readout exampleinfineon-XENSIVTM-PAS-CO2
-Shield2Go-FIG- \(8\)

Position Symbol Connection to the XMC 2Go
1 VDD5 Not available on XMC 2Go, 5 V power supply needs to be supplied

externally
2| NC| Not connected
3| NC| Not connected
4| P11: SDA| I 2 C data pin (3.3 V domain)
5| P10: SCL| I 2 C clock pin (3.3 V domain)
6| GND| Ground
---|---|---
7| VDD3V3| 3.3 V power supply
8| P9: INT| Digital pin D9
9| P8: PWM| Not connected (in this case)
10| P7: TX| Not connected (in this case)
11| P6: RX| Not connected (in this case)
12| P5: RST (PSEL)| Not connected (in this case)
13| P4: GPIO1 (PWM_DIS)| Not connected (in this case)
14| NC| Not connected
15| NC| Not connected
16| NC| Not connected
17| NC| Not connected

Figure 8 is just to visualize the connection because the XENSIVTM PAS CO2 Shield2Go can be simply stacked on top of the XMC 2Go via pin headers as seen in figure 9.

In order to use and program the Infineon XMC microcontrollers in the Arduino IDE, SEGGER J-Link must be installed first. Please follow the link to SEGGER J-Link and install the J-Link Software and Documentation Pack for your operating system. If you have already installed ‘DAVETM – Development Platform for XMCTM Microcontrollers’, you can skip this step as the respective drivers/programs are already installed on your system. https://www.segger.com/downloads/jlink

Quick start with XMC 2Go

Afterwards Infineon’s microcontroller boards can be added to the Arduino IDE by pasting the following URL into the ‘Additional Boards Manager URLs’ input field under File > Preferences. <https://github.com/Infineon/Assets/releases/download/current/package_infineon_index.json

infineon-XENSIVTM-PAS-CO2-Shield2Go-FIG- \(10\)

To install the boards, please navigate to Tools > Board > Boards Manager… and search for XMC. You will find options to install the board files for the microcontrollers. Click “Install” to add the boards to your Arduino IDE infineon-XENSIVTM-PAS-CO2-Shield2Go-FIG- \(11\)

Quick start with XMC 2Go

In the boards list Tools > Board, the XMC microcontroller boards are added and can be used from now on. After that make sure to select the respective board (XMC1100 XMC2Go) and COM port in the Tools dropdown menu.infineon-XENSIVTM-
PAS-CO2-Shield2Go-FIG- \(12\)

Quick start with XMC 2Go

With everything ready, one of the library examples can now be opened, uploaded and run. The library examples provided can be opened in File > Examples > pas- co2-sensor.infineon-XENSIVTM-PAS-CO2-Shield2Go-FIG-
\(13\)

Quick start with XMC 2Go

In this case the serial-periodic example is used. The user can configure the I2C frequency, measurement period and reference pressure. The sensor supports both standard-mode (100 kHz) and fast-mode (400 kHz). In case of communication issues, it is recommended to lower the frequency to the standard-mode. For the measurement period the default value is 10 s and it is recommended to not go lower than that. In this example the pressure is set to 900 hPa. For correct operation, the user shall ensure that the pressure value programmed is within the specified pressure operating range of the device. This valid range of operation is 750 hPa to 1150 hPa.infineon-XENSIVTM-PAS-CO2-Shield2Go-FIG-
\(14\)
Pressure must be set between 750 hPa and 1150 hPa

  • Remember to connect the 5 V pin prior to starting sensor
  • Ensure J-Link is installed before compilinginfineon-XENSIVTM-PAS-CO2-Shield2Go-FIG- \(15\)

Quick start with Arduino Due

infineon-XENSIVTM-PAS-CO2-Shield2Go-FIG-
\(16\)

Pinout of Arduino Due from https://content.arduino.cc/assets/Pinout- Due_latest.pdf

Position Symbol Connection to the Arduino Due
1 VDD5 5 V power supply
2 NC Not connected
3 NC Not connected
4 P11: SDA I 2 C data pin (3.3 V domain)
5 P10: SCL I 2 C clock pin (3.3 V domain)
6 GND Ground
7 VDD3V3 3.3 V power supply
8 P9: INT Digital pin D9
9 P8: PWM Not connected (in this case)
10 P7: TX Not connected (in this case)
11 P6: RX Not connected (in this case)
12 P5: RST (PSEL) Not connected (in this case)
13 P4: GPIO1 (PWM_DIS) Not connected (in this case)
14 NC Not connected
15 NC Not connected
16 NC Not connected
17 NC Not connected

Quick start with Arduino Due

Similar as with the XMC 2Go the Arduino Due board package needs to be installed first. As it is not a third-party board like the XMC 2Go, the right package “Arduino SAM Boards” (32-bit ARM® Cortex-M3) which is including the Arduino Due can be directly added with the board managerinfineon-XENSIVTM-
PAS-CO2-Shield2Go-FIG- \(17\)

Afterwards the exact same steps with selecting the right board/COM port and opening, uploading and running a library example can be done as instructed previously with the XMC 2Go

Quick start with Arduino Uno and My IoT adapter

As introduced in section 1.2 the XENSIVTM PAS CO2 Shield2Go in combination with the My IoT adapter can be simply stacked on top of the Arduino Uno via pin headers. Pin allocation, level shifting and system integration is already covered.infineon-XENSIVTM-PAS-CO2-Shield2Go-FIG-
\(18\)

Pinout of Arduino Due from https://docs.arduino.cc/hardware/uno-rev3

Afterwards the exact same steps with selecting the right board/COM port and opening, uploading and running a library example can be done as instructed previously with the XMC 2Go.
In case of any technical questions please visit our community forum and have a look if similar questions are already posted or create a new one.
https://community.infineon.com/t5/CO-sensor/bd-p/CO2Sensors

Appendix

infineon-XENSIVTM-PAS-CO2-Shield2Go-FIG-
\(19\)

Revision history

Document version Date of release Description of changes
V 1.0 01.04.2022 Creation
V 1.1 01.07.2022 Update library overview and figures, added example using My

IoT adapter
V1.2| 15.08.2022| Highlighting important notes
| |

Edition 2022-08-15 UM_2205_PL38_2206_121720 Published by Infineon Technologies AG 81726 Munich, Germany
© 2022 Infineon Technologies AG.
All Rights Reserved.
Do you have a question about this document?
Email : erratum@infineon.com

IMPORTANT NOTICE

The information contained in this user manual is given as a hint for the implementation of the product only and shall in no event be regarded as a description or warranty of a certain functionality, condition or quality of the product. Before implementation of the product, the recipient of this user manual must verify any function and other technical information given herein in the real application. Infineon Technologies hereby disclaims any and all warranties and liabilities of any kind (including without limitation warranties of noninfringement of intellectual property rights of any third party) with respect to any and all information given in this user manual.
The data contained in this document is exclusively intended for technically trained staff. It is the responsibility of customer’s technical departments to evaluate the suitability of the product for the intended application and the completeness of the product information given in this document with respect to such application.

For further information on the product, technology, delivery terms and conditions and prices please contact your nearest Infineon Technologies office (www.infineon.com).

WARNINGS

Due to technical requirements products may contain dangerous substances. For information on the types in question please contact your nearest Infineon Technologies office.

Except as otherwise explicitly approved by Infineon Technologies in a written document signed by authorized representatives of Infineon
Technologies, Infineon Technologies’ products may not be used in any applications where a failure of the product or any consequences of the use thereof can reasonably be expected to result in personal injury

Trademarks
All referenced product or service names and trademarks are the property of their respective owners.

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals