Creator Ray
Version 1.0.0
Created 2025-10-14
Availability 100%, 24/7
In Stock 10 units
Assets 3 files
Install this molecule

Paste this into Claude Code (VS Code panel, Adom editor, or terminal) to install:

Search the Adom Wiki for the molecule "BMI270_Bosch_v1" (slug: bmi270-bosch-v1-666000) at https://wiki-ufypy5dpx93o.adom.cloud/wiki/molecules/bmi270-bosch-v1-666000. Download its symbol (.kicad_sym), footprint (.kicad_mod), and 3D model (.glb/.step) assets into my current KiCad project under symbols/, footprints/, and 3dmodels/ directories. Register them in the project library tables. Show me the files once installed.

BMI270 Molecule — Hardware Reference

~16×16 mm breakout for the Bosch BMI270 low-power 6-axis IMU (accelerometer + gyroscope). Brings out the full interface including the BMI270's auxiliary I²C master bus for slaving an external magnetometer.

  • Source: adom-inc/bosch-molecules/Moecule_BMI270_Bosch_V1 — imported 2026-04-17 (folder name misspelled Moecule upstream; we preserve that on disk)
  • KiCad project: Moecule_BMI270_Bosch_V1.kicad_pro
  • Wiki page: molecules/bmi270-bosch-v1-666000
  • Board: 17 contacts arranged as two rows at X=82 mm (west edge) and X=90 mm (east edge), single-sided, silk revision V1: 2025-09-04
  • IC: BMI270 (Bosch LGA-14, U1)

Component summary

RefPartFunction
U1BMI2706-axis IMU (accel + gyro), LGA-14
C1100 nF 0402VDDIO decoupling
C2100 nF 0402VDD decoupling
R110 kΩ 0402Default pull-up on the I2C / 0x69 strap net → +VDDIO
Logo1Adom logosilkscreen only

External contact map

Positions in mm on the front copper. Two columns: west edge (X=82, silk labels on the left side) and east edge (X=90, silk labels on the right side).

West edge (primary interface column)

RefSilkNetRole
MP2VDD+VDDMain rail — 1.71–3.6 V
MC13VDD+VDD(duplicate — a second VDD tap)
MC11VIO+VDDIOLogic rail — 1.2–3.6 V (typically tied to VDD)
MC3CSBCSBInterface select: tie high for I²C (default via R1), tie low for SPI
MC12I2C/0x69/I2CI²C/SPI mode strap (see below)
MC1SDOSDO/0x68/0x69I²C address strap (see below)
MC20x69/0x69/I2CStrap option: bridge to MC1 for 0x69
MC100x68GNDStrap option: bridge to MC1 for 0x68
MP1GNDGNDGround

East edge (aux bus + interrupts + SPI lines)

RefSilkNetRole
MP3SDXSDXBMI270 primary serial data (I²C = SDA, SPI = MOSI)
MC6INT1INT1Interrupt / data-ready output 1
MC5(no silk)ASCXAux I²C SCL (BMI270 as I²C master to external mag)
MC4ASDXASDXAux I²C SDA (BMI270 as I²C master to external mag)
MC7ASDX (silk overlap)OSCBOSCB — SPI aux-bus clock for 4-wire internal slave-SPI debug
MC9OSCB (silk overlap)OSDOOSDO — SPI aux-bus data out
MC8INT2INT2Interrupt / data-ready output 2
MP4SCXSCXBMI270 primary serial clock (I²C = SCL, SPI = SCK)

Reading the silk

The silk is cramped on the east edge and labels overlap. Use the netlist (above) as ground truth; the .kicad_pcb coordinates give the true ordering top-to-bottom (Y=60 → Y=76) on that side:

Y=60  MP3  SDX                 (primary MOSI / SDA)
Y=62  MC6  INT1
Y=64  MC5  ASCX  (aux I²C SCL)
Y=66  MC4  ASDX  (aux I²C SDA)
Y=70  MC7  OSCB
Y=72  MC9  OSDO
Y=74  MC8  INT2
Y=76  MP4  SCX                 (primary SCK / SCL)

Interface strap (CSB — I²C vs SPI)

CSB net stateMode
Pulled high (default)I²C
Pulled low (bridge MC3 to GND)4-wire SPI

Schematic text annotation: "CSB shares SDO pullup when high." In practice: leave MC3 floating and the default R1 pull-up holds the chip in I²C mode.

I²C address strap

BMI270 I²C slave address is set by the SDO pin at power-up. On this molecule, SDO is brought out as a 3-way strap:

StrapSDO tied toI²C address
Bridge MC1 ↔ MC10 (silk 0x68)GND0x68 (demo firmware target ✓, Bosch default)
Bridge MC1 ↔ MC2 (silk 0x69)I2C/0x69 net (pulled up via R1)0x69

Schematic text: "Jumper to GND (LOW): 0x68 (Default). Jumper to VDDIO (HIGH): 0x69."

CRITICAL for bring-up: the default with MC1 floating is undefined — SDO is weakly coupled through R1 (10 kΩ pull-up) to the I2C/0x69 net, which would resolve to 0x69 if the user hasn't bridged anything. The firmware expects 0x68, so MC1 must be solder-bridged to MC10 (the GND strap silk'd 0x68). Verify this physically on the board before flashing.

Aux I²C bus (for standalone BMM350 fusion)

The BMI270 can act as an I²C master to a single external sensor via its aux bus (ASCX / ASDX). On this molecule the aux pads are brought out to external contacts (MC4 / MC5) — they are NOT auto-wired to anything on the PCB. If you want the BMI270 to fuse with an external BMM350, you have to wire MC4/MC5 off-board to the BMM350 breakout's SDA/SCK pins.

For our demo firmware, the arm-side magnetometer fusion is handled by the BHI360/BHI385 combo molecules (which have the BMM350 on their own internal aux bus). The standalone BMI270 therefore runs in 6-DOF mode only; MC4/MC5 can be left unconnected.

Power

RailVoltageSource
VDD1.71–3.6 VHost via MP2 (or MC13 as alternate tap)
VDDIO1.2–3.6 VHost via MC11

Datasheet annotation: "VDD/IO: 1.8 to 3.3. Typ: 685 µA." Typical active current is 685 µA with accelerometer + gyroscope in normal mode. For the demo: tie both VDD and VDDIO to +3.3 V.

Interrupts

INT1 (MC6) and INT2 (MC8) are push-pull active-low by default. Programmable for FIFO watermark, data-ready, any-motion, orientation, and the 8 kB feature engine (wrist-tilt, pickup, step counter). If unused → "If INT1,2 unused: DNC" (schematic note). Leave floating.

Wiring to the Arm RM2 I²C bus

BMI270 MP2 (VDD)  ──── RM2 +3V3
BMI270 MC11 (VIO) ──── RM2 +3V3           (tie VDDIO = VDD)
BMI270 MP1 (GND)  ──── RM2 GND
BMI270 MP3 (SDX)  ──── RM2 GPIO4 (I²C0 SDA, shared bus)
BMI270 MP4 (SCX)  ──── RM2 GPIO5 (I²C0 SCL, shared bus)
BMI270 MC6 (INT1) ──── (optional)
BMI270 MC8 (INT2) ──── (optional)
BMI270 MC4/MC5    ──── (unused — aux bus)
BMI270 MC7/MC9    ──── (unused — slave-SPI debug)

Bridge MC1 ↔ MC10 (solder blob or 0 Ω) to force SDO → GND → address 0x68.

Gotchas for firmware bring-up

  • SDO strap is not GND by default — on the bare v1 board, the default (unbridged) state is 0x69 via R1. Bridge MC1↔MC10 before powering up or the firmware will miss the 0x68 probe.
  • CSB must be high for I²C mode. The R1 pull-up handles this; just don't accidentally ground MC3.
  • BMI270 needs a config blob upload at boot (~8 KB) before accel/gyro work — already handled in firmware/sensors/bmi270.c, but it means a cold-boot read of raw registers before config upload returns garbage.
  • VDDIO must come up before or with VDD, otherwise the chip can latch up. Sequencing is fine if both rails are tied together on the carrier.
  • Silk is cramped on the east edge — when in doubt, trust the netlist above or probe with a multimeter.
  • Aux bus (ASCX/ASDX) is NOT connected on-board to any slave sensor on this molecule. If you expect magnetometer data, you need the BHI combo molecule instead (or wire an external BMM350 manually to MC4/MC5).

Description

Edit AI Skill

The Bosch Sensortec BHI270 molecule is a six-degree-of-freedom (6-DOF) Inertial Measurement Unit (IMU) featuring extremely low power consumption (typically 685μA) and buffered data acquisition for efficient burst capture. The versatile BHI270 can operate as a standalone motion sensor or interface with additional external sensors for enhanced functionality. Applications are optimized for wearables but extend to drone orientation sensing and context/activity recognition among other uses. Extended molecule functions support flexible power and interface configurations, with wide input ranges (VDD and VDDIO: +1.7 V to +3.6 V) and jumper-selectable options for shared or independent power, host interface selection (SPI or I2C), and I2C address configuration for additional sensors.

NSF Relevance

NSF

Adding to Bosch Sensortec's extensive library, the molecule breakout of BHI270 allows data to be accumulated in a variety of workcell environments as a standalone device or paired with other sensors. Partnership with Bosch Sensortec allows device exposure to a larger user base.

3D Model

Files

Download ZIP
3D Moecule_BHI270_Bosch_V1.glb 3D Model

Source files

GLB Moecule_BMI270_Bosch_V1.glb
BMI270 3D model (KiCad-generated)
glb 1.5 MB

AI Skill Technical Reference

Edit AI Skill

BMI270_Bosch_v1

Type: Adom Molecule Creator: caleb Version: v1 Category: other Availability: 100%, 24/7

Overview

The Bosch Sensortec BHI270 molecule is a six-degree-of-freedom (6-DOF) Inertial Measurement Unit (IMU) featuring extremely low power consumption (typically 685μA) and buffered data acquisition for efficient burst capture. The versatile BHI270 can operate as a standalone motion sensor or interface with additional external sensors for enhanced functionality. Applications are optimized for wearables but extend to drone orientation sensing and context/activity recognition among other uses. Extended molecule functions support flexible power and interface configurations, with wide input ranges (VDD and VDDIO: +1.7 V to +3.6 V) and jumper-selectable options for shared or independent power, host interface selection (SPI or I2C), and I2C address configuration for additional sensors.

Science Drivers

  • bosch sensortec

NSF Relevance

Adding to Bosch Sensortec's extensive library, the molecule breakout of BHI270 allows data to be accumulated in a variety of workcell environments as a standalone device or paired with other sensors. Partnership with Bosch Sensortec allows device exposure to a larger user base.

Integration Guide

To use BMI270_Bosch_v1 in your design:

  1. Download the schematic symbol and PCB footprint from the Files section
  2. Import into your EDA tool (KiCad or Fusion 360 / EAGLE)
  3. Place the molecule in your schematic and connect the interface pins
  4. Use the 3D model (.glb) for mechanical fit verification

Design Notes

Board design files (.brd, .sch, .f3d) are available for modification and reference.

Sub-Skills
?
What are Sub-Skills?

Sub-skills are community-contributed AI skill extensions for this component. They teach AI assistants about specific tools, configurators, or workflows.

Examples:

  • A manufacturer’s configuration tool for a motor controller
  • A community-written design guide for an amplifier circuit
  • An automated test/validation script for a sensor module

How to add one: Click Add Sub-Skill, provide the URL to your skill and a brief description. Submissions are reviewed by the Adom team before going live.

No sub-skills yet. Be the first to contribute one!

2 revisions · Molecule #9608338772991666000 · Updated 2026-04-17 19:39:32