Getting Started with FoBE Breakout SHT40

Introduction
The FoBE Breakout SHT40 integrates the Sensirion SHT40 digital temperature and humidity sensor, featuring high accuracy and ultra-low power consumption with 16-bit data output. Multiple connectivity options are provided for easy integration into various applications.
Applications
- Climate monitoring and control systems
- Cold chain data loggers
- Smart thermostats
- Anti-fogging applications
Key Features
-
SHT40
- Relative humidity accuracy: up to ±1.5 %RH
- Temperature accuracy: up to ±0.1 °C
- Supply voltage: 1.08 V to 3.6 V
- Average current: 0.4 µA (at measurement rate 1 Hz)
- Idle current: 80 nA
- I²C fast mode plus interface
- CRC checksum for data integrity
- Operating range: 0 to 100 %RH, -40 to 125 °C
- Fully functional in condensing environment
- Variable power heater for dehumidification
- NIST traceability certified
- JEDEC JESD47 qualification
-
Connectivity
- MFP-IIC interface (JST-SH1.0 4-Pin)
- 4 x 2.54mm Pin Header
Hardware diagram
The following figure illustrates the FoBE Breakout SHT40 hardware diagram.

Mechanical dimensions
FoBE Breakout SHT40 is a single-sided 25.4mm x 25.4mm (1" x 1") 1.6mm thick PCB with two SH1.0 4-pin connectors and a set of 4-pin 2.54mm header holes. Fixing by 4 x 1.6mm Screw holes.

Interfaces
The module provides dual 4-Pin JST SH1.0 connectors, compatible with STEMMA QT / Qwiic.
| 2.54mm 4-Pin | JST-SH1.0 | Features |
|---|---|---|
| GND | GND | Ground |
| 3V3 | 3V3 | Power supply, Only 3.3V |
| SDA | SDA | I2C-Data line |
| SCL | SCL | I2C-Clock line |
Advanced
Jumper
The module features one jumper pad:
| Interface | Description |
|---|---|
| LED-JUMPER | Disconnect this jumper to turn off the power LED for further power saving |
Programming
Running with FoBE Quill ESP32S3 Mesh
Let's get started with the FoBE Quill ESP32S3 Mesh using the MFP interface.
- Connect the FoBE Breakout SHT40 to the FoBE Quill ESP32S3 Mesh using the MFP interface.

-
Create a sketch or PlatformIO project, or follow the FoBE Quill ESP32S3 Programming Guide for pre-configuration.
-
Install the necessary library in your project:
sensirion/Sensirion I2C SHT4x@^1.1.2
- Copy the following code into your sketch or PlatformIO project:
#include <SensirionI2cSht4x.h>
#define I2C_SDA_PIN PIN_MFP3 // SDA pin for MFP to I2C cable, change if needed
#define I2C_SCL_PIN PIN_MFP4 // SCL pin for MFP to I2C cable, change if needed
#define PERI_EN_PIN PIN_PERI_EN // Peripheral enable pin, change if needed
SensirionI2cSht4x sensor;
void setup()
{
// Initialize serial communication
Serial.begin(115200);
Serial.println("Serial initialized");
// Initialize peripheral power
if (PERI_EN_PIN >= 0)
{
pinMode(PERI_EN_PIN, OUTPUT);
digitalWrite(PERI_EN_PIN, HIGH); // Enable peripheral power
Serial.println("Peripheral power enabled");
}
// Initialize sensor
Wire.begin(I2C_SDA_PIN, I2C_SCL_PIN);
sensor.begin(Wire, SHT40_I2C_ADDR_44);
Serial.println("I2C bus initialized");
// Initialize SHT4x sensor
sensor.softReset();
delay(10);
Serial.println("SHT4x sensor initialized");
// Start measurement (equivalent to startStandardMeasure)
// SHT4x is ready for measurements after reset
}
void loop()
{
delay(1000); // Wait equivalent to sensor.wait()
float temperature = 0.0;
float humidity = 0.0;
// Equivalent to sensor.update() == RESULT_OK
int16_t error = sensor.measureLowestPrecision(temperature, humidity);
if (error == 0) // 0 means no error
{
// Equivalent to sensor.hasNewData()
if (temperature != 0.0 || humidity != 0.0)
{
// Display data on screen
Serial.print("\033[H\033[J");
Serial.println("> FoBE Breakout SHT40 Monitor");
Serial.println();
Serial.print("\033[7m");
Serial.printf("%-12s%-12s%-12s\n", "INDEX", "VALUE", "UNIT");
Serial.print("\033[0m");
Serial.printf("%-12s%-12.2f%-12s\n", "TEMP", temperature, "°C");
Serial.printf("%-12s%-12.2f%-12s\n", "HUMIDITY", humidity, "%RH");
}
}
}
This example code uses ANSI output formatting. Your terminal must support ANSI escape codes to display the output correctly.
# platformio.ini
[env:fobe_quill_esp32s3_mesh]
platform = FoBE Espressif 32
board = fobe_quill_esp32s3_mesh
framework = arduino
lib_deps =
sensirion/Sensirion I2C SHT4x@^1.1.2
monitor_speed = 115200
monitor_raw = true
- Build and upload the project. You should see the FoBE Breakout SHT40 Monitor output in the serial monitor (raw mode).
> FoBE Breakout SHT40 Monitor
INDEX VALUE UNIT
TEMP 26.65 °C
HUMIDITY 66.84 %RH
Resources
[PDF] FoBE Breakout SHT40 Datasheet
[PDF] FoBE Breakout SHT40 Schematic