Motion · CEVA BNO080

BNO080 — i2c address & wiring

9-axis IMU with on-chip sensor fusion — outputs ready-made orientation, not raw axes.

Key facts

BNO080 at a glance

i2c address
0x4A0x4B
address-selectable via pins/jumpers
Logic voltage2.4–3.6 V
Typesensor
PartCEVA BNO080
Ships withQwiic

The chip

What the CEVA BNO080 actually is

Nine-axis system-in-package combining a three-axis accelerometer, gyroscope and magnetometer with an on-board 32-bit MCU running SH-2 sensor-fusion firmware — it outputs fused rotation vectors and quaternions directly instead of raw axes alone.

Watch out: Leans heavily on i2c clock stretching, which the Raspberry Pi's hardware controller famously mishandles — expect corrupted reads there. Pair it with a microcontroller, or put it on the Pi's software-i2c overlay instead.

Wiring

How to connect the BNO080

HOST · Arduino / ESP32 / Pi BNO080 3V3 VCC VCC · 2.4–3.6 V GND GND GND SDA SDA SDA · data SCL SCL SCL · clock 0x4A / 0x4B pull-up resistors to VCC on SDA & SCL — usually already on the breakout

The BNO080 talks i2c at address 0x4A (up to 2 selectable addresses, handy when you need more than one on the same bus). It runs at 2.4–3.6 V, so match your host's logic level — if your host is 5 V and a board on the bus is 3.3 V-only, add a level shifter. Use the compatibility checker to confirm the exact cable for your setup.

Because the address is selectable, you can run several BNO080 boards on one bus by setting each to a different address — no extra wiring beyond the shared SDA/SCL.

Wiring is the usual four: power, ground, SDA and SCL, plus pull-up resistors — almost always already fitted on the breakout. Nothing showing up? Run an i2c scan first; if the bus is silent, the 7-step checklist finds it faster than guessing.

Ecosystems

Plug-together options for the BNO080

BNO080 breakouts ship with Qwiic — keyed 4-pin cables carrying power, ground, SDA and SCL, so there's nothing to solder and nothing to wire backwards. Chain it to the next board and keep going.

Running a mixed bench? Those ecosystems interoperate more than their marketing suggests — see every connector pairing for the cable or adapter you need, or the standards overview for how they compare.

Alternatives

Other motion boards

Watch the bus

Boards that clash with the BNO080

These want addresses the BNO080 also answers (0x4A, 0x4B), so they can't share a bus with it untouched. If one is address-selectable, strap it elsewhere; if not, the conflict guide covers the multiplexer and second-bus routes, and the collision roundup explains why a scan won't warn you.

Get one

Questions

BNO080 i2c FAQ

What is the BNO080's i2c address?

The BNO080 uses 0x4A or 0x4B, selected with an address pin or solder jumper on the board. If a scan turns up something unexpected, our i2c address list names the usual suspect for every address.

What voltage does the BNO080 run at?

2.4–3.6 V logic. It's 2.4 V-only — driving it straight from a 5 V Arduino risks damage, so level-shift first.

Can I use two BNO080s on one i2c bus?

Yes — set each one to a different address (0x4A, 0x4B) using its address pin or jumper, then wire both to the same SDA/SCL. That gives you up to 2 on a single bus before you need a multiplexer.

Does the BNO080 work with Qwiic?

Yes — BNO080 breakouts ship with Qwiic, so it plugs straight in with no soldering. Mixing ecosystems? The compatibility checker gives you the exact cable or adapter.

What should I watch out for with the BNO080?

Leans heavily on i2c clock stretching, which the Raspberry Pi's hardware controller famously mishandles — expect corrupted reads there. Pair it with a microcontroller, or put it on the Pi's software-i2c overlay instead.