Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 280 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Enginique Docs

Loading...

Single Board Computers

Loading...

Industrial Devices

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Sensor Modules

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Extension Boards

Loading...

Connectivity Modules

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Robotics

Loading...

Environmental Monitoring

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Value-Line Devices

Loading...

Loading...

Communication Protocols

Loading...

Loading...

Loading...

Loading...

Loading...

Libraries

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Engage

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you fully use our latest technology.

Engage is the ultimate solution for versatile and powerful IoT dashboard applications. It's not just a one-size-fits-all solution. Engage boasts a sleek touchscreen interface enhanced by an advanced vector graphics accelerator, ensuring seamless and dynamic visual interactions. With extensive connectivity options and large RAM and ROM, Engage is ready to handle diverse IoT scenarios, from smart home dashboards and facility monitoring to custom smart devices. Whether integrating into existing systems or pioneering new innovative environments, Engage delivers robust performance and flexibility to meet your needs, adapting to your unique smart dashboard requirements.

Documentation Home

Welcome! You can find hardware information, installation guidelines, library manuals, examples, and troubleshooting documentation here.

Single Board Computers

Engage

Industrial Devices

EvolveEvolve 'REnergy AnalyzerR'IO: Mini PLC

Sensor Modules

Connectivity Modules

Robotics

Environmental Monitoring

Value-Line Devices

CO2 RHT Module
Environmental Module
Hall Effect Module
I2C Adapter Module
Irradiance Module
NFC Broker
Positioning Module
RTD Module
M.2 BLE 802.15.4 Module
M.2 CAT-M NB-IoT Module
M.2 Developer Module
M.2 LEO Satellite Module
M.2 LoRa Module
M.2 WiFi Module
Wheeled Robot Controller
Air Quality Sensor
Environmental Sensor
Depth Sensor
Irradiance Sensor
Mechanical Wind Sensor
Rain Gauge
Soil Sensor
Ultrasonic Wind Sensor
Sensor Carrier BLE
Sensor Carrier LoRa

Evolve 'R

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

Evolve 'R, a highly customizable module carrier, is designed with energy efficiency in mind, providing reassurance. It features sensor and extension ports for flexible device configuration. With 802.15.4 connectivity, it supports BLE, Zigbee, Thread, and Matter. An M.2 port is also available, offering connectivity options like LoRa, cellular, WiFi, and more. The device can run on any lithium battery or a solar panel, with battery charging available through USB-C and an on-board MPPT solar power harvester. This energy efficiency makes Evolve 'R a powerful choice for your remote sensing applications.

Energy Analyzer

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

Energy Analyzer is a comprehensive solution designed for precise monitoring and analysis of three-phase voltage and current. Equipped with high-accuracy components, it delivers accurate real-time readings and in-depth analysis to optimize energy usage and efficiency. The Energy Analyzer supports wired and wireless telemetry, providing flexible and convenient data transmission for various monitoring environments. Ideal for industrial facilities, commercial buildings, and energy management systems, this device ensures reliable performance and insightful energy metrics to empower better decision-making and enhance operational efficiency.

Bioacoustics Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The Bioacoustics Module is designed to capture, analyze, and interpret biological sounds from natural environments. It provides high-fidelity acoustic monitoring for research and environmental applications. By precisely recording bioacoustic events, this module supports wildlife conservation, habitat monitoring, and ecological research studies.

IMU Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

This sensor module carries ST ISM330BX, a high-performance 6-axis Inertial Measurement Unit combining a 3-axis accelerometer and a 3-axis gyroscope. It offers wide bandwidth and low noise for precise motion tracking and vibration measurement. Additionally, it features embedded AI and sensor fusion capabilities, enhancing its application in industrial environments. The ISM330BX supports Qvar sensing across three separate channels, with configurable processing and filtering options, making it an ideal choice for advanced motion & vibration detection and analysis.

M.2 BLE 802.15.4 Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The M.2 BLE 802.15.4 Module is a multi-protocol communication add-on that supports numerous wireless standards, including Bluetooth Low Energy (BLE), Zigbee, Thread, and Matter. This module seamlessly integrates with the M.2 interface, offering a compact and efficient solution for modern IoT and smart home applications. It empowers the next generation of intelligent and connected solutions.

M.2 LEO Satellite Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The M.2 LEO Satellite Module uses LoRa technology to enable communication with Low Earth Orbit (LEO) satellites. This compact M.2 module is ideal for global asset tracking, remote monitoring, and environmental sensing applications.

M.2 WiFi Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The M.2 Wi-Fi Module is an advanced connectivity solution featuring the latest Wi-Fi 7 technology. This module operates across 2.4 GHz, 5 GHz, and 6 GHz frequency bands, delivering ultra-fast, low-latency wireless communication. Designed to integrate seamlessly into devices via the M.2 interface, it offers unparalleled performance with higher data rates, enhanced efficiency, and low power consumption.

Wheeled Robot Controller

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The Wheeled Robot Controller is a powerful all-in-one solution that handles motor control, sensor integration, and connectivity for wheeled robotic systems. This universal board precisely drives robot motors, ensuring smooth and responsive movement. It reads data from multiple sensors, empowering real-time environmental awareness and instant decision-making. The controller also enables network connectivity, allowing for remote operation, and provides internal wired communication for integration within the robot’s computer. Suitable for small autonomous vehicles, delivery robots, or educational robotics projects.

Sensor Carrier BLE

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

This Value-Line Sensor Carrier Board is a cost-effective solution that delivers essential sensor functionalities without compromising quality. Tailored for projects requiring reliable telemetry at a reduced cost, this board integrates essential features, including optional temperature, humidity, light, hall effect, and motion detection, making it ideal for various applications such as smart home systems, industrial monitoring, and research projects. Despite its streamlined design, it maintains the same quality as our flagship devices. A minimum order quantity applies, and the device configuration can be customized on manufacturing for the deployment's needs.

Matter

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you fully use our latest technology

MQTT

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you fully use our latest technology

ACS71240 Current Sensor

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications that will help you fully use our latest technology.

Arduino / ESP32

Raspberry Pi OS

STM32

M.2 Developer Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The M.2 Developer Module is an essential tool for developers and engineers working with M.2 interfaces. This module simplifies access to typically hard-to-reach M.2 data pins by exposing them to user-friendly headers. It is designed to streamline the development and testing process and provides easy connectivity for signal probing, debugging, and peripheral integration.

Sensor Carrier LoRa

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

This Value-Line Sensor Carrier Board is a cost-effective solution that delivers essential sensor functionalities without compromising quality. Tailored for projects requiring reliable telemetry at a reduced cost, this board integrates essential features, including optional temperature, humidity, light, hall effect, and motion detection, making it ideal for various applications such as smart home systems, industrial monitoring, and research projects. Despite its streamlined design, it maintains the same quality as our flagship devices. A minimum order quantity applies, and the device configuration can be customized on manufacturing for the deployment's needs.

CoAP

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you fully use our latest technology

Modbus

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you fully use our latest technology

Arduino (C/C++)

Python

Arduino / ESP32

MicroPython

Go

BME280 Env Sensor

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications that will help you fully use our latest technology.

Arduino (C/C++)

This page includes BME280 Arduino/ESP32 C/C++ library installation guidelines and documentation for Arduino IDE.

MicroPython

Adrastea-I Cellular Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications that will help you fully use our latest technology.

C

I2C Adapter Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The I²C Adapter Module is a reliable solution for seamlessly integrating 5V I/O devices with your systems. This adapter has a high-speed voltage translator and 5V Voltage booster, ensuring robust communication between our 1.8V carrier boards and high-voltage external sensors, such as advanced air quality monitors. This module enhances interoperability in custom IoT applications and is ideal for expanding your system’s capabilities with diverse sensor types.

I2C Adapter Module Front View

Libraries and Samples

Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

Positioning Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The Positioning Module is a compact and powerful solution featuring an integrated miniature GPS antenna for precise geolocation capabilities. This module provides accurate real-time positioning, making it ideal for applications where space constraints and location accuracy are critical. The onboard GPS antenna ensures reliable satellite communication, enabling seamless navigation and tracking for devices in diverse environments. Whether used in asset tracking, autonomous robotics, intelligent transportation systems, or portable navigation devices, the Positioning Module offers robust and efficient geospatial data, significantly enhancing the functionality and effectiveness of your positioning solutions.

Positioning Module Front View

Libraries and Samples

Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

Presence Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The Presence Module is a cutting-edge solution utilizing miniature radar technology to detect human presence and even the slightest movements with exceptional accuracy. This module excels in various applications, including energy optimization in workspaces, enhancing security systems, ensuring elderly safety at home, and detecting trespassing. Its advanced radar technology provides reliable presence detection and motion sensing, making it ideal for optimizing energy use by activating systems only when needed, securing environments against unauthorized access, and monitoring the well-being of individuals. Moreover, its compact design and high sensitivity make it a versatile choice for transportation security, where it plays a crucial role in enhancing safety by detecting unauthorized movement within vehicles or transport facilities.

Presence Module Front View

Libraries and Samples

Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

RTD Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The RTD Module is a precise solution for temperature measurement using RTD (Resistance Temperature Detector) probes. Equipped with an advanced RTD converter, this module seamlessly reads and interprets data from 2-pin, 3-pin, or 4-pin RTD probes, ensuring accurate temperature monitoring across various applications. Whether used in industrial process control, HVAC systems, or scientific research, the RTD Module provides reliable and detailed temperature readings, supporting various RTD configurations.

RTD Module Front View

Libraries and Samples

Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

NFC Broker

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The NFC Broker Module is a versatile solution that functions as an NFC reader, writer, and emulator. This adaptability allows seamless interactions with various NFC tags and devices. Its adaptive frequency tuning circuit ensures precise and error-free operations, even in challenging environments like under displays, maintaining optimal performance. Whether for use in contactless payment systems, secure access control, data exchange applications, or smart devices, the NFC Broker Module delivers unmatched reliability and efficiency, enhancing the capabilities of your NFC-enabled solutions.

NFC Broker Board Front View

Libraries and Samples

Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

M.2 CAT-M NB-IoT Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

The M.2 CAT-M NB-IoT Module is a cutting-edge communication solution in a compact M.2 form factor, supporting CAT-M and NB-IoT connectivity plus GNSS positioning. This module offers reliable cellular connectivity and precise geolocation capabilities, making it ideal for many IoT applications, including smart metering, asset tracking, and remote monitoring. The module's support for CAT-M and NB-IoT ensures efficient wide-area network communication, while the integrated GNSS provides accurate positioning.

M.2 CAT-M NB-IoT Module Front View

Libraries and Samples

Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

Reprogramming

Even though Evolve comes pre-programmed, reprogramming it with custom firmware is possible. This document describes reprogramming the microcontroller in three steps.

If the user overwrites the flash memory, the only way to restore it is by sending the device to an authorized service center.

Prerequisites

Hall Effect Module

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

This versatile Hall-effect sensor, designed to enhance security and environmental analysis capabilities, integrates multiple sensing functionalities. These include temperature, humidity, pressure, ambient light, and infrared light readings. Primarily engineered to detect door or window openings, this module plays a critical role in security applications by instantly identifying unauthorized access. Furthermore, in pair with temperature and humidity measurements, the onboard pressure sensor accurately detects window breaks, providing an added layer of security and environmental monitoring. Most importantly, when integrated into intelligent security systems, this sensor add-on ensures comprehensive situational awareness, instilling a sense of security and enhancing the safety of your premises.

SEN5x Air Quality Sensor
Elara-I Positioning Module
BGT60TR13C Radar Sensor
MAX31865 RTD Converter
ST25R3916 NFC Device
Adrastea-I Cellular Module

Arduino (C/C++)

STM32

Arduino / ESP32

BME688 Env Sensor

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications that will help you fully use our latest technology.

Arduino / ESP32

Python

C

Python

This page includes BME280 Python library installation guidelines and documentation for Raspberry Pi OS.

MicroPython

STM32

STM32

Libraries and Samples

Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

Hall Effect Env Module Front View
TMAG5273 Hall Effect Sensor
BME280 Env Sensor
TSL2540 Light Sensor

Python

MicroPython

Go

This page includes BME280 Go library installation guidelines and documentation for Raspberry Pi OS.

BGT60TR13C Radar Sensor

We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications that will help you fully use our latest technology.

Raspberry Pi OS

  • ST-Link V2 or V3 Programmer

  • STM32 Cube Programmer Application

  • A custom 5-pin programming cable

  • Step 1: Programmer Installation

    STM32CubeProgrammer is software for flashing STM32 microcontrollers with ST-Link. Use the following link to download and install STM32CubeProgrammer from ST's website. The application supports Linux, Mac, and Windows operating systems.

    Then connect the programmer to your computer to automatically install device drivers.

    Step 2: Connecting ST-Link to Evolve

    Evolve exposes SWD programming pins for programmer and debugger connectivity. The following table reveals the connectivity between ST-Link and Evolve.

    Function
    ST-Link/V2 20-Pin Header
    Evolve Programmer Pads

    Reset (Active-low)

    15

    1 (Marked on the rear)

    SWDIO

    7

    2

    SWCLK

    9

    3

    Please note that Evolve's programming pads are 2mm pitched. You may use a single-row 5-pin PCB clamp to connect with the debugger.

    Step 3: Flashing the Microcontroller

    Connect the ST-Link with Evolve and start the STM32CubeProgrammer application to begin flashing. From the STM32CubeProgrammer,

    • Select the connected ST-Link device from the serial number drop-down.

    • Set the port to SWD.

    • Set the frequency to auto.

    • Set mode to under reset.

    • Set the access port to 0.

    • Set reset mode to hardware reset.

    • Set speed to reliable.

    • Set shared to disabled.

    • Tick debug on low power mode.

    Use the connect button to establish a link and the open file button to load the firmware file (.elf).

    If the device is readout protected, you must full-chip erase before downloading a new image to the microcontroller. After zeroing all the memory content, a full-chip erase will also clear the memory protection feature.

    To enable flash readout protection, go to the OB tab, open the readout protection section, set RDP to BB or CC, then save the settings.

    Selecting level 2 protection (CC) is permanent as it freezes the option bytes.

    Finally, use the download button to flash the microcontroller. To disconnect from the microcontroller, use the disconnect button.

    CO2 RHT Module

    This sensor module measures highly accurate CO2, relative humidity, and temperature. CO2 is a crucial indicator of indoor air quality (IAQ), as high levels compromise humans' cognitive performance and well-being. This module is compatible with relevant IAQ standards and has a high-accuracy measurement range of 400 – 5.000 ppm.

    CO2 RHT Module Front View

    Sensor Module

    We refer to sensor manufacturers' datasheets to provide the specifications. The sensor readings may differ due to application, sensor aging, storage, transportation, environmental factors, factory calibration process, etc.

    Sensirion SCD41 CO2 and RH&T Sensor

    SCD41 is Sensirion's next-generation miniature CO2 sensor. It builds on the photoacoustic NDIR sensing principle and Sensirion's patented PASens® and CMOSens® technology to offer high-accuracy CO2 readings and relative humidity and temperature measurements.

    Measurement
    Accuracy
    Min
    Max

    Libraries and Samples

    Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

    Calibration

    Most sensors came with factory calibration data embedded. Evolve's firmware reads the factory calibration data to provide accurate sensor readings. Some sensors, due to their nature, need to be calibrated periodically. This document describes entering calibration mode and resetting the calibration data to the factory settings.

    Prerequisites

    • Evolve with all the sensors attached.

    Irradiance Module

    We are currently creating documentation for our new range of devices. Please check back soon for guides and technical specifications to help you entirely use our latest technology.

    The Irradiance Module is a precision tool designed to optimize solar panel performance through detailed efficiency analysis. This module reads the current generated by a small reference solar panel and calculates the efficiency of a larger panel by extrapolating the data. Additionally, it measures the temperature of the reference solar panel to accurately calculate the power output in watts and determine the solar radiance. Ideal for applications in solar energy research, photovoltaic system monitoring, and renewable energy optimization, the Irradiance Module empowers users to fine-tune their solar installations, ensuring maximum energy harvest and efficiency.

    Access to Evolve's on-board "SET" button.

  • A fully charged battery.

  • Calibration Data

    Two kinds of calibration data exist. The first one, factory calibration data, is recorded to the sensor and not to be modified. The second one, the correction factor, is recorded in Evolve's configuration.

    The correction factor is like fine-tuning a sensor reading and helps to eliminate real-world deviations.

    It is the user's responsibility to ensure the calibration steps are applied correctly. Incorrect calibration affects sensor reading and event triggers. There is no way for the device to detect calibration process mistakes.

    Setting the Correction Factor

    The following procedure will put Evolve into calibration mode.

    For each sensor reading, previously prepare a stable lab environment. For example, 25.00°C for the temperature sensor and 50.0% RH for the humidity sensor corrections. Some sensors, like pH probes, have optional multi-point corrections. Refer to the sensor's documentation for those conditions.

    1. Disconnect the batteries and other power sources. Ensure the device is in a stable environmental state for at least one hour to stabilize. (Temperature and humidity)

    2. Prepare an environment appropriate for the calibration concerning the sensor(s) being calibrated. Refer to the sensors' calibration requirements.

    3. While pressing the "SET" button, connect a fully charged battery.

    4. After five seconds, the status LED will blink five times, indicating calibration mode entry. Release the button.

    5. Quickly click the "SET" button to calibrate the first sensor. The status LED will blink for one long time.

    6. Calibration will be made according to the current sensor's calibration requirement. After it finishes, the status LED will blink two times.

    7. If your configuration has multiple sensors that support calibration, clicking the "SET" button will proceed with the next sensor. The status LED will blink to indicate the sensor index. e.g., three long blinks mean calibrating the third sensor.

    8. When the last sensor calibration is done, the status LED continuously blinks.

    9. Disconnect the battery.

    10. You may now use the device with the applied correction factor(s).

    Disconnecting the battery during the calibration resets the correction factor and does not save any new calibration data.

    Resetting the Correction Factor

    The following procedure will reset the correction factor.

    It is impossible to retrieve the correction factor after a configuration reset.

    1. Disconnect the batteries and power sources.

    2. While pressing the "SET" button, connect a fully charged battery.

    3. After five seconds, the status LED will blink five times, indicating calibration mode entry.

    4. Release the button. Sensor calibration data will be erased.

    5. Disconnect the battery.

    6. You may now use the device with the factory settings.

    MicroPython

    This page includes BME280 MicroPython library installation guidelines and documentation.

    MicroPython

    Arduino (C/C++)

    Go

    400 ppm

    5.000 ppm

    Dew Point

    N/A

    -40°C

    40°C

    Temperature

    ± 0.8°C @ 15...35°C ± 1.5°C @ -10...60°C

    -10°C

    60°C

    Relative Humidity

    ± 6% rH @ 15 °C – 35 °C, 20 %RH – 65 %RH ± 9% rH @ -10 °C – 60 °C, 0 %RH – 100 %RH

    0% rH

    100% rH

    CO2

    SCD4x CO2 Sensor

    400 ppm ... 1000 ppm ±(50 ppm + 2.5% of reading) 1001 ppm ... 2000 ppm ±(50 ppm + 3% of reading) 2001 ppm ... 5000 ppm ±(40 ppm + 5% of reading)

    Libraries and Samples

    Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

    Irradiance Module Front View
    Irradiance Meter
    WSEN-TIDS Temperature Sensor

    C

    MicroPython

    GND

    20

    4

    VDD

    19

    5 (Do not connect if board is powered)

    Raspberry Pi OS

    Raspberry Pi OS

    Evolve

    A new version of Evolve is coming soon! Please note that the current version will be deprecated, so stay tuned for updates and details on the latest features and improvements.

    Evolve is a highly customizable, compact, energy-efficient data collection solution. It features modular sensor ports for customizing the device to specific measurement needs and an M.2 connectivity port for flexible connectivity options. In addition, the device can be powered by various sources, such as industrial batteries or a solar panel, making it a versatile choice for remote sensing applications.

    Evolve Front View

    Technical Specifications

    The following table outlines the capabilities of the device.

    Property
    Value

    Compatible Sensor Modules

    Evolve is compatible with the following sensor modules.

    Compatible Connectivity Modules

    The following connectivity options work with Evolve.

    Communication Protocols

    Evolve's stock firmware supports the following communication protocols. You can develop custom firmware to add more.

    Physical Properties

    This table shows the mechanical properties of the device.

    Property
    Value

    Environmental Conditions

    Environmental Conditions refer to the physical and atmospheric conditions surrounding the device.

    Property
    Value

    Electrical Characteristics

    This table indicates the electrical specifications of the device.

    Property
    Value

    Connectivity Options

    This table lists the communication options of the device.

    Property
    Value

    Pin Description

    This table explains the function and electrical characteristics of each pin or terminal on the device.

    Pin
    Type
    Function
    Description

    Libraries and Samples

    Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

    Depth Sensor

    This document is currently in the preliminary stage, and therefore, device specifications are subject to change without notice.

    This device measures the depth or distance of an object, liquid, or snow. It transmits data using Modbus RTU communication protocol over the RS-485 standard.

    Bottom View
    Top View
    Ice Shıeld View

    Technical Specifications

    The following table outlines the capabilities of the device.

    Property
    Value

    Sensing Specifications

    The following table shows sensor characteristics.

    Measurement
    Accuracy
    Min
    Max

    Physical Properties

    This table shows the mechanical properties of the device.

    Property
    Value

    Environmental Conditions

    Environmental Conditions refer to the physical and atmospheric conditions surrounding the device.

    Property
    Value

    Electrical Characteristics

    This table indicates the electrical specifications of the device.

    Property
    Value

    Absolute Maximum Ratings

    Absolute maximum ratings indicate the maximum electrical or environmental parameters this device can withstand without damage.

    Stresses above the absolute maximum ratings listed in the table may cause permanent damage to the device. These are stress ratings only, and the functional operation of the device under these conditions is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.

    Property
    Value

    Connectivity Options

    This table lists the communication options of the device.

    Property
    Value

    Communication Protocols

    This device supports the following communication protocols.

    Rain Gauge

    This document is currently in the preliminary stage, and therefore, device specifications are subject to change without notice.

    This device measures the precipitating rain using the tipping bucket mechanism. It transmits data using Modbus RTU communication protocol over the RS-485 standard.

    Top View
    Bottom View
    Inside View

    Technical Specifications

    The following table outlines the capabilities of the device.

    Property
    Value

    Sensing Specifications

    The following table shows sensor characteristics.

    Measurement
    Accuracy
    Min
    Max

    Physical Properties

    This table shows the mechanical properties of the device.

    Property
    Value

    Environmental Conditions

    Environmental Conditions refer to the physical and atmospheric conditions surrounding the device.

    Property
    Value

    Electrical Characteristics

    This table indicates the electrical specifications of the device.

    Property
    Value

    Absolute Maximum Ratings

    Absolute maximum ratings indicate the maximum electrical or environmental parameters this device can withstand without damage.

    Stresses above the absolute maximum ratings listed in the table may cause permanent damage to the device. These are stress ratings only, and the functional operation of the device under these conditions is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.

    Property
    Value

    Connectivity Options

    This table lists the communication options of the device.

    Property
    Value

    Communication Protocols

    This device supports the following communication protocols.

    Modbus Protocol

    This device communicates using the Modbus RTU protocol over the RS-485 standard.

    Device Address

    This device's preconfigured user-definable address is 0x13. Users can change the address using the holding registers.

    Modbus Function Codes

    The following Modbus function codes are functional with this device.

    Command Register
    Function
    Description
    Bytes

    Device Registers

    The following registers are available with this device.

    Register Type
    Register Address
    Description
    Bytes

    Communication Syntax

    Reading sensor data

    The host device can read one or more sensor data by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x04) [1 Byte] + Input register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x04) [1 Byte] + Response register length in Bytes [1 Byte] + Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Reading configuration register

    The host device can read one or more configuration registers by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x03) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x03) [1 Byte] + Response register length in Bytes [1 Byte], Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing single configuration register

    The host device can write one configuration register.

    Command from the host: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [2 Bytes MSB first] + Value to be set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [1 Byte] + Value set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing multiple configuration registers

    The host device can write multiple configuration registers.

    Command from the host: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes] + Configuration values length in Bytes [1 Byte] + Value to be set 1 [2 Bytes MSB first] + Value to be set N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [1 Byte], Value set [2 Bytes MSB first], CRC [2 Bytes MSB first]

    Environmental Module

    The sensor array can measure different environmental factors like climate, noise, ambient light, and even different smells using AI on the edge. It can also control IR devices such as air-conditioners. This combination offers flexibility and cost-effectiveness for monitoring multiple environmental conditions in various applications, including intelligent buildings, agriculture, and industrial process control.

    Sensor Array

    Environmental Sensor

    This document is currently in the preliminary stage, and therefore, device specifications are subject to change without notice.

    This device measures temperature, relative humidity, and pressure. It transmits data using Modbus RTU communication protocol over the RS-485 standard.

    Irradiance Sensor

    This document is currently in the preliminary stage, and therefore, device specifications are subject to change without notice.

    This device measures sunlight's irradiance in the manner of solar panels. It transmits data using Modbus RTU communication protocol over the RS-485 standard.

    Mechanical Wind Sensor

    This document is currently in the preliminary stage, and therefore, device specifications are subject to change without notice.

    This device measures wind speed and direction using an anemometer and wind direction arrow. It transmits data using Modbus RTU communication protocol over the RS-485 standard.

    Ultrasonic Wind Sensor

    This document is currently in the preliminary stage, and therefore, device specifications are subject to change without notice.

    This device measures wind speed and direction using ultrasonic waves. It transmits data using Modbus RTU communication protocol over the RS-485 standard.

    C

    This page includes BME280 C library installation guidelines and documentation for STM32CubeIDE.

    Installation

    Installation guidelines are coming soon.

    Library Overview

    Onboard sensors

    Ultrasonic transceivers Optional temperature sensor Optional accelerometer for 2-axis angle detection

    Memory

    Historical data for internal statistics Configuration and calibration storage

    Microcontroller

    STM32 C0 Series MCU, 32-bit ARM Cortex-M0+

    Distance

    0.5 m

    10 m

    Temperature

    ± 1°C @ 0...65°C

    -40°C

    85°C

    Mounting Style

    Screw Mount Optional arm with wall and Sigma profile mount

    Dimensions

    70d x 50h mm

    Base Material

    ASA (Acrylonitrile Styrene Acrylate) Impact, wear, and UV resistant

    Weight

    < 200g

    Operating Ambient Temperature

    -20°C…+60°C

    Relative Humidity

    0°C…+30°C: 80% +30°C…+60°C: 50%

    Storage

    -20°C…+60°C

    10%…90% rH

    Main Supply

    DC 5…24V

    RS-485

    -7…+12V (No internal termination)

    Internal Fuse

    DC 60V 6A 1206 Case Slow-burning

    Main Supply

    DC 30V

    RS-485

    -7…+12V

    RS-485

    4-Pin connectivity (Power, GND, RS-485 A, RS-485 B)

    Modbus Protocol

    Onboard sensors

    Rain bucket (Pulse) Optional accelerometer for 2-axis angle detection

    Memory

    Historical data for internal statistics Configuration and calibration storage

    Microcontroller

    STM32 C0 Series MCU, 32-bit ARM Cortex-M0+

    Rainfall

    ±0.25mm

    0.25mm

    25mm

    Mounting Style

    Screw Mount Optional arm with wall and Sigma profile mount

    Dimensions

    Main unit: 70d x 70h mm Optional rain gauge: 203mm (8-inch) standard

    Base Material

    ASA (Acrylonitrile Styrene Acrylate) Impact, wear, and UV resistant

    Weight

    < 200g

    Operating Ambient Temperature

    -20°C…+60°C

    Relative Humidity

    0°C…+30°C: 80% +30°C…+60°C: 50%

    Storage

    -20°C…+60°C

    10%…90% rH

    Main Supply

    DC 5…24V

    RS-485

    -7…+12V (No internal termination)

    Internal Fuse

    DC 60V 6A 1206 Case Slow-burning

    Main Supply

    DC 30V

    RS-485

    -7…+12V

    RS-485

    4-Pin connectivity (Power, GND, RS-485 A, RS-485 B)

    Modbus Protocol

    MicroPython

    This page includes BME280 MicroPython library installation guidelines and documentation for Arduino/ESP32.

    STM32 L4 Series ultra-low-power MCU 32-bit ARM Cortex-M4 80MHz, 256KB ROM, 64KB RAM

    Power options

    DC 3.3V-4.5V Battery input

    1-Cell Li-Ion, Li-Po, Li-FePO4, and LiSoCl2 compatible Optional Solar panel input with MPPT power harvester

    Optional USB-C Power input with battery charging

    Antenna

    On-board multiband antenna (698 - 8000 MHz) (Requires matching network adjustment according to the application)

    LEDs

    Status and optional battery charge LEDs

    User input

    Shared on-board button and expansion port button input Optional tap and double-tap detection

    0,5 g acceleration sinus 1,0 g acceleration random

    Storage

    -20°C…+60°C

    10%…90% rH

    SPI CS

    SPI active-low chip select output (1.8V)

    M-04

    Input

    IRQ Input

    Active-low interrupt input (1.8V)

    M-05

    Input

    Analog Input

    Analog Input (0-1.8V)

    M-06

    Input

    GPIO

    GPIO (1.8V)

    M-07

    Power

    +3.3V

    Supply voltage output (3.3V)

    M-08

    Power

    +1.8V

    Supply voltage output (1.8V)

    M-09

    Power

    GND

    Ground

    M-10

    Com

    SPI SCLK

    SPI Data clock output (1.8V)

    M-11

    Power

    SPI MOSI

    SPI Data output (1.8V)

    M-12

    Com

    SPI MISO

    SPI Data input (1.8V)

    P-01

    Output

    PWM

    PWM Output (1.8V) / Indicator LED shared

    P-02

    Input

    IRQ Input

    Active low Interrupt Input (1.8V) / Onboard button shared

    P-03

    Com

    I2C SDA

    I2C Serial data line (1.8V)

    P-04

    Com

    I2C SCL

    I2C Serial clock output (1.8V)

    P-05

    Power

    GND

    Ground / RFU

    P-06

    Input

    Analog Input

    Analog Input (0 - 1.8V)

    P-07

    Power

    GND

    Ground

    P-08

    Power

    +1.8V

    Supply voltage output (1.8V)

    P-09

    Power

    +3.3V

    Supply voltage output (3.3V)

    P-10

    Power

    +BAT

    Battery Input / Output (3.3V - 5.5V)

    SW-1

    SWD

    RESET

    Programmer SWD nRESET

    SW-2

    SWD

    SWDIO

    Programmer SWD SWDIO

    SW-3

    SWD

    SWCLK

    Programmer SWD SWCLK

    SW-4

    SWD

    GND

    Programmer GND

    SW-5

    SWD

    VBAT

    Programmer VCC, shared with VBAT (3.3V - 5.5V)

    PW-1

    Power

    GND

    Solar panel ground

    PW-2

    Power

    +SLR

    Solar panel input (+18V Max)

    PW-3

    Power

    +BAT

    Battery input (3.3V - 5.5V)

    PW-4

    Power

    GND

    Battery ground

    Sensor port

    12P Modular sensor port with I2C, SPI, analog, and digital pins

    Expansion port

    10P Flat cable port with I2C, analog, and digital lines

    Wireless connectivity

    M.2 Key-E Socket for type 2230-XX-E modules

    Onboard sensors

    Optional on-board accelerometer 3-Axis angle detection, vibration measurement Free-fall, tap, and double-tap detection Internal temperature measurement

    Memory

    Encrypted system configuration 2.000 point telemetry history with timestamp

    Mounting Style

    Screw-mount (PCB model) Magnetic (Enclosured model)

    Dimensions

    ∅66 x 22.5d mm

    Weight

    < 50g excluding enclosure and batteries

    Operating Ambient Temperature

    0°C…+60°C

    Relative Humidity

    0°C…+30°C: 80% +30°C…+60°C: 50%

    Pollution Degree

    PD2

    Altitude

    < 2000m AMSL

    Vibration (5 ≤ f ≤ 9 Hz)

    1,75 mm amplitude sinus 3,5 mm amplitude random

    Power Input

    DC 3.3V - 5.5V

    Sleep Current

    < 1uA

    Operating Current

    < 30 mA + Sensor and wireless module consumptions

    Low Voltage Shutdown

    Configurable from 2.5V to 3.0V

    Sensor Connector

    12P Sensor Connector: 1.8V / 3.3V Power Domain, SPI, I2C, Int, Analog In, PWM

    Expansion Port

    10P FPC Port: Battery power, 1.8V / 3.3V Power domain, I2C, Analog In, PWM (shared with on-board LED), Int (shared with onboard button)

    Connectivity Socket

    PCIe M.2 Key E Socket: 3.3V Power domain, 1.8V I/O, USART, SPI

    M-01

    Com

    I2C SDA

    I2C Serial data line (1.8V)

    M-02

    Com

    I2C SCL

    I2C Serial clock output (1.8V)

    M-03

    CO2 RHT Module
    Environmental Module
    Hall Effect Module
    I2C Adapter Module
    Irradiance Module
    Positioning Module
    Presence Module
    RTD Module
    M.2 BLE 802.15.4 Module
    M.2 CAT-M NB-IoT Module
    M.2 Developer Module
    M.2 LoRa Module
    M.2 WiFi Module
    CoAP
    LoRaWAN
    Matter
    MQTT
    LIS3DH IMU

    Microcontroller

    Vibration (9 ≤ f ≤ 150 Hz)

    Com

    Writes a single configuration parameter

    2

    0x10

    Write multiple registers

    Writes multiple configuration parameters

    2 x N

    Rainfall (10 mins)

    2

    Input Register (R)

    0x0004

    Rainfall (15 mins)

    2

    Input Register (R)

    0x0005

    Rainfall (30 mins)

    2

    Input Register (R)

    0x0006

    Rainfall (1 hr)

    2

    Input Register (R)

    0x0007

    Rainfall (24 hrs)

    2

    Input Register (R)

    0x0008

    Device Pitch (Actual)

    2

    Input Register (R)

    0x0009

    Device Roll (Actual)

    2

    Input Register (R)

    0x000A

    Device Temperature

    2

    Holding Register (R/W)

    0x0101

    Device Address

    2

    Holding Register (R/W)

    0x0102

    Baud Rate

    2

    Holding Register (R/W)

    0x0103

    IMU Correction (Pitch)

    2

    Holding Register (R/W)

    0x0104

    IMU Correction (Roll)

    2

    Holding Register (R/W)

    0x0105

    Rainfall Correction

    2

    0x03

    Read holding registers

    Returns configuration parameters

    2

    0x04

    Read input registers

    Returns measured readings and statistics

    2

    0x06

    Input Register (R)

    0x0001

    Rainfall (1 mins)

    2

    Input Register (R)

    0x0002

    Rainfall (5 mins)

    2

    Input Register (R)

    Write single register

    0x0003

    Technical Specifications

    The following table outlines the capabilities of the device.

    Property
    Value

    Onboard sensors

    Solar panel Temperature sensor Optional accelerometer for 2-axis angle detection

    Memory

    Historical data for internal statistics Configuration and calibration storage

    Microcontroller

    STM32 C0 Series MCU, 32-bit ARM Cortex-M0+

    Sensing Specifications

    The following table shows sensor characteristics.

    Measurement
    Accuracy
    Min
    Max

    Light Level

    Panel Temperature

    ± 1°C @ 0...65°C

    -40°C

    85°C

    Physical Properties

    This table shows the mechanical properties of the device.

    Property
    Value

    Mounting Style

    Screw Mount Optional arm with wall and Sigma profile mount

    Dimensions

    70w x 70d x 20h mm

    Base Material

    ASA (Acrylonitrile Styrene Acrylate) Impact, wear, and UV resistant

    Weight

    < 200g

    Environmental Conditions

    Environmental Conditions refer to the physical and atmospheric conditions surrounding the device.

    Property
    Value

    Operating Ambient Temperature

    -20°C…+60°C

    Relative Humidity

    0°C…+30°C: 80% +30°C…+60°C: 50%

    Storage

    -20°C…+60°C

    10%…90% rH

    Electrical Characteristics

    This table indicates the electrical specifications of the device.

    Property
    Value

    Main Supply

    DC 5…24V

    RS-485

    -7…+12V (No internal termination)

    Internal Fuse

    DC 60V 6A 1206 Case Slow-burning

    Absolute Maximum Ratings

    Absolute maximum ratings indicate the maximum electrical or environmental parameters this device can withstand without damage.

    Stresses above the absolute maximum ratings listed in the table may cause permanent damage to the device. These are stress ratings only, and the functional operation of the device under these conditions is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.

    Property
    Value

    Main Supply

    DC 30V

    RS-485

    -7…+12V

    Connectivity Options

    This table lists the communication options of the device.

    Property
    Value

    RS-485

    4-Pin connectivity (Power, GND, RS-485 A, RS-485 B)

    Communication Protocols

    This device supports the following communication protocols.

    Top View
    Front View
    Side View
    Modbus Protocol
    Technical Specifications

    The following table outlines the capabilities of the device.

    Property
    Value

    Onboard sensors

    Anemometer (Pulse) Wind arrow (Hall effect) Optional temperature sensor Optional accelerometer for 2-axis angle detection

    Memory

    Historical data for internal statistics Configuration and calibration storage

    Microcontroller

    STM32 C0 Series MCU, 32-bit ARM Cortex-M0+

    Sensing Specifications

    The following table shows sensor characteristics.

    Measurement
    Accuracy
    Min
    Max

    Wind Speed

    ±1 m/s

    0.5 m/s

    30 m/s

    Wind Direction

    ±1°

    0°

    359.99°

    Physical Properties

    This table shows the mechanical properties of the device.

    Property
    Value

    Mounting Style

    Screw Mount Optional arm with wall and Sigma profile mount

    Dimensions

    100w x 100h x 100d mm

    Base Material

    ASA (Acrylonitrile Styrene Acrylate) Impact, wear, and UV resistant

    Weight

    < 200g

    Environmental Conditions

    Environmental Conditions refer to the physical and atmospheric conditions surrounding the device.

    Property
    Value

    Operating Ambient Temperature

    -20°C…+60°C

    Relative Humidity

    0°C…+30°C: 80% +30°C…+60°C: 50%

    Storage

    -20°C…+60°C

    10%…90% rH

    Electrical Characteristics

    This table indicates the electrical specifications of the device.

    Property
    Value

    Main Supply

    DC 5…24V

    RS-485

    -7…+12V (No internal termination)

    Internal Fuse

    DC 60V 6A 1206 Case Slow-burning

    Absolute Maximum Ratings

    Absolute maximum ratings indicate the maximum electrical or environmental parameters this device can withstand without damage.

    Stresses above the absolute maximum ratings listed in the table may cause permanent damage to the device. These are stress ratings only, and the functional operation of the device under these conditions is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.

    Property
    Value

    Main Supply

    DC 30V

    RS-485

    -7…+12V

    Connectivity Options

    This table lists the communication options of the device.

    Property
    Value

    RS-485

    4-Pin connectivity (Power, GND, RS-485 A, RS-485 B)

    Communication Protocols

    This device supports the following communication protocols.

    Modbus Protocol
    Technical Specifications

    The following table outlines the capabilities of the device.

    Property
    Value

    Onboard sensors

    Ultrasonic transceivers Optional temperature sensor Optional accelerometer for 2-axis angle detection

    Memory

    Historical data for internal statistics Configuration and calibration storage

    Microcontroller

    STM32 C0 Series MCU, 32-bit ARM Cortex-M0+ with TCXO (Temperature Compensated Crystal Oscillator)

    Sensing Specifications

    The following table shows sensor characteristics.

    Measurement
    Accuracy
    Min
    Max

    Wind speed

    ±1% @ 15m/s

    0.1 m/s

    60 m/s

    Wind direction

    ±2° @ 15m/s

    0°

    359.99°

    Physical Properties

    This table shows the mechanical properties of the device.

    Property
    Value

    Mounting Style

    Screw Mount Optional arm with wall and Sigma profile mount

    Dimensions

    155d x 100h mm

    Base Material

    ASA (Acrylonitrile Styrene Acrylate) Impact, wear, and UV resistant

    Weight

    < 200g

    Environmental Conditions

    Environmental Conditions refer to the physical and atmospheric conditions surrounding the device.

    Property
    Value

    Operating Ambient Temperature

    -20°C…+60°C

    Relative Humidity

    0°C…+30°C: 80% +30°C…+60°C: 50%

    Storage

    -20°C…+60°C

    10%…90% rH

    Electrical Characteristics

    This table indicates the electrical specifications of the device.

    Property
    Value

    Main Supply

    DC 5…24V

    RS-485

    -7…+12V (No internal termination)

    Internal Fuse

    DC 60V 6A 1206 Case Slow-burning

    Absolute Maximum Ratings

    Absolute maximum ratings indicate the maximum electrical or environmental parameters this device can withstand without damage.

    Stresses above the absolute maximum ratings listed in the table may cause permanent damage to the device. These are stress ratings only, and the functional operation of the device under these conditions is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.

    Property
    Value

    Main Supply

    DC 30V

    RS-485

    -7…+12V

    Connectivity Options

    This table lists the communication options of the device.

    Property
    Value

    RS-485

    4-Pin connectivity (Power, GND, RS-485 A, RS-485 B)

    Communication Protocols

    This device supports the following communication protocols.

    Side View
    Top View
    Bottom View with Arm
    Modbus Protocol

    Go

    This section includes data types, library initialization, configuration, and readouts.

    Data Types

    TPHDData

    Defines sensor readout variables.

    Initialization

    BME280_Init

    Initializes the BME280 sensor.

    Parameters

    • _i2c: I2C Handle

    • _i2cAddress: I2C Address

    Returns

    • None

    Configuration

    BME280_Config

    Configures the BME280 sensor.

    Parameters

    • _temperatureSensorOversampling: Oversampling setting for the temperature sensor.

    • _humiditySensorOversampling: Oversampling setting for the humidity sensor.

    • _pressureSensorOversampling: Oversampling setting for the pressure sensor.

    • _iirFilter: IIR filter setting.

    • _standbyTime: Standby time setting.

    • _measurementMode: Measurement mode setting.

    Returns

    • ErrorStatus: Error status.

    BME280_SetMeasurementMode

    Sets measurement mode of the BME280 sensor.

    Parameters

    • _measurementMode: Measurement mode setting.

    Returns

    • ErrorStatus: Error status.

    Readouts

    BME280_ReadTPH

    Measures temperature, pressure, and humidity using the BME280 sensor.

    Parameters

    • _forceRead (bool): Force sensor to measure one sample.

    • *tphdvData (TPHDVData): Pointer to the TPHDVData struct

    Returns

    • ErrorStatus: Error status.

    BME280_ReadTPHDV

    Measures temperature, pressure, and relative humidity using the BME280 sensor & calculates dew point and vapor pressure deficit.

    Parameters

    • _forceRead (bool): Force sensor to measure one sample.

    • *tphdvData (TPHDVData): Pointer to the TPHDVData struct

    Returns

    • ErrorStatus: Error status.

    BME280_ReadTemperature

    Reads temperature using the BME280 sensor.

    Parameters

    • _forceRead (bool): Force sensor to measure one sample.

    • *tphdvData (TPHDVData): Pointer to the TPHDVData struct

    Returns

    • ErrorStatus: Error status.

    BME280_ReadPressure

    Reads pressure using the BME280 sensor.

    Parameters

    • _forceRead (bool): Force sensor to measure one sample.

    • *tphdvData (TPHDVData): Pointer to the TPHDVData struct

    Returns

    • ErrorStatus: Error status.

    BME280_ReadHumidity

    Reads humidity using the BME280 sensor.

    Parameters

    • _forceRead (bool): Force sensor to measure one sample.

    • *tphdvData (TPHDVData): Pointer to the TPHDVData struct

    Returns

    • ErrorStatus: Error status.

    BME280_CalculateAltitude

    Calculates altitude using sea level pressure and measured pressure data.

    Parameters

    • pressure (float): Measured pressure in hectoPascals (hPa)

    • meanSeaLevelPressure (float): Mean sea level pressure in bar

    Returns

    • float: Altitude in meters

    Sample

    A complete code sample is coming soon.

    Struct
    typedef struct
    {
        float temperature;
        float humidity;
        float pressure;
        float dewPoint;
        float vpd;
    } TPHDVData;
    Prototype
    void BME280_Init(
        I2C_HandleTypeDef *_i2c,
        bme280_i2c_address_types_t _i2cAddress)
    Sample
    // Sample code is coming soon.
    Prototype
    ErrorStatus BME280_Config(
        bme280_ctrl_meas_osrs_t_types_t _temperatureSensorOversampling,
        bme280_ctrl_hum_osrs_h_types_t _humiditySensorOversampling,
        bme280_ctrl_meas_osrs_p_types_t _pressureSensorOversampling,
        bme280_config_filter_iir_types_t _iirFilter,
        bme280_config_standby_time_types_t _standbyTime,
        bme280_ctrl_meas_mode_types_t _measurementMode)
    Sample
    // Sample code is coming soon.
    Prototype
    ErrorStatus BME280_SetMeasurementMode(
        bme280_ctrl_meas_mode_types_t _measurementMode)
    Sample
    // Sample code is coming soon.
    Prototype
    ErrorStatus BME280_ReadTPH(
        bool _forceRead,
        TPHDVData *tphdvData)
    Sample
    // Sample code is coming soon.
    Prototype
    ErrorStatus BME280_ReadTPHDV(
        bool _forceRead,
        TPHDVData *tphdvData)
    Sample
    // Sample code is coming soon.
    Prototype
    ErrorStatus BME280_ReadTemperature(
        bool _forceRead,
        TPHDVData *tphdvData)
    Sample
    // Sample code is coming soon.
    Prototype
    ErrorStatus BME280_ReadPressure(
        bool _forceRead,
        TPHDVData *tphdvData)
    Sample
    // Sample code is coming soon.
    Prototype
    ErrorStatus BME280_ReadHumidity(
        bool _forceRead,
        TPHDVData *tphdvData)
    Sample
    // Sample code is coming soon.
    Prototype
    float BME280_CalculateAltitude(
        float pressure,
        float meanSeaLevelPressure)
    Sample
    // Sample code is coming soon.
    We refer to sensor manufacturers' datasheets to provide the specifications. The sensor readings may differ due to application, sensor aging, storage, transportation, environmental factors, factory calibration process, etc.

    Bosch BME688 Environmental Sensor with AI

    BME688 is an integrated environmental sensor that combines multiple measurements, including temperature, humidity, pressure, and volatile organic compounds (VOCs), in a single package. BME688 also has a gas scanner function, distinguishing pre-trained gasses with AI.

    Measurement
    Accuracy
    Min
    Max

    Temperature

    ± 0.5°C @ 0...65°C

    -40°C

    85°C

    Relative Humidity

    ± 3% rH @ 20-80% rH 25°C

    0% rH

    100% rH

    Air Pressure

    Bosch BME280 Sensor (Optional to BME688)

    BME280 is a high-accuracy combined temperature, humidity, and pressure sensor.

    Measurement
    Accuracy
    Min
    Max

    Temperature

    ± 1°C @ 0...65°C

    -40°C

    85°C

    Relative Humidity

    ± 3% rH @ 20-80% rH 25°C

    0% rH

    100% rH

    Air Pressure

    Ambient Light Sensor

    TSL2540 is a high-sensitivity light intensity sensor that measures visible and infrared lights. In addition, this sensor features a trigger function that wakes the system up in case of a threshold hit.

    Measurement
    Accuracy
    Condition

    Visible Light

    363 counts / μW/cm2

    White LED, 2700K

    Infrared Light

    352 counts / μW/cm2

    950 nm LED

    IR Remote Transceiver

    This sensor array has an infrared transmitter, which can control air conditioners or multimedia systems.

    Property
    Value

    Peak wavelength

    940 nm

    Angle of half intensity

    φ = ± 60°

    Power dissipation

    190 mW

    Microphone

    The microphone on this sensor array can measure average sound pressure.

    Property
    Value
    Condition

    Sensitivity

    -42 dBV/Pa

    94 dB SPL @ 1 kHz

    Signal to Noise Ratio

    59 dB(A)

    94dB SPL @ 1 kHz, A-weighted (20-10kHz)

    Total Harmonic Distortion

    0.1 %

    94 dB SPL @ 1 kHz

    Libraries and Samples

    Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

    Environmental Module Front View
    BME280 Env Sensor
    BME688 Env Sensor
    TSL2540 Light Sensor
    Technical Specifications

    The following table outlines the capabilities of the device.

    Property
    Value

    Onboard sensors

    Bosch BME280 Environmental sensor Optional accelerometer for 2-axis angle detection

    Memory

    Historical data for internal statistics Configuration and calibration storage

    Microcontroller

    STM32 C0 Series MCU, 32-bit ARM Cortex-M0+

    Sensing Specifications

    The following table shows sensor characteristics.

    Measurement
    Accuracy
    Min
    Max

    Temperature

    ± 1°C @ 0...65°C

    -40°C

    85°C

    Relative Humidity

    ± 3% rH @ 20-80% rH 25°C

    0% rH

    100% rH

    Air Pressure

    Physical Properties

    This table shows the mechanical properties of the device.

    Property
    Value

    Mounting Style

    Screw Mount Optional arm with wall and Sigma profile mount

    Dimensions

    70d x 120h mm

    Base Material

    ASA (Acrylonitrile Styrene Acrylate) Impact, wear, and UV resistant

    Weight

    < 200g

    Environmental Conditions

    Environmental Conditions refer to the physical and atmospheric conditions surrounding the device.

    Property
    Value

    Operating Ambient Temperature

    -20°C…+60°C

    Relative Humidity

    0°C…+30°C: 80% +30°C…+60°C: 50%

    Storage

    -20°C…+60°C

    10%…90% rH

    Electrical Characteristics

    This table indicates the electrical specifications of the device.

    Property
    Value

    Main Supply

    DC 5…24V

    RS-485

    -7…+12V (No internal termination)

    Internal Fuse

    DC 60V 6A 1206 Case Slow-burning

    Absolute Maximum Ratings

    Absolute maximum ratings indicate the maximum electrical or environmental parameters this device can withstand without damage.

    Stresses above the absolute maximum ratings listed in the table may cause permanent damage to the device. These are stress ratings only, and the functional operation of the device under these conditions is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.

    Property
    Value

    Main Supply

    DC 30V

    RS-485

    -7…+12V

    Connectivity Options

    This table lists the communication options of the device.

    Property
    Value

    RS-485

    4-Pin connectivity (Power, GND, RS-485 A, RS-485 B)

    Communication Protocols

    This device supports the following communication protocols.

    Side View
    Top View
    Bottom View
    Modbus Protocol

    Modbus Protocol

    This device communicates using the Modbus RTU protocol over the RS-485 standard.

    Device Address

    This device's preconfigured user-definable address is 0x14. Users can change the address using the holding registers.

    Modbus Function Codes

    The following Modbus function codes are functional with this device.

    Command Register
    Function
    Description
    Bytes

    Device Registers

    The following registers are available with this device.

    Register Type
    Register Address
    Description
    Bytes

    Communication Syntax

    Reading sensor data

    The host device can read one or more sensor data by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x04) [1 Byte] + Input register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x04) [1 Byte] + Response register length in Bytes [1 Byte] + Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Reading configuration register

    The host device can read one or more configuration registers by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x03) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x03) [1 Byte] + Response register length in Bytes [1 Byte], Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing single configuration register

    The host device can write one configuration register.

    Command from the host: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [2 Bytes MSB first] + Value to be set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [1 Byte] + Value set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing multiple configuration registers

    The host device can write multiple configuration registers.

    Command from the host: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes] + Configuration values length in Bytes [1 Byte] + Value to be set 1 [2 Bytes MSB first] + Value to be set N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [1 Byte], Value set [2 Bytes MSB first], CRC [2 Bytes MSB first]

    Modbus Protocol

    This device communicates using the Modbus RTU protocol over the RS-485 standard.

    Device Address

    This device's preconfigured user-definable address is 0x11. Users can change the address using the holding registers.

    Modbus Function Codes

    The following Modbus function codes are functional with this device.

    Command Register
    Function
    Description
    Bytes

    Device Registers

    The following registers are available with this device.

    Register Type
    Register Address
    Description
    Bytes

    Communication Syntax

    Reading sensor data

    The host device can read one or more sensor data by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x04) [1 Byte] + Input register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x04) [1 Byte] + Response register length in Bytes [1 Byte] + Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Reading configuration register

    The host device can read one or more configuration registers by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x03) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x03) [1 Byte] + Response register length in Bytes [1 Byte], Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing single configuration register

    The host device can write one configuration register.

    Command from the host: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [2 Bytes MSB first] + Value to be set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [1 Byte] + Value set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing multiple configuration registers

    The host device can write multiple configuration registers.

    Command from the host: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes] + Configuration values length in Bytes [1 Byte] + Value to be set 1 [2 Bytes MSB first] + Value to be set N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [1 Byte], Value set [2 Bytes MSB first], CRC [2 Bytes MSB first]

    Soil Sensor

    This document is currently in the preliminary stage, and therefore, device specifications are subject to change without notice.

    This device measures soil temperature, EC (Electrical Conductivity), and moisture. It transmits data using Modbus RTU communication protocol over the RS-485 standard.

    Technical Specifications

    The following table outlines the capabilities of the device.

    Property
    Value

    Sensing Specifications

    The following table shows sensor characteristics.

    Measurement
    Accuracy
    Min
    Max

    Physical Properties

    This table shows the mechanical properties of the device.

    Property
    Value

    Environmental Conditions

    Environmental Conditions refer to the physical and atmospheric conditions surrounding the device.

    Property
    Value

    Electrical Characteristics

    This table indicates the electrical specifications of the device.

    Property
    Value

    Absolute Maximum Ratings

    Absolute maximum ratings indicate the maximum electrical or environmental parameters this device can withstand without damage.

    Stresses above the absolute maximum ratings listed in the table may cause permanent damage to the device. These are stress ratings only, and the functional operation of the device under these conditions is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.

    Property
    Value

    Connectivity Options

    This table lists the communication options of the device.

    Property
    Value

    Communication Protocols

    This device supports the following communication protocols.

    Modbus Protocol

    This device communicates using the Modbus RTU protocol over the RS-485 standard.

    Device Address

    This device's preconfigured user-definable address is 0x12. Users can change the address using the holding registers.

    Modbus Function Codes

    The following Modbus function codes are functional with this device.

    Command Register
    Function
    Description
    Bytes

    Device Registers

    The following registers are available with this device.

    Register Type
    Register Address
    Description
    Bytes

    Communication Syntax

    Reading sensor data

    The host device can read one or more sensor data by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x04) [1 Byte] + Input register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x04) [1 Byte] + Response register length in Bytes [1 Byte] + Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Reading configuration register

    The host device can read one or more configuration registers by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x03) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x03) [1 Byte] + Response register length in Bytes [1 Byte], Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing single configuration register

    The host device can write one configuration register.

    Command from the host: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [2 Bytes MSB first] + Value to be set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [1 Byte] + Value set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing multiple configuration registers

    The host device can write multiple configuration registers.

    Command from the host: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes] + Configuration values length in Bytes [1 Byte] + Value to be set 1 [2 Bytes MSB first] + Value to be set N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [1 Byte], Value set [2 Bytes MSB first], CRC [2 Bytes MSB first]

    STM32CubeProg | Software - STMicroelectronicsSTMicroelectronics

    Air Quality Sensor

    This document is currently in the preliminary stage, and therefore, device specifications are subject to change without notice.

    This device measures VOC, NOx, CO2, PM (Particulate Matter), relative humidity, and temperature. It transmits data using Modbus RTU communication protocol over the RS-485 standard.

    Modbus Protocol

    This device communicates using the Modbus RTU protocol over the RS-485 standard.

    Device Address

    This device's preconfigured user-definable address is 0x17. Users can change the address using the holding registers.

    ± 0.6 hPa @ 0-65°C

    300 hPa

    1100 hPa

    Indoor Air Quality

    N/A

    0 IAQ Index

    500 IAQ Index

    tVOC

    N/A

    N/A

    N/A

    CO2 Equivalent

    N/A

    N/A

    N/A

    Gas Classification

    N/A

    2 Classes

    4 Classes

    Dew Point

    N/A

    -40°C

    40°C

    ± 1 hPa @ 0-65°C

    300 hPa

    1100 hPa

    Dew Point

    N/A

    -40°C

    40°C

    Acoustic Overload Point

    129 dB SPL

    0% THD @ 1 kHz

    ± 1 hPa @ 0-65°C

    300 hPa

    1100 hPa

    Writes a single configuration parameter

    2

    0x10

    Write multiple registers

    Writes multiple configuration parameters

    2 x N

    Distance (Min)

    2

    Input Register (R)

    0x0004

    Distance (Max)

    2

    Input Register (R)

    0x0005

    Distance (Std. Dev.)

    2

    Input Register (R)

    0x0006

    Temperature (Actual)

    2

    Input Register (R)

    0x0007

    Temperature (Average)

    2

    Input Register (R)

    0x0008

    Temperature (Min)

    2

    Input Register (R)

    0x0009

    Temperature (Max)

    2

    Input Register (R)

    0x000A

    Temperature (Std. Dev.)

    2

    Input Register (R)

    0x000B

    Device Pitch (Actual)

    2

    Input Register (R)

    0x000C

    Device Roll (Actual)

    2

    Input Register (R)

    0x000D

    Device Temperature

    2

    Holding Register (R/W)

    0x0101

    Device Address

    2

    Holding Register (R/W)

    0x0102

    Baud Rate

    2

    Holding Register (R/W)

    0x0103

    Statistics Period (Secs)

    2

    Holding Register (R/W)

    0x0104

    Distance Correction

    2

    Holding Register (R/W)

    0x0105

    IMU Correction (Pitch)

    2

    Holding Register (R/W)

    0x0106

    IMU Correction (Roll)

    2

    Holding Register (R/W)

    0x0107

    Temperature Correction

    2

    0x03

    Read holding registers

    Returns configuration parameters

    2

    0x04

    Read input registers

    Returns measured readings and statistics

    2

    0x06

    Input Register (R)

    0x0001

    Distance (Actual)

    2

    Input Register (R)

    0x0002

    Distance (Average)

    2

    Input Register (R)

    Write single register

    0x0003

    Writes a single configuration parameter

    2

    0x10

    Write multiple registers

    Writes multiple configuration parameters

    2 x N

    Wind Speed (Max)

    2

    Input Register (R)

    0x0004

    Wind Speed (Average)

    2

    Input Register (R)

    0x0005

    Wind Speed (Std. Dev.)

    2

    Input Register (R)

    0x0006

    Wind Direction (Actual)

    2

    Input Register (R)

    0x0007

    Device Direction (Actual)

    2

    Input Register (R)

    0x0008

    Device Pitch (Actual)

    2

    Input Register (R)

    0x0009

    Device Roll (Actual)

    2

    Input Register (R)

    0x000A

    Device Temperature

    2

    Holding Register (R/W)

    0x0101

    Device Address

    2

    Holding Register (R/W)

    0x0102

    Baud Rate

    2

    Holding Register (R/W)

    0x0103

    Statistics Period (Secs)

    2

    Holding Register (R/W)

    0x0104

    IMU Correction (Dir)

    2

    Holding Register (R/W)

    0x0105

    IMU Correction (Pitch)

    2

    Holding Register (R/W)

    0x0106

    IMU Correction (Roll)

    2

    Holding Register (R/W)

    0x0107

    Heater Config

    2

    0x03

    Read holding registers

    Returns configuration parameters

    2

    0x04

    Read input registers

    Returns measured readings and statistics

    2

    0x06

    Input Register (R)

    0x0001

    Wind Speed (Actual)

    2

    Input Register (R)

    0x0002

    Wind Speed (Min)

    2

    Input Register (R)

    Write single register

    0x0003

    Onboard sensors

    Temperature sensor EC Probe Moisture probe Optional accelerometer for 2-axis angle detection

    Memory

    Historical data for internal statistics Configuration and calibration storage

    Microcontroller

    STM32 C0 Series MCU, 32-bit ARM Cortex-M0+

    Soil Temperature

    EC

    Soil Moisture

    Mounting Style

    Manual insertion

    Dimensions

    60w x 20h x 120d mm

    Base Material

    ASA (Acrylonitrile Styrene Acrylate) Impact, wear, and UV resistant

    Weight

    < 200g

    Operating Ambient Temperature

    -20°C…+60°C

    Relative Humidity

    0°C…+30°C: 80% +30°C…+60°C: 50%

    Storage

    -20°C…+60°C

    10%…90% rH

    Main Supply

    DC 5…24V

    RS-485

    -7…+12V (No internal termination)

    Internal Fuse

    DC 60V 6A 1206 Case Slow-burning

    Main Supply

    DC 30V

    RS-485

    -7…+12V

    RS-485

    4-Pin connectivity (Power, GND, RS-485 A, RS-485 B)

    Modbus Protocol

    Writes a single configuration parameter

    2

    0x10

    Write multiple registers

    Writes multiple configuration parameters

    2 x N

    Wind Speed (Max)

    2

    Input Register (R)

    0x0004

    Wind Speed (Average)

    2

    Input Register (R)

    0x0005

    Wind Speed (Std. Dev.)

    2

    Input Register (R)

    0x0006

    Wind Direction (Actual)

    2

    Input Register (R)

    0x0007

    Device Direction (Actual)

    2

    Input Register (R)

    0x0008

    Device Pitch (Actual)

    2

    Input Register (R)

    0x0009

    Device Roll (Actual)

    2

    Input Register (R)

    0x000A

    Device Temperature

    2

    Holding Register (R/W)

    0x0101

    Device Address

    2

    Holding Register (R/W)

    0x0102

    Baud Rate

    2

    Holding Register (R/W)

    0x0103

    Statistics Period (Secs)

    2

    Holding Register (R/W)

    0x0104

    IMU Correction (Dir)

    2

    Holding Register (R/W)

    0x0105

    IMU Correction (Pitch)

    2

    Holding Register (R/W)

    0x0106

    IMU Correction (Roll)

    2

    Holding Register (R/W)

    0x0107

    Heater Config

    2

    0x03

    Read holding registers

    Returns configuration parameters

    2

    0x04

    Read input registers

    Returns measured readings and statistics

    2

    0x06

    Input Register (R)

    0x0001

    Wind Speed (Actual)

    2

    Input Register (R)

    0x0002

    Wind Speed (Min)

    2

    Input Register (R)

    Write single register

    0x0003

    Logo
    Technical Specifications

    The following table outlines the capabilities of the device.

    Property
    Value

    Onboard sensors

    Sensirion SEN55 Environmental Sensor Sensirion SCD41 CO2 Sensor Optional accelerometer for 2-axis angle detection

    Memory

    Historical data for internal statistics Configuration and calibration storage

    Microcontroller

    STM32 C0 Series MCU, 32-bit ARM Cortex-M0+

    Sensing Specifications

    The following table shows sensor characteristics.

    Measurement
    Accuracy
    Min
    Max

    VOC Index

    <±15 VOC Index points or % VOC Index m.v. (the larger)

    1

    500

    NOx Index

    <±15 NOx Index points or % NOx Index m.v. (the larger)

    1

    500

    Relative Humidity

    Physical Properties

    This table shows the mechanical properties of the device.

    Property
    Value

    Mounting Style

    Screw Mount

    Dimensions

    80w x 60h x 35d mm

    Base Material

    ASA (Acrylonitrile Styrene Acrylate) Impact, wear, and UV resistant

    Weight

    < 200g

    Environmental Conditions

    Environmental Conditions refer to the physical and atmospheric conditions surrounding the device.

    Property
    Value

    Operating Ambient Temperature

    10°C…+40°C

    Relative Humidity

    20%...80% RH

    Storage

    -20°C…+60°C

    10%…90% RH (non-condensing)

    Electrical Characteristics

    This table indicates the electrical specifications of the device.

    Property
    Value

    Main Supply

    DC 5…24V

    RS-485

    -7…+12V (No internal termination)

    Internal Fuse

    DC 60V 6A 1206 Case Slow-burning

    Absolute Maximum Ratings

    Absolute maximum ratings indicate the maximum electrical or environmental parameters this device can withstand without damage.

    Stresses above the absolute maximum ratings listed in the table may cause permanent damage to the device. These are stress ratings only, and the functional operation of the device under these conditions is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.

    Property
    Value

    Operating Ambient Temperature

    -10°C…+50°C

    Relative Humidity

    0%...90% RH (non-condensing)

    Main Supply

    DC 30V

    RS-485

    -7…+12V

    Connectivity Options

    This table lists the communication options of the device.

    Property
    Value

    RS-485

    4-Pin connectivity (Power, GND, RS-485 A, RS-485 B)

    Communication Protocols

    This device supports the following communication protocols.

    Front View
    Bottom View
    Modbus Protocol
    Modbus Function Codes

    The following Modbus function codes are functional with this device.

    Command Register
    Function
    Description
    Bytes

    0x03

    Read holding registers

    Returns configuration parameters

    2

    0x04

    Read input registers

    Returns measured readings and statistics

    2

    0x06

    Device Registers

    The following registers are available with this device.

    Register Type
    Register Address
    Description
    Bytes

    Input Register (R)

    0x0001

    Irradiance (Actual)

    2

    Input Register (R)

    0x0002

    Irradiance (Average)

    2

    Input Register (R)

    Communication Syntax

    Reading sensor data

    The host device can read one or more sensor data by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x04) [1 Byte] + Input register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x04) [1 Byte] + Response register length in Bytes [1 Byte] + Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Reading configuration register

    The host device can read one or more configuration registers by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x03) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x03) [1 Byte] + Response register length in Bytes [1 Byte], Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing single configuration register

    The host device can write one configuration register.

    Command from the host: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [2 Bytes MSB first] + Value to be set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [1 Byte] + Value set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing multiple configuration registers

    The host device can write multiple configuration registers.

    Command from the host: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes] + Configuration values length in Bytes [1 Byte] + Value to be set 1 [2 Bytes MSB first] + Value to be set N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [1 Byte], Value set [2 Bytes MSB first], CRC [2 Bytes MSB first]

    @ 25 °C, 30-70 %RH: ±4.5% rH (typical), ±6% rH (maximum)

    Temperature

    @ 15-30 °C, 50 %RH: ±0.45°C (typical), ±0.7°C (maximum)

    PM 1.0

    0 to 100 μg/m3: ±[5 μg/m3 + 5 % m.v.] 100 to 1000 μg/m3: ±10 % m.v.

    N/A

    N/A

    PM 2.5

    0 to 100 μg/m3: ±[5 μg/m3 + 5 % m.v.] 100 to 1000 μg/m3: ±10 % m.v.

    N/A

    N/A

    PM 4.0

    0 to 100 μg/m3: ±25 μg/m3 100 to 1000 μg/m3: ±25 % m.v.

    N/A

    N/A

    PM 10

    0 to 100 μg/m3: ±25 μg/m3 100 to 1000 μg/m3: ±25 % m.v.

    N/A

    N/A

    CO2

    400 ppm ... 1000 ppm ±(50 ppm + 2.5% of reading) 1001 ppm ... 2000 ppm ±(50 ppm + 3% of reading) 2001 ppm ... 5000 ppm ±(40 ppm + 5% of reading)

    400 ppm

    5000 ppm

    Write single register

    Writes a single configuration parameter

    2

    0x10

    Write multiple registers

    Writes multiple configuration parameters

    2 x N

    0x0003

    Irradiance (Min)

    2

    Input Register (R)

    0x0004

    Irradiance (Max)

    2

    Input Register (R)

    0x0005

    Irradiance (Std. Dev.)

    2

    Input Register (R)

    0x0006

    Panel Temperature (Actual)

    2

    Input Register (R)

    0x0007

    Panel Temperature (Average)

    2

    Input Register (R)

    0x0008

    Panel Temperature (Min)

    2

    Input Register (R)

    0x0009

    Panel Temperature (Max)

    2

    Input Register (R)

    0x000A

    Panel Temperature (Std. Dev.)

    2

    Input Register (R)

    0x000B

    Device Pitch (Actual)

    2

    Input Register (R)

    0x000C

    Device Roll (Actual)

    2

    Input Register (R)

    0x000D

    Device Temperature

    2

    Holding Register (R/W)

    0x0101

    Device Address

    2

    Holding Register (R/W)

    0x0102

    Baud Rate

    2

    Holding Register (R/W)

    0x0103

    Statistics Period (Secs)

    2

    Holding Register (R/W)

    0x0104

    IMU Correction (Pitch)

    2

    Holding Register (R/W)

    0x0105

    IMU Correction (Roll)

    2

    Holding Register (R/W)

    0x0106

    Irradiance Correction 1

    2

    Holding Register (R/W)

    0x0107

    Irradiance Correction 2

    2

    Holding Register (R/W)

    0x0108

    Irradiance Correction 3

    2

    Holding Register (R/W)

    0x0109

    Temperature Correction

    2

    Modbus Protocol

    This device communicates using the Modbus RTU protocol over the RS-485 standard.

    Device Address

    This device's preconfigured user-definable address is 0x18. Users can change the address using the holding registers.

    Modbus Function Codes

    The following Modbus function codes are functional with this device.

    Command Register
    Function
    Description
    Bytes

    Device Registers

    The following registers are available with this device.

    Register Type
    Register Address
    Description
    Bytes

    Communication Syntax

    Reading sensor data

    The host device can read one or more sensor data by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x04) [1 Byte] + Input register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x04) [1 Byte] + Response register length in Bytes [1 Byte] + Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Reading configuration register

    The host device can read one or more configuration registers by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x03) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x03) [1 Byte] + Response register length in Bytes [1 Byte], Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing single configuration register

    The host device can write one configuration register.

    Command from the host: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [2 Bytes MSB first] + Value to be set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [1 Byte] + Value set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing multiple configuration registers

    The host device can write multiple configuration registers.

    Command from the host: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes] + Configuration values length in Bytes [1 Byte] + Value to be set 1 [2 Bytes MSB first] + Value to be set N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [1 Byte], Value set [2 Bytes MSB first], CRC [2 Bytes MSB first]

    Modbus Protocol

    This device communicates using the Modbus RTU protocol over the RS-485 standard.

    Device Address

    This device's preconfigured user-definable address is 0x16. Users can change the address using the holding registers.

    Modbus Function Codes

    The following Modbus function codes are functional with this device.

    Command Register
    Function
    Description
    Bytes

    Device Registers

    The following registers are available with this device.

    Register Type
    Register Address
    Description
    Bytes

    Communication Syntax

    Reading sensor data

    The host device can read one or more sensor data by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x04) [1 Byte] + Input register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x04) [1 Byte] + Response register length in Bytes [1 Byte] + Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Reading configuration register

    The host device can read one or more configuration registers by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x03) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x03) [1 Byte] + Response register length in Bytes [1 Byte], Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing single configuration register

    The host device can write one configuration register.

    Command from the host: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [2 Bytes MSB first] + Value to be set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [1 Byte] + Value set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing multiple configuration registers

    The host device can write multiple configuration registers.

    Command from the host: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes] + Configuration values length in Bytes [1 Byte] + Value to be set 1 [2 Bytes MSB first] + Value to be set N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [1 Byte], Value set [2 Bytes MSB first], CRC [2 Bytes MSB first]

    M.2 LoRa Module

    The M.2 form factor LoRa transceiver module is a compact and low-power device that enables long-range wireless data communication using LoRa (Long Range) technology. It is suitable for various IoT and industrial applications.

    Technical Specifications

    The following table outlines the capabilities of the device.

    Property
    Value

    Writes a single configuration parameter

    2

    0x10

    Write multiple registers

    Writes multiple configuration parameters

    2 x N

    Temperature (Min)

    2

    Input Register (R)

    0x0004

    Temperature (Max)

    2

    Input Register (R)

    0x0005

    Temperature (Std. Dev.)

    2

    Input Register (R)

    0x0006

    Relative Humidity (Actual)

    2

    Input Register (R)

    0x0007

    Relative Humidity (Average)

    2

    Input Register (R)

    0x0008

    Relative Humidity (Min)

    2

    Input Register (R)

    0x0009

    Relative Humidity (Max)

    2

    Input Register (R)

    0x000A

    Relative Humidity (Std. Dev.)

    2

    Input Register (R)

    0x000B

    Pressure (Actual)

    2

    Input Register (R)

    0x000C

    Pressure (Average)

    2

    Input Register (R)

    0x000D

    Pressure (Min)

    2

    Input Register (R)

    0x000E

    Pressure (Max)

    2

    Input Register (R)

    0x000F

    Pressure (Std. Dev.)

    2

    Input Register (R)

    0x0010

    Device Pitch (Actual)

    2

    Input Register (R)

    0x0011

    Device Roll (Actual)

    2

    Input Register (R)

    0x0012

    Device Temperature

    2

    Holding Register (R/W)

    0x0101

    Device Address

    2

    Holding Register (R/W)

    0x0102

    Baud Rate

    2

    Holding Register (R/W)

    0x0103

    Statistics Period (Secs)

    2

    Holding Register (R/W)

    0x0104

    IMU Correction (Pitch)

    2

    Holding Register (R/W)

    0x0105

    IMU Correction (Roll)

    2

    Holding Register (R/W)

    0x0106

    Temperature Correction 1

    2

    Holding Register (R/W)

    0x0107

    Temperature Correction 2

    2

    Holding Register (R/W)

    0x0108

    Temperature Correction 3

    2

    Holding Register (R/W)

    0x0109

    RH Correction 1

    2

    Holding Register (R/W)

    0x010A

    RH Correction 2

    2

    Holding Register (R/W)

    0x010B

    RH Correction 3

    2

    Holding Register (R/W)

    0x010C

    Pressure Correction 1

    2

    Holding Register (R/W)

    0x010D

    Pressure Correction 2

    2

    Holding Register (R/W)

    0x010E

    Pressure Correction 3

    2

    0x03

    Read holding registers

    Returns configuration parameters

    2

    0x04

    Read input registers

    Returns measured readings and statistics

    2

    0x06

    Input Register (R)

    0x0001

    Temperature (Actual)

    2

    Input Register (R)

    0x0002

    Temperature (Average)

    2

    Input Register (R)

    Write single register

    0x0003

    Writes a single configuration parameter

    2

    0x10

    Write multiple registers

    Writes multiple configuration parameters

    2 x N

    Temperature (Min)

    2

    Input Register (R)

    0x0004

    Temperature (Max)

    2

    Input Register (R)

    0x0005

    Temperature (Std. Dev.)

    2

    Input Register (R)

    0x0006

    EC (Actual)

    2

    Input Register (R)

    0x0007

    EC (Average)

    2

    Input Register (R)

    0x0008

    EC (Min)

    2

    Input Register (R)

    0x0009

    EC (Max)

    2

    Input Register (R)

    0x000A

    EC (Std. Dev.)

    2

    Input Register (R)

    0x000B

    Moisture (Actual)

    2

    Input Register (R)

    0x000C

    Moisture (Average)

    2

    Input Register (R)

    0x000D

    Moisture (Min)

    2

    Input Register (R)

    0x000E

    Moisture (Max)

    2

    Input Register (R)

    0x000F

    Moisture (Std. Dev.)

    2

    Input Register (R)

    0x0010

    Device Pitch (Actual)

    2

    Input Register (R)

    0x0011

    Device Roll (Actual)

    2

    Input Register (R)

    0x0012

    Device Temperature

    2

    Holding Register (R/W)

    0x0101

    Device Address

    2

    Holding Register (R/W)

    0x0102

    Baud Rate

    2

    Holding Register (R/W)

    0x0103

    Statistics Period (Secs)

    2

    Holding Register (R/W)

    0x0104

    IMU Correction (Pitch)

    2

    Holding Register (R/W)

    0x0105

    IMU Correction (Roll)

    2

    Holding Register (R/W)

    0x0106

    Heater Config

    2

    Holding Register (R/W)

    0x0107

    Temperature Correction 1

    2

    Holding Register (R/W)

    0x0108

    Temperature Correction 2

    2

    Holding Register (R/W)

    0x0109

    Temperature Correction 3

    2

    Holding Register (R/W)

    0x010A

    EC Correction 1

    2

    Holding Register (R/W)

    0x010B

    EC Correction 2

    2

    Holding Register (R/W)

    0x010C

    EC Correction 3

    2

    Holding Register (R/W)

    0x010D

    Moisture Correction 1

    2

    Holding Register (R/W)

    0x010E

    Moisture Correction 2

    2

    Holding Register (R/W)

    0x010F

    Moisture Correction 3

    2

    0x03

    Read holding registers

    Returns configuration parameters

    2

    0x04

    Read input registers

    Returns measured readings and statistics

    2

    0x06

    Input Register (R)

    0x0001

    Temperature (Actual)

    2

    Input Register (R)

    0x0002

    Temperature (Average)

    2

    Input Register (R)

    Write single register

    0x0003

    Chipset

    SX1262 RF Transceiver

    Modulations

    LoRa and (G)FSK

    Maximum RF Output

    +22dBm

    Frequency Coverge

    150MHz to 960MHz continuous

    EEPROM

    Module identification, TCXO Voltage and SN (Optional)

    Physical Properties

    This table shows the mechanical properties of the device.

    Property
    Value

    Form Factor

    M.2 Type 2230-S3-E Socket

    Antenna Connector

    1x uFL

    Dimensions

    22 x 30 mm

    Weight

    1.7 g (without shield)

    Environmental Conditions

    Environmental Conditions refer to the physical and atmospheric conditions surrounding the device.

    Property
    Value

    Operating Ambient Temperature

    0°C…+60°C

    Relative Humidity

    0°C…+30°C: 80% +30°C…+60°C: 50%

    Pollution Degree

    PD2

    Altitude

    < 2000m AMSL

    Vibration (5 ≤ f ≤ 9 Hz)

    1,75 mm amplitude sinus 3,5 mm amplitude random

    Electrical Characteristics

    This table indicates the electrical specifications of the device.

    Property
    Value

    Power Input

    3.3V

    I/O Voltage Level

    1.8V

    Clock Source

    25MHz TCXO (Temperature Compensated Crystal Oscillator)

    Power Consumption

    160 nA in sleep mode with a cold start 4.6 mA max in LoRa receive mode 5.3 mA max in LoRa Rx boosted receive mode 45 mA in LoRa transmit mode (868/915 MHz, +14 dBm) 120 mA in LoRa transmit mode (868/915 MHz, +22 dBm)

    Regulator Mode

    DC-DC mode

    Pin Description

    This table explains the function and electrical characteristics of each pin or terminal on the device.

    Pin
    Type
    Function
    Description

    1

    Power

    GND

    Digital ground

    2

    Power

    +3.3V

    Digital supply voltage input (3.3V)

    4

    Libraries and Samples

    Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

    M.2 LoRa Module Front View
    SX1262 LoRa Transceiver

    Vibration (9 ≤ f ≤ 150 Hz)

    0,5 g acceleration sinus 1,0 g acceleration random

    Storage

    -20°C…+60°C

    10%…90% rH

    Power

    +3.3V

    Digital supply voltage input (3.3V)

    7

    Power

    GND

    Digital ground

    9

    Com

    SPI SCLK

    SPI Data clock input (1.8V)

    11

    Com

    SPI MOSI

    SPI Data input (1.8V)

    13

    Com

    SPI MISO

    SPI Data output (1.8V)

    15

    Output

    nIRQ

    Active-low interrupt output (1.8V)

    18

    Power

    GND

    Digital ground

    19

    Input

    SPI nCS

    SPI active-low chip select input (1.8V)

    21

    Output

    nWAKE

    Active-low wake output (1.8V)

    23

    Input

    nRESET

    Active-low reset input (1.8V)

    33

    Power

    GND

    Digital ground

    39

    Power

    GND

    Digital ground

    45

    Power

    GND

    Digital ground

    51

    Power

    GND

    Digital ground

    57

    Power

    GND

    Digital ground

    58

    Com

    I2C SDA

    I2C Serial data line (1.8V)

    60

    Com

    I2C SCL

    I2C Serial clock input (1.8V)

    63

    Power

    GND

    Digital ground

    69

    Power

    GND

    Digital ground

    72

    Power

    +3.3V

    Digital supply voltage input (3.3V)

    74

    Power

    +3.3V

    Digital supply voltage input (3.3V)

    75

    Power

    GND

    Digital ground

    Modbus Protocol

    This device communicates using the Modbus RTU protocol over the RS-485 standard.

    Device Address

    This device's preconfigured user-definable address is 0x15. Users can change the address using the holding registers.

    Modbus Function Codes

    The following Modbus function codes are functional with this device.

    Command Register
    Function
    Description
    Bytes

    Device Registers

    The following registers are available with this device.

    Register Type
    Register Address
    Description
    Bytes

    Communication Syntax

    Reading sensor data

    The host device can read one or more sensor data by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x04) [1 Byte] + Input register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x04) [1 Byte] + Response register length in Bytes [1 Byte] + Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Reading configuration register

    The host device can read one or more configuration registers by calling the starting register address.

    Request from the host: Device address [1 Byte] + Function code (0x03) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x03) [1 Byte] + Response register length in Bytes [1 Byte], Register 1 [2 Bytes MSB first] + Register N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing single configuration register

    The host device can write one configuration register.

    Command from the host: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [2 Bytes MSB first] + Value to be set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x06) [1 Byte] + Holding register address [1 Byte] + Value set [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Writing multiple configuration registers

    The host device can write multiple configuration registers.

    Command from the host: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [2 Bytes MSB first] + Requested register length [2 Bytes] + Configuration values length in Bytes [1 Byte] + Value to be set 1 [2 Bytes MSB first] + Value to be set N [2 Bytes MSB first] + CRC [2 Bytes MSB first]

    Response from the device: Device address [1 Byte] + Function code (0x10) [1 Byte] + Holding register start address [1 Byte], Value set [2 Bytes MSB first], CRC [2 Bytes MSB first]

    Writes a single configuration parameter

    2

    0x10

    Write multiple registers

    Writes multiple configuration parameters

    2 x N

    Air Quality Index (Min)

    2

    Input Register (R)

    0x0004

    Air Quality Index (Max)

    2

    Input Register (R)

    0x0005

    Air Quality Index (Std. Dev.)

    2

    Input Register (R)

    0x0006

    VOC Index (Actual)

    2

    Input Register (R)

    0x0007

    VOC Index (Average)

    2

    Input Register (R)

    0x0008

    VOC Index (Min)

    2

    Input Register (R)

    0x0009

    VOC Index (Max)

    2

    Input Register (R)

    0x000A

    VOC Index (Std. Dev.)

    2

    Input Register (R)

    0x000B

    NOx Index (Actual)

    2

    Input Register (R)

    0x000C

    NOx Index (Average)

    2

    Input Register (R)

    0x000D

    NOx Index (Min)

    2

    Input Register (R)

    0x000E

    NOx Index (Max)

    2

    Input Register (R)

    0x000F

    NOx Index (Std. Dev.)

    2

    Input Register (R)

    0x0010

    PM 1.0 (Actual)

    2

    Input Register (R)

    0x0011

    PM 1.0 (Average)

    2

    Input Register (R)

    0x0012

    PM 1.0 (Min)

    2

    Input Register (R)

    0x0013

    PM 1.0 (Max)

    2

    Input Register (R)

    0x0014

    PM 1.0 (Std. Dev.)

    2

    Input Register (R)

    0x0015

    PM 2.5 (Actual)

    2

    Input Register (R)

    0x0016

    PM 2.5 (Average)

    2

    Input Register (R)

    0x0017

    PM 2.5 (Min)

    2

    Input Register (R)

    0x0018

    PM 2.5 (Max)

    2

    Input Register (R)

    0x0019

    PM 2.5 (Std. Dev.)

    2

    Input Register (R)

    0x001A

    PM 4.0 (Actual)

    2

    Input Register (R)

    0x001B

    PM 4.0 (Average)

    2

    Input Register (R)

    0x001C

    PM 4.0 (Min)

    2

    Input Register (R)

    0x001D

    PM 4.0 (Max)

    2

    Input Register (R)

    0x001E

    PM 4.0 (Std. Dev.)

    2

    Input Register (R)

    0x001F

    PM 10 (Actual)

    2

    Input Register (R)

    0x0020

    PM 10 (Average)

    2

    Input Register (R)

    0x0021

    PM 10 (Min)

    2

    Input Register (R)

    0x0022

    PM 10 (Max)

    2

    Input Register (R)

    0x0023

    PM 10 (Std. Dev.)

    2

    Input Register (R)

    0x0024

    CO2 (Actual)

    2

    Input Register (R)

    0x0025

    CO2 (Average)

    2

    Input Register (R)

    0x0026

    CO2 (Min)

    2

    Input Register (R)

    0x0027

    CO2 (Max)

    2

    Input Register (R)

    0x0028

    CO2 (Std. Dev.)

    2

    Input Register (R)

    0x0029

    Device Pitch (Actual)

    2

    Input Register (R)

    0x002A

    Device Roll (Actual)

    2

    Input Register (R)

    0x002B

    Device Temperature

    2

    Holding Register (R/W)

    0x0101

    Device Address

    2

    Holding Register (R/W)

    0x0102

    Baud Rate

    2

    Holding Register (R/W)

    0x0103

    Statistics Period (Secs)

    2

    Holding Register (R/W)

    0x0104

    IMU Correction (Pitch)

    2

    Holding Register (R/W)

    0x0105

    IMU Correction (Roll)

    2

    0x03

    Read holding registers

    Returns configuration parameters

    2

    0x04

    Read input registers

    Returns measured readings and statistics

    2

    0x06

    Input Register (R)

    0x0001

    Air Quality Index (Actual)

    2

    Input Register (R)

    0x0002

    Air Quality Index (Average)

    2

    Input Register (R)

    Write single register

    0x0003

    R'IO: Mini PLC

    A new version of mini PLC is coming soon! Please note that the current version will be deprecated, so stay tuned for updates and details on the latest features and improvements.

    Mini PLC is a compact and affordable solution for non-real-time input monitoring applications. It features analog & digital inputs, relays, and RS-485 connectivity. In addition, this device supports flexible wireless networking options such as LoRa, WiFi, or cellular connectivity, making it suitable for remote monitoring and control applications.

    Technical Specifications

    The following table outlines the capabilities of the device.

    Property
    Value

    Inputs

    8x 5…24V Isolated digital inputs with common ground

    4x 0…10V Filtered analog inputs with common ground

    Outputs

    2x AC 240V / DC 30V 10A SPST relays with COM & NO connections

    Wireless connectivity

    M.2 Key-E Socket for type 2230-XX-E modules

    Wired connectivity

    Half-Duplex RS-485 Transceiver

    Onboard sensors

    Internal temperature measurement

    Compatible Connectivity Modules

    The following connectivity options work with R'IO.

    Communication Protocols

    R'IO's stock firmware supports the following communication protocols. You can develop custom firmware to add more.

    Physical Properties

    This table shows the mechanical properties of the device.

    Property
    Value

    Mounting Style

    DIN 35mm Top Hat Rail: EN 50022 Screw Mount

    Dimensions

    70w x 90h x 60d mm

    Weight

    < 200g

    Mounting Options

    The unit has two mounting options: the DIN rail and the screw mount.

    Environmental Conditions

    Environmental Conditions refer to the physical and atmospheric conditions surrounding the device.

    Property
    Value

    Operating Ambient Temperature

    0°C…+60°C

    Relative Humidity

    0°C…+30°C: 80% +30°C…+60°C: 50%

    Pollution Degree

    PD2

    Altitude

    < 2000m AMSL

    Vibration (5 ≤ f ≤ 9 Hz)

    1,75 mm amplitude sinus 3,5 mm amplitude random

    Electrical Characteristics

    This table indicates the electrical specifications of the device.

    Property
    Value

    Main Supply

    DC 24V w/ relays

    DC 5…24V w/o relays

    Digital Inputs

    DC 12…24V (Isolation Voltage: 3,750Vrms)

    Analog Inputs

    DC 0…10V

    Relays

    AC 240V 10A

    DC 30V 10A

    RS-485

    -7…+12V (No internal termination)

    Absolute Maximum Ratings

    Absolute maximum ratings indicate the maximum electrical or environmental parameters this device can withstand without damage.

    Stresses above the absolute maximum ratings listed in the table may cause permanent damage to the device. These are stress ratings only, and the functional operation of the device under these conditions is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.

    Property
    Value

    Main Supply

    DC 26V w/ relays DC 30V w/o relays

    Digital Inputs

    DC 30V

    Analog Inputs

    DC 15V

    Relays

    AC 240V 10A

    DC 30V 10A

    RS-485

    -7…+12V

    Connectivity Options

    This table lists the communication options of the device.

    Property
    Value

    Connectivity Socket

    PCIe M.2 Key E Socket: 3.3V Power domain, 1.8V I/O, USART, SPI

    Connection Diagram

    This diagram visualizes how the PLC connects with the surrounding.

    Pin Description

    This table explains the function and electrical characteristics of each pin or terminal on the device.

    Port
    Type
    Function
    Description

    T-01

    Power

    DC +24V Supply

    Supply voltage input (+24V)

    T-02

    Power

    System GND

    Supply ground

    T-03

    Libraries and Samples

    Some of our devices come with firmware that automatically utilizes the module without requiring any coding. For development kits or further customization, you may choose to use the following libraries and samples to create a custom application.

    R'IO Front View
    M.2 BLE 802.15.4 Module
    M.2 CAT-M NB-IoT Module
    M.2 Developer Module
    M.2 LoRa Module
    M.2 WiFi Module
    CoAP
    LoRaWAN
    Matter
    Modbus
    MQTT
    MCP23 Series Expander

    Memory

    Encrypted system configuration 2.000 point telemetry history with timestamp

    Microcontroller

    STM32 L4 Series ultra-low power MCU 32-bit ARM Cortex-M4 80MHz, 256KB ROM, 64KB RAM

    Power options

    DC 24V w/ relays

    DC 5…24V w/o relays

    Antenna

    Internal or external (SMA) options

    LEDs

    On-board status and power LEDs

    User input

    On-board configuration button

    Vibration (9 ≤ f ≤ 150 Hz)

    0,5 g acceleration sinus 1,0 g acceleration random

    Storage

    -20°C…+60°C

    10%…90% rH

    RTC Battery

    DC 3V Super-capacitor (optional)

    M.2 Port

    PCIe M.2 Key-E

    DC 3.3V Supply, 1.8V SPI I/O

    Internal Fuse

    DC 60V 6A 1206 Case Slow-burning

    RTC Battery

    DC 3.3V

    Digital Input

    Common GND

    Digital inputs shared ground (isolated from the system)

    T-04

    Digital Input

    Channel 1

    Isolated digital input channel 1 (+5…24V)

    T-05

    Digital Input

    Channel 2

    Isolated digital input channel 2 (+5…24V)

    T-06

    Digital Input

    Channel 3

    Isolated digital input channel 3 (+5…24V)

    T-07

    Digital Input

    Channel 4

    Isolated digital input channel 4 (+5…24V)

    T-08

    Digital Input

    Channel 5

    Isolated digital input channel 5 (+5…24V)

    T-09

    Digital Input

    Channel 6

    Isolated digital input channel 6 (+5…24V)

    T-10

    Digital Input

    Channel 7

    Isolated digital input channel 7 (+5…24V)

    T-11

    Digital Input

    Channel 8

    Isolated digital input channel 8 (+5…24V)

    B-01

    Relay

    Channel 1 COM

    Relay 1 common connection

    B-02

    Relay

    Channel 1 NO

    Relay 1 normally open connection

    B-03

    Relay

    Channel 2 COM

    Relay 2 common connection

    B-04

    Relay

    Channel 2 NO

    Relay 2 normally open connection

    B-05

    Com

    RS-485 Terminal A

    RS-485 Terminal A connection

    B-06

    Com

    RS-485 Terminal B

    RS-485 Terminal A connection

    B-07

    Analog Input

    Common GND

    Analog input ground (Shared with system ground)

    B-08

    Analog Input

    Channel 1

    Analog input channel 1 (0…+10V)

    B-09

    Analog Input

    Channel 2

    Analog input channel 2 (0…+10V)

    B-10

    Analog Input

    Channel 3

    Analog input channel 3 (0…+10V)

    B-11

    Analog Input

    Channel 4

    Analog input channel 4 (0…+10V)

    LoRaWAN

    LoRaWAN, which stands for Long Range Wide Area Network, is a wireless communication protocol designed for low-power IoT devices. It enables secure and scalable data transmission over long distances while consuming minimal power. This makes it well-suited for widespread use in smart cities, industrial IoT, and agricultural applications.

    This document describes LoRaWAN protocol support and payload structure for data transmission.

    Protocol Specifications

    The latest firmware complies with the following LoRaWAN specifications.

    Property
    Value

    Payload Format

    Uplink Frame Ports

    The frame port is a data frame field specifying the application-specific commands or data payload type. For instance, Device firmware uses the frame port field to tell the payload formatter how to decode the transmitted message.

    Frame Port
    Event
    Description

    Uplink Payload Structure

    The firmware may dynamically change the telemetry payload according to its sensor configuration. Each sensor reading data, e.g., vibration, contains 4 bytes. This structure includes sensor type, statistics mode, and 24-bit sensor reading.

    For example, the firmware encodes an average of 100 Hz vibration on the x-axis as 00111001 00000001 10000110 10100000 where; - Bits [31:26] indicate the sensor data type (x-axis vibration), - Bits [25:24] indicate the statistics type (average), - And bits [23:0] indicate sensor reading (100,000 Hz).

    When the device reads more than one sensor data, it adds another 4-byte structure with the same logic for each reading. The illustrated sensor data structure is as follows.

    Sensor Data

    Bits
    Data
    Description

    Data Types

    Position: Bits [31:26]

    Index
    Data Type
    Signed
    Fraction
    Unit
    Description

    Statistics Types

    Position: Bits [25:24]

    Index
    Statistics Type
    Description

    Value

    Position: Bits [23:0]

    The value field carries the actual sensor readout. The payload formatter encodes the value according to the "signed" and "fraction" specifications of the data type.

    Uplink Payload Formatter

    Use the following Javascript code as the custom payload formatter script.

    Telemetry Log

    Periodic historical sensor readouts

    Yes

    4

    C

    Ambient temperature

    2

    Relative Humidity

    No

    4

    %

    Ambient relative humidity

    3

    Pressure

    No

    4

    hPa

    Air pressure

    4

    Gas Estimation

    No

    4

    %

    Classified gas estimation

    5

    IAQ

    No

    4

    AQI

    Indoor air quality index

    6

    VOC

    No

    4

    ppm

    Volatile organic compounds

    7

    NOx

    No

    2

    ppb

    Nitrogen oxides index

    8

    CO2

    No

    2

    ppm

    CO2

    9

    Particulate Matter

    No

    2

    μm

    Particles in the air

    10

    Dew Point

    Yes

    4

    C

    Dew Point

    11

    VPD

    No

    4

    kPa

    Vapor Pressure Deficit

    12

    Visible Light

    No

    0

    Human visible light

    13

    IR Light

    No

    0

    Infrared light

    14

    UV Index

    No

    4

    UV Index

    Ultraviolet index

    15

    Light Custom

    No

    0

    N/A

    Application specific data

    16

    Angle

    Yes

    4

    deg

    Device angle

    17

    Vibration

    No

    4

    Hz

    Vibration of the device

    18

    RPM

    No

    2

    Ticks

    Revolutions per minute

    19

    Speed

    No

    4

    Km/h

    Current speed

    20

    Latitude

    Yes

    4

    deg

    Current latitude

    21

    Longitude

    Yes

    4

    deg

    Current longitude

    22

    Altitude

    Yes

    2

    m

    Current altitude

    23

    Heading

    Yes

    4

    deg

    Current heading

    24

    Weight

    No

    0

    g

    Measured weight

    25

    Distance

    No

    0

    mm

    Distance to an object

    26

    Contact

    No

    0

    bits

    Contact sensor state

    27

    Movement Detect

    No

    0

    bits

    PIR sensor state

    28

    Wind Speed

    No

    4

    Km/h

    Current wind speed

    29

    Wind Direction

    Yes

    4

    deg

    Current wind degree

    30

    Precipitation

    No

    2

    mm

    Current rainfall

    31

    Soil Moisture

    No

    4

    %

    Soil moisture level

    32

    Water Flow

    No

    0

    Ticks

    Amount of water flow

    33

    Water Conductivity

    No

    0

    µmhos/cm

    Water EC

    34

    pH

    No

    4

    pH

    Water pH

    35

    Salinity

    No

    4

    ppt

    Concentration of salt in water

    36

    TDS

    No

    4

    ppm

    Total dissolved solids

    37

    Water Custom 1

    No

    0

    N/A

    Application specific data

    38

    Water Custom 2

    No

    0

    N/A

    Application specific data

    39

    Water Custom 3

    No

    0

    N/A

    Application specific data

    40

    Voltage

    No

    4

    V

    Voltage reading

    41

    Current

    No

    2

    A

    Current passing

    42

    Frequency

    No

    4

    Hz

    Mains frequency

    43

    Real Power

    No

    2

    W

    Energy consumption

    44

    Apparent Power

    No

    2

    VA

    Voltage Current

    45

    Reactive Power

    No

    2

    VAR

    Voltage-Current phase shift

    46

    Power Factor

    No

    4

    %

    Real power ratio

    47

    Phase Angle

    No

    4

    deg

    Angular time-shift

    48

    Custom 1

    No

    0

    N/A

    Application specific data

    49

    Custom 2

    No

    0

    N/A

    Application specific data

    50

    Custom 3

    No

    0

    N/A

    Application specific data

    51

    Custom 4

    No

    0

    N/A

    Application specific data

    52

    Sound Pressure

    Yes

    4

    dB

    Sound pressure

    53

    Solar Radiation

    No

    2

    W/m²

    Solar power to panel area ratio

    54

    Probe Temperature

    Yes

    3

    C

    Probe temperature

    55

    Probe Pressure

    No

    2

    hPa

    Probe pressure input

    56

    UID

    No

    0

    Bytes

    Unique Id

    57

    Time

    No

    0

    N/A

    Event timestamp

    58

    Battery Voltage

    No

    4

    V

    Battery input Voltage

    59

    Solar Voltage

    No

    4

    V

    Solar panel input Voltage

    60

    Counter

    No

    0

    Ticks

    Digital input change counter

    61

    Duty Cycle

    No

    4

    %

    Digital input duty cycle

    62

    Analog Input

    No

    4

    V

    Analog input reading

    63

    Digital Input

    No

    0

    Bits

    Digital input port state

    Maximum

    Maximum of the historical data

    LoRaWAN Version

    1.0.4

    Regional Parameters Version

    RP002 Regional Parameters 1.0.4

    Available Frequency Plans

    EU868 (Europe) US902-928 (USA, Canada, and South America)

    1

    System

    Device state

    2

    Telemetry

    Periodic sensor readouts

    3

    Telemetry Alert

    Alarm state

    [31:26]

    Data Type

    Sensor readout type, e.g., temperature or light intensity

    [25:24]

    Statistics Type

    Statistical type of the readout, e.g., actual, average, min, or max

    [23:0]

    Value

    Sensor readout

    0

    Null / Terminator

    N/A

    N/A

    N/A

    Indicates no reading

    1

    0

    Actual

    Latest sensor reading

    1

    Average

    Average of the historical data

    2

    Minimum

    Minimum of the historical data

    Uplink Payload Structure

    4

    Temperature

    3

    Uplink Payload Formatter
    // Enginique Uplink Payload Formatter Version 1.3.4
    function decodeUplink(input) {
        let addFraction = (n, d) => n / (10 ** d);
        let decodeReadingId = (d) => d >> 2;
        let decodeStatisticsId = (d) => d & 0x03;
    
        let data = {};
    
        // Events
        const events = {
            2: "telemetry",
            3: "telemetry alert",
            4: "telemetry log"
        };
    
        // Reading structures (type, signed, fraction)
        const readingStructures = {
            0: ["null", false, 0],
            1: ["temperature", true, 4],
            2: ["relative_humidity", false, 4],
            3: ["pressure", false, 4],
            4: ["gas_estimation", false, 4],
            5: ["iaq_index", false, 4],
            6: ["voc", false, 4],
            7: ["nox_index", false, 2],
            8: ["co2_concentration", false, 2],
            9: ["particulate_matter", false, 2],
            10: ["dew_point", true, 4],
            11: ["vpd", false, 4],
            12: ["visible_light", false, 0],
            13: ["ir_light", false, 0],
            14: ["uv_index", false, 4],
            15: ["light_custom", false, 0],
            16: ["angle", true, 4],
            17: ["vibration", false, 4],
            18: ["rpm", false, 2],
            19: ["speed", false, 4],
            20: ["latitude", true, 4],
            21: ["longitude", true, 4],
            22: ["altitude", true, 2],
            23: ["heading", true, 4],
            24: ["weight", false, 0],
            25: ["distance", false, 0],
            26: ["contact", false, 0],
            27: ["movement_detection", false, 0],
            28: ["wind_speed", false, 4],
            29: ["wind_direction", true, 4],
            30: ["precipitation", false, 2],
            31: ["soil_moisture", false, 4],
            32: ["water_flow", false, 0],
            33: ["water_conductivity", false, 0],
            34: ["ph", false, 4],
            35: ["salinity", false, 4],
            36: ["tds", false, 4],
            37: ["water_custom_1", false, 0],
            38: ["water_custom_2", false, 0],
            39: ["water_custom_3", false, 0],
            40: ["voltage", false, 4],
            41: ["current", false, 2],
            42: ["frequency", false, 4],
            43: ["real_power", false, 2],
            44: ["apparent_power", false, 2],
            45: ["reactive_power", false, 2],
            46: ["power_factor", false, 4],
            47: ["phase_angle", true, 4],
            48: ["custom_1", false, 0],
            49: ["custom_2", false, 0],
            50: ["custom_3", false, 0],
            51: ["custom_4", false, 0],
            52: ["sound_pressure", true, 4],
            53: ["solar_radiation", false, 2],
            54: ["probe_temperature", true, 3],
            55: ["probe_pressure", false, 2],
            56: ["uid", false, 0],
            57: ["time", false, 0],
            58: ["battery_voltage", false, 4],
            59: ["solar_voltage", false, 4],
            60: ["counter", false, 0],
            61: ["duty_cycle", false, 4],
            62: ["analog_input", false, 4],
            63: ["digital_input", false, 0]
        };
    
        // Three-letter statistics type abbreviations
        const statistics = {
            0: "",
            1: "_avr",
            2: "_min",
            3: "_max"
        };
    
        // Decode frame port
        data.event = events[input.fPort];
    
        // Sensor data decoding for "telemetry" and "telemetry alert" frame ports
        if (input.fPort == 2 || input.fPort == 3) {
            for (let i = 0; i < input.bytes.length; i += 4) {
                const readingId = decodeReadingId(input.bytes[i]);
    
                // Stop decoding if data type is null
                if (readingId == 0)
                    break;
    
                // Decode digital input channels
                else if (readingId == 63) {
                    for (let j = 0; j < 8; j++) {
                        const prop = (input.bytes[i + 3] >> j) & 1;
                        data[`di${j + 1}`] = prop == 1 ? true : false;
                    }
                }
    
                // Decode other data types
                else {
                    // Decode data type
                    let prop;
                    // If multiple-read data type, e.g., vlt_1, vlt_2
                    if ([4,9,16,17,18,40,41,42,43,44,45,46,47,54,55,60,61,62].includes(readingId))
                    {
                        for (let j = 1; j <= 64; j++) {
                            let tempProp = `${readingStructures[readingId][0]}_${j}${statistics[decodeStatisticsId(input.bytes[i])]}`;
                            if (data[tempProp] == null) {
                                prop = tempProp;
                                break;
                            }
                        }
                    }
                    // If single-read data type, e.g., tmp, pre
                    else {
                        prop = `${readingStructures[readingId][0]}${statistics[decodeStatisticsId(input.bytes[i])]}`;
                    }
    
                    // Decode value
                    const value = (input.bytes[i + 1] << 16) + (input.bytes[i + 2] << 8) + (input.bytes[i + 3]);
    
                    // Get the fraction
                    const fraction = readingStructures[readingId][2];
    
                    // Check if the data type is signed
                    if (readingStructures[readingId][1]) {
                        // Decode signed data
                        const negative = ((value >> 23) & 1) == 1 ? true : false;
                        data[prop] = addFraction(negative ? -((~(value - 1)) & 0xFFFFFF) : value, fraction);
                    }
                    else {
                        // Decode unsigned data
                        data[prop] = addFraction(value, fraction);
                    }
                }
            }
        }
    
        return {
            data: data
        };
    }