Gravity: BMP585 High-Precision Barometric Pressure Sensor

SKU: SEN0664

The BMP585 sensor is designed for high-precision measurement of atmospheric pressure, temperature, and altitude. Built around the Bosch BMP585, it offers improved accuracy (±0.3 hPa), low power consumption (approx. 700μA), and stability in harsh environments. Featuring industrial-grade protective design, it resists moisture, chemical corrosion, and extreme weather. Advanced compensation algorithms and hardware-level data buffering ensure reliable output in dynamic scenarios. Supporting I2C and UART communication, the sensor comes with open-source code libraries for Arduino and Python, facilitating easy integration. Suitable for drone altitude hold, outdoor navigation, indoor/outdoor positioning, meteorological monitoring, and GPS navigation enhancement.

Overview of Gravity: BMP585 High-Precision Barometric Pressure & Temperature Sensor
  • Docs
  • Tech Specs
  • 1. Example Code for Arduino-I2C Continuous Data Reading

    The article outlines the process of setting up and programming an Arduino board to continuously read atmospheric pressure, temperature, and altitude using a BMP585 sensor.

    2. Example Code for Arduino-UART Continuous Data Reading

    This article offers a comprehensive guide on using Arduino UART communication to continuously read data from the BMP585 barometric pressure sensor.

    3. Example Code for Arduino-FIFO & Interrupt Data Reading

    This guide focuses on using FIFO and interrupt read techniques in Arduino to optimize sensor data handling, covering setup, wiring, and sample code for the BMP585 barometric sensor.

    4. Modbus Register Definitions

    Modbus Register Definitions for Gravity: BMP585 High-Precision Barometric Pressure Sensor

    5. Reference

    Specification

    Basic Parameters

    Parameter Value
    Operating Voltage DC 3.3~5V
    Operating Current 700μA
    Communication Interface I2C / UART
    Interface Form PH2.0-4P (Gravity Pinout) / 2.54mm Pin Header Socket
    I2C Address 0x47 (Default) / 0x46

    BMP585 Parameters

    Parameter Value
    Pressure Measurement Range 30 ~ 125 kPa
    Temperature Measurement Range 0 ~ 65 °C
    Absolute Pressure Accuracy ±0.3 hPa (Typ.)
    Relative Pressure Accuracy ±0.06 hPa / 10 kPa (Typ.)
    Relative Altitude Accuracy ±0.5 m / 10 kPa
    Temperature Drift Coefficient ±0.5 Pa / K
    Pressure Data Resolution 1 / 64
    Ultra-Low Noise < 0.1 Pa (RMS, without low-pass filter enabled)

    Physical Dimensions

    Parameter Value
    PCB Dimensions 32 × 27 × 7.18 mm
    Mounting Hole Spacing 25×20 mm
    Mounting Hole Diameter 3.0 mm

    Pinout

    SEN0664-Pinout

    Interface Pin Description

    Pin Silkscreen Function Description
    D/T Multiplexed Pin: Data Line (SDA) in I2C mode, Transmit Terminal (TXD) in UART mode
    C/R Multiplexed Pin: Clock Line (SCL) in I2C mode, Receive Terminal (RXD) in UART mode
    GND Power Negative (Ground)
    VCC Power Positive (Supply Input: 3.3 ~ 5V)
    INT Interrupt Output Pin (General-Purpose)

    Notes:

    • The setting of the "I2C/UART Switch" persists after power-off, and the new mode takes effect after device restart.

    Was this article helpful?

    TOP