Skip to content

Hardware Platforms

enriquezgarc edited this page Jul 6, 2021 · 2 revisions

Summary - Quick Links

Supported Sensors Supported MCU Platforms
PAS CO2 Sensor S2Go Verified MCU Boards
PAS CO2 Sensor Stand-alone
Other MCU Platforms

Supported Sensor Boards

PAS CO2 Sensor Shield2Go

More information about the PAS CO2 Sensor Shield2Go

PAS CO2 Miniboard

More information about the PAS CO2 Miniboard

PAS CO2 Sensor Stand-alone

The library has been designed to support a complete software control of the sensor hardware interfaces.

The essential UART, I2C, PWM and Interrupt interfaces are commonly directly connected (with the proper hardware interface circuitry) to the microcontroller. The rest of the configuration and power pins will usually be fixed by the hardware system design.

In this library, the possibility to control these interfaces by software from the controller is provided. The hardware must be configured conveniently between sensor and controller if the software control of such interfaces is required.

Software Controlled Power

In order to enable/disable the 12V emitter or/and the 3.3V logic circuit power supplies, an electrically equivalent circuit to the switched option (1) of the diagram below needs to be implemented.

Serial Interface Software Controlled Selection

PSEL decides the serial protocol to be enabled in the sensor: I2C or UART. For I2C, the pin must to be pulled to ground. If UART is desired, PSEL needs to be connected to VDD.

In order to be able to control it by software, the following circuit configurations are suggested.

A pull-up will by default configure the sensor serial interface to UART if no software control instance is provided in the library. While a pull-down resistor will by default set the serial interface to I2C.

During the sensor initialization, the software will automatically set the appropriate value of PSEL depending on the higher level API serial interface selection.

TX and SDA Shared Pin ⚠️

Please, be aware that the TX and SDA are the same pin in the PAS CO2 sensor module. The I2C requires pull-ups in the SDA and SCL lines to work. While the UART lines usually do not require it. It should still be fully functional with that pull-up resistor, and that will allow the serial interface to be selectable via software. But keep into considerations the limitations of the serial physical interfaces of your hardware and MCU ports capabilities and configuration options.

Run-time Configurability Limitations ⚠️

One remark which is important here is that selection of serial interface (through PSEL) is configured and fixed during the sensor power-up (or power-on reset). Therefore, the PSEL voltage level needs to be set to its desired value before VDD3.3 is enabled.

Consequently, if no VDD3.3 software controllable instance is available to the library, the sensor logic will be typically powered up when the main hardware system is powered up. If no other mechanism to avoid this is implemented, the sensor software initialization on the microcontroller will occur after the sensor is powered up. And the PSEL value defining the sensor configuration will have been already taken from that available during the sensor power-up event.

Thus, in the absence of VDD3.3 software controllable implementation, PSEL is actually not software controllable by the library (even if the PSEL GPIO interface is provided).

The developer must be aware of the imposed hardware configuration, and therefore use from the library the adequate interfaces. For example, if PSEL is hardwired to GND, any attempt of using the UART communication between sensor and controller will be futile, and end up in an interface error.

PWM Software Controlled Enablement

PWM_EN enables or disables the PWM output of the sensor. In order to be able to control it by software, the following circuit configurations are suggested:

A pull-up will by default disable the PWM output if no software control instance is provided in the library. While a pull-down resistor will by default enable the PWM output.

In principle, this output type will be used in the absence of a serial interface. Nevertheless, the sensor and the core library supports keeping both interfaces enabled. For the core library API, the getCO2() function will always opt for serial retrieval of the CO2 concentration value if the serial interface is available.

More information about the PAS CO2 Sensor Stand-alone module

Supported MCU Platforms

Verified MCU Boards

The library examples have been built and successfully executed on the following hardware platforms:

MCU Platforms
XMC 2Go
XMC4700 Relax Kit for 5V Shields

Shield2Go Adapter for Uno Boards

The Shield2Go form factor is designed to be stacked directly into the XMC 2Go microcontroller board. The MyIoT Adapter Shield can be used to attach the Shield2Go with any Arduino UNO hardware compatible boards.

Check the Quick Start Guide for the complete information and pinout diagram of the MyIoT adapter.

Other MCU platforms

The library is developed for easy portability to any general purpose microcontroller platforms. The supported software frameworks already allow the usage of multiple microcontroller evaluation boards.

If still not supported, please check the Porting Guide to integrate the library in your custom software framework and hardware platform.