# BMI260/BMI270 I2C Python Implementation - Version: 0.4.5
Bare bones BMI260/BMI270 I2C Python implementation. This was a project for my practical phase at my University and my first time working hands on with IMUs.
### Fork
* Added BMI260 support
## Installation
The package is [available on pypi.org](https://pypi.org/project/bmi260).
You can install this package using this command:
`pip3 install bmi260`
For a Raspberry Pi Setup add/change this line in /boot/config.txt to your desired baudrate:
`dtparam=i2c_baudrate=400000`
Reboot your Raspberry Pi after applying the change.
## Usage
Make sure these lines are connected: GND, 3V3, SDA, SCL
If you are using the SparkFun SPX-17353 BMI270 Breakout Board, you can easily connect them using a 1mm 4-pin JST connector cable. (example: Qwiic cables)
Make sure that the device is available at `0x68` or `0x69` i2c address by running this command:
`i2cdetect -y 1`
The BMI270 requires a config load. This initialization step is necessary to be able to use all its functions.
`load_config()`
A full power cycle is necessary if you want to load the config again.
Check out [examples](https://github.com/architector1324/bmi260_python/tree/main/examples) for more information.
## Tested with:
- Ubuntu 22.04.2 LTS
- Raspbian 10 - Buster (32 Bit)
## Dependencies
**requires Python >= 3.7**
**[smbus2](https://github.com/kplindegaard/smbus2)** *(auto installed)*
Manual installation:
`pip3 install smbus2`
## Functionality
- BMI270 class integration
- load config file into BMI270/BMI260
- write/read registers
- a few other functions (see [BMI270.py](https://github.com/architector1324/bmi260_python/blob/main/src/bmi270/BMI270.py))
## Credits & Related links
- [serioeseGmbH/BMI160](https://github.com/serioeseGmbH/BMI160)
- [Sean Abraham/chromiumos](https://chromium.googlesource.com/chromiumos/platform/ec/+/master/driver/accelgyro_bmi260.h)
- [lefuturiste](https://github.com/lefuturiste/BMI160-i2c)
- [BMI270 Datasheet](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmi270-ds000.pdf)
- [smbus2 docs](https://smbus2.readthedocs.io/en/latest/)
## Troubleshooting
-bash: pip3: command not found
`sudo apt install python3-pip`
Raw data
{
"_id": null,
"home_page": "",
"name": "bmi260",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "BMI270,BMI260,I2C,IMU,sensor,driver,accelerometer,gyroscope,gyro,bosch,sensortech,smbus2,library",
"author": "",
"author_email": "Kevin Sommler <sommler@live.de>, Oleg Sayakhov <olegsajaxov@yandex.ru>",
"download_url": "https://files.pythonhosted.org/packages/ec/98/914ef5588259e060876b0743b21c00a1eb65a74bd04481039be41b3a9e2a/bmi260-0.4.5.tar.gz",
"platform": null,
"description": "# BMI260/BMI270 I2C Python Implementation - Version: 0.4.5\n\nBare bones BMI260/BMI270 I2C Python implementation. This was a project for my practical phase at my University and my first time working hands on with IMUs.\n\n### Fork\n* Added BMI260 support\n\n## Installation\nThe package is [available on pypi.org](https://pypi.org/project/bmi260).\n\nYou can install this package using this command:\n\n`pip3 install bmi260`\n\nFor a Raspberry Pi Setup add/change this line in /boot/config.txt to your desired baudrate:\n\n`dtparam=i2c_baudrate=400000`\n\nReboot your Raspberry Pi after applying the change.\n\n## Usage\nMake sure these lines are connected: GND, 3V3, SDA, SCL\n\nIf you are using the SparkFun SPX-17353 BMI270 Breakout Board, you can easily connect them using a 1mm 4-pin JST connector cable. (example: Qwiic cables)\n\nMake sure that the device is available at `0x68` or `0x69` i2c address by running this command:\n\n`i2cdetect -y 1`\n\nThe BMI270 requires a config load. This initialization step is necessary to be able to use all its functions.\n\n`load_config()`\n\nA full power cycle is necessary if you want to load the config again.\n\nCheck out [examples](https://github.com/architector1324/bmi260_python/tree/main/examples) for more information.\n\n## Tested with:\n- Ubuntu 22.04.2 LTS\n- Raspbian 10 - Buster (32 Bit)\n\n## Dependencies\n\n**requires Python >= 3.7**\n\n**[smbus2](https://github.com/kplindegaard/smbus2)** *(auto installed)*\n\nManual installation:\n`pip3 install smbus2`\n\n## Functionality\n\n- BMI270 class integration\n- load config file into BMI270/BMI260\n- write/read registers\n- a few other functions (see [BMI270.py](https://github.com/architector1324/bmi260_python/blob/main/src/bmi270/BMI270.py))\n\n## Credits & Related links\n\n- [serioeseGmbH/BMI160](https://github.com/serioeseGmbH/BMI160)\n- [Sean Abraham/chromiumos](https://chromium.googlesource.com/chromiumos/platform/ec/+/master/driver/accelgyro_bmi260.h)\n- [lefuturiste](https://github.com/lefuturiste/BMI160-i2c)\n- [BMI270 Datasheet](https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmi270-ds000.pdf)\n- [smbus2 docs](https://smbus2.readthedocs.io/en/latest/)\n\n## Troubleshooting\n\n-bash: pip3: command not found\n\n`sudo apt install python3-pip`\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "BMI260/BMI270 I2C Python library (bare bones)",
"version": "0.4.5",
"project_urls": {
"Bug Tracker": "https://github.com/architector1324/bmi260_python/issues",
"Homepage": "https://github.com/architector1324/bmi260_python"
},
"split_keywords": [
"bmi270",
"bmi260",
"i2c",
"imu",
"sensor",
"driver",
"accelerometer",
"gyroscope",
"gyro",
"bosch",
"sensortech",
"smbus2",
"library"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "deec2a53573b0d5853513e0698f644fb396129e7988b96894f6a2704087d4d81",
"md5": "e019109f8cc476f314fb0ba91eb46291",
"sha256": "1f4aef8b8cafa8ac2d4316d60dd77514b352a8b053d50a19c10c5a8e82533b98"
},
"downloads": -1,
"filename": "bmi260-0.4.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e019109f8cc476f314fb0ba91eb46291",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 25931,
"upload_time": "2023-12-08T21:37:35",
"upload_time_iso_8601": "2023-12-08T21:37:35.484808Z",
"url": "https://files.pythonhosted.org/packages/de/ec/2a53573b0d5853513e0698f644fb396129e7988b96894f6a2704087d4d81/bmi260-0.4.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ec98914ef5588259e060876b0743b21c00a1eb65a74bd04481039be41b3a9e2a",
"md5": "a12b671e657bff7838be4c3d80d28317",
"sha256": "163b94c3af762eb3df5f4cfb12a66651461ec221453e8278256b1ac98c78bbdd"
},
"downloads": -1,
"filename": "bmi260-0.4.5.tar.gz",
"has_sig": false,
"md5_digest": "a12b671e657bff7838be4c3d80d28317",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 27337,
"upload_time": "2023-12-08T21:37:37",
"upload_time_iso_8601": "2023-12-08T21:37:37.432866Z",
"url": "https://files.pythonhosted.org/packages/ec/98/914ef5588259e060876b0743b21c00a1eb65a74bd04481039be41b3a9e2a/bmi260-0.4.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-08 21:37:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "architector1324",
"github_project": "bmi260_python",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "bmi260"
}