molecule
BMA580
Public Made by Adomby adom
Compact 8×8 mm I²C-only breakout for the Bosch BMA580 accelerometer (fixed 0x18, on-chip hardware AI step counter / classifier).
← Commit history
taxonomy: declare kind and canonical category (adom/wiki#111 cleanup)
1 file changed
+4−3
page.json+4−3@@ -3,7 +3,7 @@ "type": "component", "slug": "bma580-561000", "title": "BMA580",- "brief": "Compact 8×8 mm I²C-only breakout for the Bosch BMA580 accelerometer (fixed 0x18, on-chip hardware AI step counter / classifier).",+ "brief": "Compact 8\u00d78 mm I\u00b2C-only breakout for the Bosch BMA580 accelerometer (fixed 0x18, on-chip hardware AI step counter / classifier).", "version": "1.0.0", "tags": [], "license": "MIT",@@ -22,7 +22,7 @@ "distributor_links": {}, "molecule_id": 15078774497312561000 },- "readme": "# BMA580 Molecule — Hardware Reference\n\nTiny (~8×8 mm) 4-corner-pin breakout for the Bosch BMA580 next-gen 3-axis accelerometer with hardware AI step counter.\n\n- **Source:** [adom-inc/bosch-molecules/BMA580](https://github.com/adom-inc/bosch-molecules/tree/main/BMA580) — imported 2026-04-17\n- **KiCad project:** `BMA580.kicad_pro`\n- **Wiki page:** [molecules/bma580-561000](https://wiki.adom.inc/wiki/molecules/bma580-561000)\n- **Board:** 7 contacts (4 corner mount-pins carry power/I²C, 3 side contacts carry INTs + extra V+ tap), single-sided assembly, silk revision `V1.0 8/29/25`\n- **IC:** BMA580 (Bosch BMA580 LGA, 2.0 × 2.0 × 0.65 mm, AC1)\n\n## Component summary\n\n| Ref | Part | Function |\n|---|---|---|\n| AC1 | BMA580 | 3-axis accelerometer — I²C only on this breakout (no SPI jumper) |\n| C1 | 100 nF 0402 | V+ decoupling |\n| D1 | LED 0402 | Power indicator |\n| R1 | LED current-limit 0402 | — |\n\nNo address-select jumper. **Silk on the PCB calls out `BMA580 I2C: 0x18` — the address is fixed at 0x18** on this molecule (SDO strap hard-tied on-board).\n\n## External contact map\n\n| Ref | Silk | Net | Kind | Role |\n|---|---|---|---|---|\n| MP1 | `V+` | `V+` | mount | VDD / VDDIO (shared 3.3 V) |\n| MP2 | `GND` | `GND` | mount | Ground |\n| MP3 | `SDA` | `SDA` | mount | I²C SDA |\n| MP4 | `SCL` | `SCL` | mount | I²C SCL |\n| MC1 | `INT2` *(silk typo — actually INT2)* | `INT2` | contact | Interrupt output 2 |\n| MC2 | `INT2` *(silk typo — actually **INT1**)* | `INT1` | contact | Interrupt output 1 |\n| MC3 | `V+` | `V+` | contact | Extra V+ tap (power distribution, useful when daisy-chaining) |\n\n### Silk misprint on v1\n\nBoth interrupt castellations are silk-labelled `INT2`, but the netlist (and the IC pin map) confirm **MC1 is INT2** and **MC2 is INT1**. The BMA580 pinout is: pin 2 = INT1, pin 3 = INT2. Use the position in the `.kicad_pcb` coordinate frame to disambiguate:\n\n- MC1 @ (24.0, 20.0) → Y = 20 → upper edge (near V+ silk) = **INT2**\n- MC2 @ (24.0, 28.0) → Y = 28 → lower edge (near GND silk) = **INT1**\n\nWorth taping a small label onto physical boards if you end up actually using the INT lines.\n\n## Power\n\n| Rail | Voltage | Source |\n|---|---|---|\n| V+ (VDD = VDDIO tied) | 1.71–3.6 V (3.3 V in demo) | Host, via MP1 (or MC3 as an alternate tap) |\n\nSingle rail. Typical active current 145 µA in normal mode (datasheet).\n\n## Interrupts\n\nINT1 and INT2 are push-pull active-low by default; both are software-configurable for features like any-motion, data-ready, FIFO watermark, or the BMA580's hardware step counter / classifier. Unused → leave MC1/MC2 floating.\n\n## Wiring to the Arm RM2 I²C bus\n\n```\nBMA580 MP1 (V+) ──── RM2 +3V3\nBMA580 MP2 (GND) ──── RM2 GND\nBMA580 MP3 (SDA) ──── RM2 GPIO4 (I²C0 SDA)\nBMA580 MP4 (SCL) ──── RM2 GPIO5 (I²C0 SCL)\nBMA580 MC1 (INT2) ──── (optional)\nBMA580 MC2 (INT1) ──── (optional) ← silk says INT2, it's INT1\nBMA580 MC3 (V+) ──── (optional — second power tap)\n```\n\n## Gotchas for firmware bring-up\n\n- **Address is fixed at 0x18** — no jumper to mis-set. If the bus doesn't see 0x18 it's a wiring / pull-up problem, not an address problem.\n- **Silk misprint on both INT contacts** (see above). If interrupts matter for your use case, trust the netlist / board position rather than the silk.\n- **4.7 kΩ bus pull-ups are off-board** — provided by the RM2 carrier.\n- The BMA580 has a stricter VDD minimum (1.71 V) than the BMA400 (1.2 V). If you're running the whole bus on 1.8 V for some reason, the BMA580 still works but has less margin.\n",+ "readme": "# BMA580 Molecule \u2014 Hardware Reference\n\nTiny (~8\u00d78 mm) 4-corner-pin breakout for the Bosch BMA580 next-gen 3-axis accelerometer with hardware AI step counter.\n\n- **Source:** [adom-inc/bosch-molecules/BMA580](https://github.com/adom-inc/bosch-molecules/tree/main/BMA580) \u2014 imported 2026-04-17\n- **KiCad project:** `BMA580.kicad_pro`\n- **Wiki page:** [molecules/bma580-561000](https://wiki.adom.inc/wiki/molecules/bma580-561000)\n- **Board:** 7 contacts (4 corner mount-pins carry power/I\u00b2C, 3 side contacts carry INTs + extra V+ tap), single-sided assembly, silk revision `V1.0 8/29/25`\n- **IC:** BMA580 (Bosch BMA580 LGA, 2.0 \u00d7 2.0 \u00d7 0.65 mm, AC1)\n\n## Component summary\n\n| Ref | Part | Function |\n|---|---|---|\n| AC1 | BMA580 | 3-axis accelerometer \u2014 I\u00b2C only on this breakout (no SPI jumper) |\n| C1 | 100 nF 0402 | V+ decoupling |\n| D1 | LED 0402 | Power indicator |\n| R1 | LED current-limit 0402 | \u2014 |\n\nNo address-select jumper. **Silk on the PCB calls out `BMA580 I2C: 0x18` \u2014 the address is fixed at 0x18** on this molecule (SDO strap hard-tied on-board).\n\n## External contact map\n\n| Ref | Silk | Net | Kind | Role |\n|---|---|---|---|---|\n| MP1 | `V+` | `V+` | mount | VDD / VDDIO (shared 3.3 V) |\n| MP2 | `GND` | `GND` | mount | Ground |\n| MP3 | `SDA` | `SDA` | mount | I\u00b2C SDA |\n| MP4 | `SCL` | `SCL` | mount | I\u00b2C SCL |\n| MC1 | `INT2` *(silk typo \u2014 actually INT2)* | `INT2` | contact | Interrupt output 2 |\n| MC2 | `INT2` *(silk typo \u2014 actually **INT1**)* | `INT1` | contact | Interrupt output 1 |\n| MC3 | `V+` | `V+` | contact | Extra V+ tap (power distribution, useful when daisy-chaining) |\n\n### Silk misprint on v1\n\nBoth interrupt castellations are silk-labelled `INT2`, but the netlist (and the IC pin map) confirm **MC1 is INT2** and **MC2 is INT1**. The BMA580 pinout is: pin 2 = INT1, pin 3 = INT2. Use the position in the `.kicad_pcb` coordinate frame to disambiguate:\n\n- MC1 @ (24.0, 20.0) \u2192 Y = 20 \u2192 upper edge (near V+ silk) = **INT2**\n- MC2 @ (24.0, 28.0) \u2192 Y = 28 \u2192 lower edge (near GND silk) = **INT1**\n\nWorth taping a small label onto physical boards if you end up actually using the INT lines.\n\n## Power\n\n| Rail | Voltage | Source |\n|---|---|---|\n| V+ (VDD = VDDIO tied) | 1.71\u20133.6 V (3.3 V in demo) | Host, via MP1 (or MC3 as an alternate tap) |\n\nSingle rail. Typical active current 145 \u00b5A in normal mode (datasheet).\n\n## Interrupts\n\nINT1 and INT2 are push-pull active-low by default; both are software-configurable for features like any-motion, data-ready, FIFO watermark, or the BMA580's hardware step counter / classifier. Unused \u2192 leave MC1/MC2 floating.\n\n## Wiring to the Arm RM2 I\u00b2C bus\n\n```\nBMA580 MP1 (V+) \u2500\u2500\u2500\u2500 RM2 +3V3\nBMA580 MP2 (GND) \u2500\u2500\u2500\u2500 RM2 GND\nBMA580 MP3 (SDA) \u2500\u2500\u2500\u2500 RM2 GPIO4 (I\u00b2C0 SDA)\nBMA580 MP4 (SCL) \u2500\u2500\u2500\u2500 RM2 GPIO5 (I\u00b2C0 SCL)\nBMA580 MC1 (INT2) \u2500\u2500\u2500\u2500 (optional)\nBMA580 MC2 (INT1) \u2500\u2500\u2500\u2500 (optional) \u2190 silk says INT2, it's INT1\nBMA580 MC3 (V+) \u2500\u2500\u2500\u2500 (optional \u2014 second power tap)\n```\n\n## Gotchas for firmware bring-up\n\n- **Address is fixed at 0x18** \u2014 no jumper to mis-set. If the bus doesn't see 0x18 it's a wiring / pull-up problem, not an address problem.\n- **Silk misprint on both INT contacts** (see above). If interrupts matter for your use case, trust the netlist / board position rather than the silk.\n- **4.7 k\u03a9 bus pull-ups are off-board** \u2014 provided by the RM2 carrier.\n- The BMA580 has a stricter VDD minimum (1.71 V) than the BMA400 (1.2 V). If you're running the whole bus on 1.8 V for some reason, the BMA580 still works but has less margin.\n", "author": { "name": "Kyle Bergstedt", "email": "[email protected]"@@ -37,5 +37,6 @@ "metadata": {}, "created_at": "2026-05-28T05:31:13.452Z", "updated_at": "2026-05-28T05:31:13.452Z",- "org": "adom"+ "org": "adom",+ "kind": "molecule" }