{
  "id": "solderedelectronics/Soldered-BMM350-MicroPython-Library",
  "name": "Soldered-BMM350-MicroPython-Library",
  "prettyName": "Soldered-BMM350-MicroPython-Library",
  "description": "MicroPython library for the Soldered BMM350 magnetometer breakout board",
  "version": "",
  "author": "solderedelectronics",
  "license": "GPL-3.0",
  "tags": [],
  "status": "VALID",
  "official": false,
  "source": "https://github.com/solderedelectronics/Soldered-BMM350-MicroPython-Library",
  "updatedAt": "2026-09-22T12:07:10.077Z",
  "page": "https://checkmim.com/packages/solderedelectronics+Soldered-BMM350-MicroPython-Library",
  "createdAt": "2026-09-22T12:07:05.982Z",
  "submittedBy": "SolderedElectronics",
  "install": {
    "mpremote": "mpremote mip install github:solderedelectronics/Soldered-BMM350-MicroPython-Library",
    "mip": "import mip; mip.install(\"github:solderedelectronics/Soldered-BMM350-MicroPython-Library\")"
  },
  "readme": "# Soldered BMM350 Geomagnetic Sensor MicroPython Library\n\n| ![Soldered BMM350 Geomagnetic Sensor breakout](TODO_PRODUCT_IMAGE_URL) |\n| :-----------------------------------------------------------------------------------------------: |\n|                          [Soldered BMM350 Geomagnetic Sensor breakout](https://www.solde.red/333359)                     |\n\n<!-- TODO: product not released yet (SKU 333359), swap the image URL above once the listing is live -->\n\nBreakout board for the Bosch BMM350 geomagnetic sensor, measuring magnetic field on all three axes with a resolution down to 20 nT, output data rates up to 400 Hz and a data-ready interrupt. It supports normal and forced power modes for balancing measurement speed against power consumption. The board communicates over I2C only and is part of the [Qwiic ecosystem](https://soldered.com/collections/qwiic-ecosystem).\n\n### Quick start\n\n```python\nfrom bmm350 import BMM350, BMM350_OK\nimport time\n\nsensor = BMM350()  # Or BMM350(address=BMM350_I2C_ADSEL_SET_HIGH) if ADSEL is pulled high\n\nwhile True:\n    if sensor.get_sensor_data() == BMM350_OK:\n        print(sensor.data.mag_x, sensor.data.mag_y, sensor.data.mag_z, sensor.data.temperature)\n    time.sleep(1)\n```\n\nHave a look at the scripts in `Examples/` for basic readings, the sensor's physical interrupt pin, and the built-in self-test.\n\n### How to install\n\nUse [mim](https://checkmim.com/packages).\n\nor\n\nAfter [**installing the mpremote package**](https://docs.micropython.org/en/latest/reference/mpremote.html), install the library on your board using the following command:\n\n```sh\n  mpremote mip install github:SolderedElectronics/Soldered-BMM350-MicroPython-Library\n```\nOr, if you're running a Windows OS:\n\n```sh\n  python -m mpremote mip install github:SolderedElectronics/Soldered-BMM350-MicroPython-Library\n```\n\n### Repository Contents\n\n- **bmm350.py** - MicroPython driver class, I2C only\n- **package.json** - mip install manifest\n- **/Examples** - examples for basic readings, the physical interrupt pin, and the self-test\n\n### Examples\n\n| Example | What it does |\n| :------ | :----------- |\n| `bmm350-basicReadings.py` | Reads magnetometer and temperature data in a loop in normal power mode, the mode most applications want |\n| `bmm350-dataReadyInterrupt.py` | Uses the sensor's physical interrupt pin to know when a new reading is ready, instead of polling the interrupt status register |\n| `bmm350-selfTest.py` | Runs the sensor's built-in self-test and reports pass/fail per axis |\n\n### Hardware design\n\nYou can find hardware design for this board in _Soldered BMM350 Geomagnetic Sensor breakout_ hardware repository.\n\n### Documentation\n\nAccess library documentation [here](https://docs.soldered.com/).\n\n### About Soldered\n\n![Soldered Logo](https://raw.githubusercontent.com/SolderedElectronics/Soldered-Generic-Arduino-Library/dev/extras/Soldered-logo-color.png)\n\nAt Soldered, we design and manufacture a wide selection of electronic products to help you turn your ideas into acts and bring you one step closer to your final project. Our products are intented for makers and crafted in-house by our experienced team in Osijek, Croatia. We believe that sharing is a crucial element for improvement and innovation, and we work hard to stay connected with all our makers regardless of their skill or experience level. Therefore, all our products are open-source. Finally, we always have your back. If you face any problem concerning either your shopping experience or your electronics project, our team will help you deal with it, offering efficient customer service and cost-free technical support anytime. Some of those might be useful for you:\n\n- [Web Store](https://www.soldered.com/shop)\n- [Tutorials & Projects](https://soldered.com/learn)\n- [Documentation](https://docs.soldered.com)\n\n### Original source\n\nThis library is a register-level port of the [BMM350_SensorAPI](https://github.com/boschsensortec/BMM350_SensorAPI) by Bosch Sensortec, cross-checked against the Soldered [Arduino](https://github.com/SolderedElectronics/Soldered-BMM350-Arduino-Library) and [ESP-IDF](https://github.com/SolderedElectronics/Soldered-BMM350-ESP-IDF-Component) BMM350 libraries. Thank you, Bosch Sensortec.\n\n### Open-source license\n\nSoldered invests vast amounts of time into hardware & software for these products, which are all open-source. Please support future development by buying one of our products.\n\nCheck license details in the LICENSE file. Long story short, use these open-source files for any purpose you want to, as long as you apply the same open-source licence to it and disclose the original source. No warranty - all designs in this repository are distributed in the hope that they will be useful, but without any warranty. They are provided \"AS IS\", therefore without warranty of any kind, either expressed or implied. The entire quality and performance of what you do with the contents of this repository are your responsibility. In no event, Soldered (TAVU) will be liable for your damages, losses, including any general, special, incidental or consequential damage arising out of the use or inability to use the contents of this repository.\n\n## Have fun!\n\nAnd thank you from your fellow makers at Soldered Electronics.\n"
}