BMA400 Accelerometer Module

Bosch Sensortec

BMA400 3-axis digital accelerometer module based on the Bosch Sensortec BMA400 sensor, with ultra-low-power operation, I2C and SPI communication, selectable ±2g to ±16g ranges and built-in motion features.

Specifications

Sensor Type 3-Axis Accelerometer
Resolution 12-bit
Accelerometer Range ±2g / ±4g / ±8g / ±16g
Interface I2C / SPI
I2C Address 0x14 / 0x15
Output Data Rate 12.5 Hz to 800 Hz
Supply Voltage 1.71V to 3.6V
I/O Voltage 1.2V to 3.6V
Interrupts 2 Programmable Interrupts
FIFO 1 KB
Step Counter Integrated
Activity Recognition Walking / Running / Standing Still
Orientation Detection Integrated
Tap Detection Single / Double Tap
Operating Temperature -40°C to +85°C
Transparency Notice

Some links on this page are affiliate links. If you purchase through them, Embedded Nerd may earn a small commission at no additional cost to you. This helps support the website and allows us to continue creating free tutorials and guides. Thank you for your support!

Related Topics

Used in these tutorials

The BMA400 Accelerometer Module is a compact breakout based on the Bosch Sensortec BMA400 ultra-low-power 3-axis accelerometer.

The BMA400 measures acceleration along the X, Y and Z axes and supports selectable measurement ranges from ±2g to ±16g with 12-bit digital resolution.

It supports both I2C and SPI, making it suitable for Arduino, ESP32 and other embedded systems.

The sensor also includes several built-in motion features, including motion detection, orientation detection, tap and double-tap detection, step counting and activity recognition.

This makes the BMA400 particularly interesting for battery-powered projects where an accelerometer needs to remain active while consuming very little power.


Key Features

  • 3-axis accelerometer
  • 12-bit resolution
  • ±2g / ±4g / ±8g / ±16g selectable ranges
  • I2C and SPI communication
  • Ultra-low-power operation
  • Motion detection
  • Orientation detection
  • Single and double-tap detection
  • Integrated step counter
  • Activity recognition
  • Programmable interrupts
  • 1 KB FIFO
  • Automatic wake-up functionality
  • -40°C to +85°C operating temperature

The underlying BMA400 sensor is designed specifically for low-power applications such as wearables, IoT devices and continuously active battery-powered systems. :contentReference[oaicite:1]{index=1}


BMA400 with ESP32

The BMA400 is a particularly good match for the ESP32.

Using I2C, only SDA and SCL are required for communication, together with power and ground.

A typical ESP32 project can use:

  • ESP32 GPIO21 → SDA
  • ESP32 GPIO22 → SCL
  • 3.3V → VCC
  • GND → GND

The exact wiring depends on the breakout board used, so always check the module’s pinout before connecting it.

Our BMA400 ESP32 Tutorial provides a complete wiring guide and Arduino example.


Low-Power Motion Sensing

One of the main advantages of the BMA400 is its extremely low power consumption.

This allows the accelerometer to remain active in applications where battery life is important.

The BMA400 can detect motion and generate an interrupt without requiring the ESP32 to continuously poll the sensor.

This makes it useful for:

  • Battery-powered IoT devices
  • Wearables
  • Security sensors
  • Motion detectors
  • Portable electronics
  • Wake-on-motion projects

Built-In Motion Features

The BMA400 provides several motion-related features directly in the sensor.

These include:

  • Motion detection
  • Orientation detection
  • Single-tap detection
  • Double-tap detection
  • Step counting
  • Activity recognition

Activity recognition can distinguish between walking, running and standing still.

This allows an application to perform higher-level motion detection without implementing every algorithm on the ESP32.


Step Counter

The integrated step counter makes the BMA400 particularly interesting for wearable and activity-tracking projects.

The sensor can perform step detection internally and provide the resulting information to the host microcontroller.

This can reduce both processing requirements and power consumption.


I2C Communication

The BMA400 supports I2C communication and can use either:

  • 0x14
  • 0x15

The exact address depends on the hardware configuration.

Because I2C supports multiple devices on the same bus, the BMA400 can share the ESP32’s SDA and SCL lines with devices such as an SSD1306 OLED.

Our I2C Scanner Tutorial explains how to identify I2C devices and their addresses.


BMA400 vs MPU6050

The BMA400 and MPU6050 are useful for different types of projects.

The BMA400 provides:

  • 3-axis acceleration
  • Ultra-low-power operation
  • Motion detection
  • Orientation detection
  • Tap detection
  • Step counting
  • Activity recognition

The MPU6050 combines:

  • 3-axis acceleration
  • 3-axis gyroscope

If your project needs rotational measurements, the MPU6050 is the better choice.

If you need a low-power accelerometer with built-in motion features, the BMA400 is an attractive alternative.

See our MPU6050 Accelerometer & Gyroscope product page for comparison.


Arduino and ESP32 Compatibility

The BMA400 can be used with Arduino and ESP32 boards through I2C or SPI.

For an ESP32, I2C is generally the easiest interface for a first project.

The SparkFun BMA400 Arduino Library provides support for configuring the sensor and reading acceleration data.

Our BMA400 ESP32 Tutorial provides a practical example.


OLED Projects

The BMA400 can be combined with an SSD1306 OLED to create a compact motion monitor.

For example, an ESP32 can display:

  • X acceleration
  • Y acceleration
  • Z acceleration
  • Orientation
  • Motion status
  • Step count

The BMA400 and OLED can share the same I2C bus when their addresses do not conflict.

See our ESP32 OLED Tutorial – Wiring, Code & Display Guide for the OLED side of the project.


Applications

The BMA400 module is suitable for projects such as:

  • ESP32 motion detectors
  • Tilt sensors
  • Wearable electronics
  • Step counters
  • Activity trackers
  • Motion-controlled interfaces
  • Battery-powered IoT devices
  • Wake-on-motion systems
  • Security sensors
  • OLED motion displays
  • Robotics projects


Buy the BMA400 Module

If you are looking for an inexpensive BMA400 breakout for an ESP32 or Arduino project, you can check the module used as the recommended hardware for this guide.

Check the BMA400 Accelerometer Module on AliExpress

This page contains an affiliate link. Embedded Nerd may earn a commission from qualifying purchases at no additional cost to you.