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.