Skip to main content

Supported Sensors

Introduction

This page lists the sensors Betaflight has drivers for. It reflects firmware master; older releases may not include the most recently added parts.

The authoritative source is always the firmware itself — see the driver directories src/main/drivers/accgyro, barometer, compass, rangefinder, opticalflow and flash. Board manufacturers should use the exact define names listed in the Manufacturer Design Guidelines.

note

Having a driver does not make a part a good choice. Recommendations for new hardware designs are in the Manufacturer Design Guidelines, and parts that are no longer accepted for new designs are called out there.

Gyroscope and Accelerometer

For new designs, gyroscopes must be connected over SPI. I2C gyros are only supported on legacy boards.

ChipBusNotes
ICM-42688-PSPIRecommended for new designs; 8 kHz sampling, external clock input supported
LSM6DSK320XSPISupported alternative where the ICM-42688-P cannot be sourced
LSM6DSV16XSPI
LSM6DSO / LSM6DSOXSPI
ICM-42605SPI
ICM-42622-PSPI
ICM-42686-PSPI
ICM-45605SPI6.4 kHz gyro sampling
ICM-45686SPI6.4 kHz gyro sampling
ICM-56686SPI6.4 kHz gyro sampling
ICM-40609DSPI
IIM-42652SPI
IIM-42653SPI
ICM-20649SPI
ICM-20689SPI
ICM-20601 / ICM-20602 / ICM-20608GSPIHandled by the MPU6500 driver
MPU-6000SPIEnd-of-life; still the most common part in existing configs
MPU-6500SPILegacy, not accepted for new designs
MPU-9250SPILegacy; includes an AK8963 magnetometer
BMI270SPINot recommended (uncalibrated gyro, 3.2 kHz maximum sample rate)
BMI160SPILegacy
MPU-6050I2CLegacy only; I2C gyros are not accepted for new designs
L3GD20SPIObsolete gyro-only part

The BMI323 is not supported.

Barometer

Betaflight strongly recommends connecting barometers over I2C.

ChipBusNotes
DPS310 / DPS368I2C / SPIOne driver covers DPS310, DPS368, SPL07-003 and SPA06-003. DPS368 is the most accurate of the family
BMP280I2C / SPIVery common; beware clones that report as a BMP280
BMP388I2C / SPI
BMP580 / BMP581I2CDefault I2C address 0x47 (0x46 with SDO low), unlike the 0x76/0x77 used by most barometers
MS5611I2C / SPI
QMP6988I2C / SPI
LPS22DFI2C / SPI
LPS22 / LPS25 / LPS33 / LPS35SPISTMicroelectronics LPS family, SPI only (USE_BARO_SPI_LPS)
2SMPB-02BI2C / SPI
BMP085I2CLegacy, not recommended for new designs

There is no separate DPS368 or BMP390 driver — use the DPS310 and BMP388 drivers respectively.

Magnetometer

Betaflight strongly recommends connecting magnetometers over I2C, and using each part's default I2C address so that it can be detected automatically.

ChipBusNotes
QMC5883LI2CNormal axis orientation, works well; default address 0x0D
QMC5883PI2CDefault address 0x2C
HMC5883LI2C / SPI
LIS2MDLI2C
LIS3MDLI2C
MMC560XI2C
AK8963I2C / SPIAlso reachable through the MPU925X pass-through
AK8975I2CLegacy
IST8310I2CNot recommended — non-standard axis orientation requires a custom alignment. Auto-detected at 0x0E only; the other CAD-selected addresses (0x0C, 0x0D, 0x0F) need mag_i2c_address set manually

Rangefinder and Optical Flow

DeviceInterfaceNotes
Benewake TFmini / TF02 / TFnovaUARTRangefinder
Micoair MTF-01 / MTF-02UART, MSPRangefinder and optical flow
UPT1UARTRangefinder and optical flow
Nooploop TOFSenseUARTRangefinder
HC-SR04GPIOUltrasonic rangefinder, legacy

Blackbox Flash

Chip familyInterfaceNotes
Winbond W25Qxx and JEDEC-compatible NORSPI / QuadSPIOnly the chips in the M25P16 driver's JEDEC ID table
Winbond W25Q128FVQuadSPI / OctoSPIOn plain SPI the same part is handled by the M25P16 driver
PUYA PY25Q128HASPIUses the M25P16 driver
Winbond W25N01G / W25N02KSPI / QuadSPINAND
Winbond W25M512 / W25M02GSPIStacked die
Micron MT29FSPI / QuadSPINAND, 3.3 V and 1.8 V variants
Macronix MX66UW1G45GOctoSPISelected through the target's config.mk, not a config.h define

An SD card can be used instead of flash where the board provides one.