Getting Started with FoBE Breakout LPS22

Introduction
The FoBE Breakout LPS22 integrates the ST LPS22HB digital barometric pressure sensor, supporting data output rates up to 75Hz with 24-bit pressure and 16-bit temperature data output. Multiple connectivity options are provided for easy integration into various applications.
Applications
- Altimeters and barometers for portable devices
- Weather station equipment
Key Features
-
LPS22HB
- 260 to 1260 hPa absolute pressure range
- High overpressure capability: 20x full-scale
- Embedded temperature compensation
- 24-bit pressure data output
- 16-bit temperature data output
- ODR from 1 Hz to 75 Hz
- Embedded FIFO
- Interrupt functions: Data Ready, FIFO flags, pressure thresholds
- High shock survivability: 22,000 g
- Small and thin package
- ECOPACK® lead-free compliant
-
Connectivity
- MFP-IIC interface (JST-SH1.0 4-Pin)
- 5 x 2.54mm Pin Header
Hardware diagram
The following figure illustrates the FoBE Breakout LPS22 hardware diagram.

Mechanical dimensions
FoBE Breakout LPS22 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 5-pin 2.54mm header holes. Fixing by 4 x 1.6mm Screw holes.

Interfaces
The module provides dual 5-Pin JST SH1.0 connectors, compatible with STEMMA QT / Qwiic.
| 2.54mm 5-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 |
| INT | Interrupt, Active Low |
Advanced
Jumper
The module features two jumper pad:
| Interface | Description |
|---|---|
| LED-JUMPER | Disconnect this jumper to turn off the power LED for further power saving |
| LPS22-ADDR | I2C address selector: 0x5D Set JUMPER:H0x5C Set JUMPER:L |
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 LPS22 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:
adafruit/Adafruit LPS2X@^2.0.6
- Copy the following code into your sketch or PlatformIO project:
#include <Adafruit_LPS2X.h>
#define I2C_ADDRESS 0x5C // I2C address definition for LPS22
#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
Adafruit_LPS22 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_I2C(I2C_ADDRESS);
Serial.println("I2C bus initialized");
while (!sensor.begin_I2C(I2C_ADDRESS))
{
delay(200);
}
Serial.println("LPS22 sensor initialized");
// Start measurement
// LPS22 is ready for measurements after initialization
}
void loop()
{
delay(1000); // Wait equivalent to sensor.wait()
sensors_event_t temp, pressure;
Adafruit_Sensor *temp_sensor = sensor.getTemperatureSensor();
Adafruit_Sensor *pressure_sensor = sensor.getPressureSensor();
// Equivalent to sensor.update() == RESULT_OK
if (temp_sensor && pressure_sensor)
{
temp_sensor->getEvent(&temp);
pressure_sensor->getEvent(&pressure);
// Equivalent to sensor.hasNewData()
if (temp.temperature != 0.0 || pressure.pressure != 0.0)
{
// Display data on screen
Serial.print("\033[H\033[J");
Serial.println("> FoBE Breakout LPS22 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", temp.temperature, "°C");
Serial.printf("%-12s%-12.2f%-12s\n", "PRESSURE", pressure.pressure, "hPa");
}
}
}
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 =
adafruit/Adafruit LPS2X@^2.0.6
monitor_speed = 115200
monitor_raw = true
- Build and upload the project. You should see the FoBE Breakout LPS22 Monitor output in the serial monitor (raw mode).
> FoBE Breakout LPS22 Monitor
INDEX VALUE UNIT
TEMP 27.60 °C
PRESSURE 1001.28 hPa
Resources
[PDF] FoBE Breakout LPS22 Datasheet
[PDF] FoBE Breakout LPS22 Schematic
[PDF] FoBE Breakout LPS22 Dimension
[OBJ] FoBE Breakout LPS22 3D Model
[PDF] LPS22HB Datasheet