Creator Ray
Version 1.0.0
Created 2025-10-15
Availability 100%, 24/7
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 "BMM350_Bosch_v1" (slug: bmm350-bosch-v1-075000) at https://wiki-ufypy5dpx93o.adom.cloud/wiki/molecules/bmm350-bosch-v1-075000. 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.

BMM350 Molecule — Hardware Reference

Compact 9-contact breakout for the Bosch BMM350 3-axis magnetometer (WLCSP). Brings out separate VDD and VDDIO rails (the BMM350 has a stricter VDD range than most Bosch parts).

  • Source: adom-inc/bosch-molecules/Moecule_BMM350_Bosch_V1 — imported 2026-04-17 (folder name misspelled Moecule upstream; we preserve that on disk)
  • KiCad project: Moecule_BMM350_Bosch_V1.kicad_pro
  • Wiki page: molecules/bmm350-bosch-v1-075000
  • Board: 9 contacts — 4 corner mount-pins carry I²C + VDDIO, 3 side contacts carry VDD / INT / address strap, silk revision V1: 2025-09-03
  • IC: BMM350 (Bosch BGA-9, 1.28 × 1.28 × 0.5 mm WLCSP, U1)

Component summary

RefPartFunction
U1BMM3503-axis magnetometer
C12.2 µF 0805 X7RCRST reset / reservoir cap (schematic note: "CRST 2.2uF Recommended, X7R")
C2100 nF 0402VDDIO decoupling
C3100 nF 0402VDD decoupling
R510 kΩ 0402Default pull-up from +VDDIO → /0x15 strap net (→ default address 0x15)

External contact map

Positions in mm on the front copper. Two columns: west (X=139.8) and east (X=147.8).

West edge

RefSilkNetRole
MP2VDDIO+VDDIOLogic rail — 1.72–3.6 V
MC6VDD (silk y)+VDDAnalog rail — 1.72–1.98 V only (tight tolerance!)
MC4INTBMM_INTInterrupt (push-pull or open-drain, pull-up at host if OD)
MP1GNDGNDGround

East edge

RefSilkNetRole
MP3SDA (silk BMM350)BMM_SDAI²C SDA
MC12BMM350/0x15Strap test-point (pulled to +VDDIO via R5)
MC3ADSELBMM_ADSEL/0x14/0x15I²C address select — routed to U1 pin B2
MC100x14GNDStrap option: bridge MC3 ↔ MC10 for 0x14
MP4SCKBMM_SCKI²C SCL

I²C address strap

BMM350 I²C slave address is set by ADSEL at power-up:

ADSEL tied toI²C address
GND (bridge MC3 ↔ MC10, silk 0x14)0x14
+VDDIO (default — R5 pull-up to /0x15 net)0x15 (demo firmware target ✓)

Schematic text: "ADSEL (Legacy I2C, LSB): GND = 0x14, VDDIO = 0x15."

Default is 0x15 — matches the firmware. Unless you intend to run it at 0x14, leave MC3 / MC10 unbridged.

Address conflict check on the arm bus

The arm I²C bus has: BMI270 @ 0x68, BMA400 @ 0x14, BMA580 @ 0x18, BMM350 @ 0x15 (this molecule), BHI360 @ 0x28, BHI385 @ 0x29.

If you accidentally strap BMM350 to 0x14 it will collide with the BMA400 on the same bus.

Power

RailVoltageSource
VDD (analog)1.72–1.98 V1.8 V supply required — cannot run at 3.3 V
VDDIO1.72–3.6 VHost via MP2 (3.3 V in demo)

This is the one molecule in the arm bus that needs a 1.8 V rail. The HARDWARE_CONFIG.md power plan uses the 1.8 V LDO (fed from 3.3 V) for BMV080 core + BHI360 VDD + BHI385 VDD + BMM350 VDD. Do not accidentally tie MC6 (silk y = VDD) to 3.3 V — that exceeds the BMM350 absolute maximum.

Also from schematic: "VDDIO is 300 mV max when VDD = 0 V." If you shut off VDD during operation, VDDIO must drop too or the chip sustains stress. Not an issue if both rails come up together and stay up.

Typical active current: 200 µA.

Interrupt

INT (MC4) is software-configurable for data-ready, FIFO watermark, or threshold events. Output can be push-pull or open-drain; if open-drain, supply an external pull-up on the host (not present on this molecule).

Magnetic field range

Schematic annotation: "Max ±2000 µT: (Bx, By, Bz < 0.75 × 2400 µT)." The BMM350's full-scale is ±2400 µT on each axis, and for linear behavior Bosch recommends staying under 2000 µT. Keep magnets / motors / ferrous tooling away from the mounted sensor.

Wiring to the Arm RM2 I²C bus

BMM350 MP2 (VDDIO) ──── RM2 +3V3
BMM350 MC6  (VDD)  ──── +1.8 V rail (NOT +3V3!)
BMM350 MP1 (GND)   ──── RM2 GND
BMM350 MP3 (SDA)   ──── RM2 GPIO4 (I²C0 SDA, shared bus)
BMM350 MP4 (SCK)   ──── RM2 GPIO5 (I²C0 SCL, shared bus)
BMM350 MC4 (INT)   ──── (optional; if open-drain, needs external pull-up)
BMM350 MC3 (ADSEL) ──── (leave floating — default 0x15 via R5 pull-up)

Gotchas for firmware bring-up

  • VDD is 1.8 V only. Do not feed 3.3 V into MC6 — the BMM350 will be damaged. This is the most common wiring mistake on the arm bus.
  • Default address is 0x15 (matches firmware). Only bridge MC3↔MC10 if you explicitly want 0x14.
  • CRST cap (C1, 2.2 µF X7R) is on-board — no external reset circuitry needed. But if you see the sensor NACKing after a brown-out, verify C1 is charging properly and the supply is stable.
  • BMM350 OTP trim + self-test must run at init before the first measurement — already handled in firmware/sensors/bmm350.c.
  • No 4.7 kΩ I²C pull-ups on this board — provided by the RM2 carrier / main arm bus.

Description

Edit AI Skill

Molecule: BMM350_Bosch_v1 (imported from Curium S3)

3D Model

Files

Download ZIP
3D Moecule_BMM350_Bosch_V1.glb 3D Model

Source files

GLB Moecule_BMM350_Bosch_V1.glb
BMM350 3D model (KiCad-generated)
glb 1.3 MB

AI Skill Technical Reference

Edit AI Skill

BMM350_Bosch_v1

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

Overview

Molecule: BMM350_Bosch_v1 (imported from Curium S3)

Integration Guide

To use BMM350_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 #9901275824055075000 · Updated 2026-04-17 19:39:31