For the complete documentation index, see llms.txt. This page is also available as Markdown.

X-NODE / XN21 - BME690 Environmental AI Sensor

X-NODE Environmental AI (BME690) is a module that integrates Bosch’s BME690 AI-enabled gas sensor, capable of measuring volatile organic compounds (VOCs), volatile sulfur compounds (VSCs), barometric pressure, relative humidity, and ambient temperature, with a current consumption as low as 50 µA in ultra-low-power mode.

It is ideal for integration into portable devices or for indoor and outdoor air quality monitoring, as well as applications such as automatic air exchange systems, smart ventilation systems, and similar use cases.

TABLE OF CONTENTS

I. How does it work?

X-NODE Environmental AI (BME690) module features a microcontroller, allowing users to obtain sensor data without requiring advanced hardware knowledge. Data can be accessed by sending a series of ASCII commands through UART. I2C or SPI communication protocols are also supported, making this module compatible with any system based on microcontrollers, microprocessors, or industrial equipment.

The sensor is capable of measuring barometric pressure, relative humidity, ambient temperature, and gas resistance. This information can be used* to estimate indoor air quality (IAQ) and to detect volatile organic compounds (VOCs), volatile sulfur compounds (VSCs), and gases such as carbon monoxide and hydrogen.

X-NODE Environmental AI (BME690) is compatible with the mikroBUS™ standard from Mikroe® for easy use with a wide ecosystem of hardware development kits. It also features JST connectors compatible with the Qwiic® standard from SparkFun® for quick and easy I2C communication between multiple modules and development boards.

II. Layout

  1. JST connectors compatible with Qwiic®

  2. Hardware controller

  3. UART <> I2C communication ports

  4. X-NODE model

  5. X-NODE type

  6. I2C address selection jumper (open = 0x77, closed = 0x76)

  7. I2C / SPI protocol selection jumpers (when using SPI, the hardware controller is not available)

  8. SPI Chip Select enable jumper (CS1 <> CS2)

  9. mikroBUS™ standard connectors

  10. UPDI programming enable jumper for the microcontroller

  11. Hardware version: R1

  12. Main component on the X-NODE

III. Specification

Tags

Gas sensor, environmental monitoring, air quality

Applications

Indoor and outdoor air quality monitoring, automatic air exchange systems, smart ventilation systems, integration into battery-powered portable devices, as well as Internet of Things (IoT), Industry 4.0, and Smart Home applications.

Module

Manufacturer

Features

Measurement of volatile organic compounds (VOCs), volatile sulfur compounds (VSCs), barometric pressure from 300 to 1100 hPa, relative humidity from 0 to 100%, ambient temperature from -40 to 85 °C, and ultra-low-power consumption mode of 50 µA.

Interface

UART, I2C

Compatibility

Size

41 x 25.4 x 20.5 mm

Voltage

3.3 V

For complete technical information, you can download the manufacturer's specifications at the following link: BME690

IV. Pinout

This table shows how the pinout on X-NODE Environmental AI (BME690) corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

V. Usage

For quick and easy use of the X-NODE, it can be operated through ASCII commands provided by the integrated hardware controller via UART serial communication, or natively through I2C and SPI protocols.

UART Protocol

Configuration

  • Baud rate: 115,200 bps

  • Parity: None

  • Data bits: 8

  • Stop bits: 1

Syntax

The UART protocol allows sending instructions in plain ASCII text. Each instruction consists of the X-NODE identifier, a command, and an end-of-line.

Identifier

The ID identifier is made up of the X-NODE model, which can be found at point 5 in the Hardware description section, and is complemented by an index, which can be a letter from A to Z, by default is A.

XN04_X-NODE

Command list

XN21A?

Checks if communication was established successfully.

Response: OK

XN21A+V

Gets the current firmware version integrated in the X-NODE.

Response: XN21A=Version_FW.Revision_HW Example: XN21A=0.1.0.R01

XN21A+ID=(A-Z)

Changes the ID index to a different uppercase letter from A to Z. Once changed, you must use the new ID to change it again.

Response: OK Example: XN21C+ID=H

XN21A+GT

Gets the temperature value from the sensor. Returns the final value in °C with two decimals.

Response: XN21A=VAL Example: XN21A=24.36

XN21A+GH

Gets the humidity value from the sensor. Returns a relative humidity (%) value.

Response: XN21A=VAL Example: X214A=68.14

XN21A+GP

Gets the barometric pressure value from the sensor. Returns the final value in hPa with two decimal places.

Response: XN21A=VAL Example: XN21A=778.40

XN21A+GR

Gets the gas resistance value from the sensor*. Returns the ambient resistance value in kOhms.

Response: XN21A=VAL Example: XN21A=38.72

Advanced commands

XN21A+SLP

Enables the device’s deep sleep mode to reduce power consumption and disable the UART driver. If the UPDI jumper is enabled, the device can exit deep sleep mode by writing a logic low (0) to the CS1 pin.

Response: OK

Example: XN21A+SLP

XN21A+RST

Restarts the device; the sensor will be reconfigured with the following parameters:

Oversampling THP = 16X

Heater (°C/ms) = 350 / 150

Response: OK Example: XN21A+RST

UART Example Arduino Framework

Example code for the XC01 - R5. Please refer to the manual for instructions on how to use our XC01 - R5 with Arduino IDE / PlatformIO.

I2C & SPI Protocol

To establish communication with the X-NODE Environmental AI (BME690), it must be done natively with the integrated sensor, using the manufacturer’s technical documentation as a reference. You can find the part number on the back of the X-NODE (see point 13 in the “Layout” section), as well as jumpers for changing the I2C address, selecting the SPI Chip Select pin, and switching between I2C and SPI protocols.

You can download the manufacturer’s technical documentation at the following link.

VI. Downloads

Last updated