Bare bones BMI270 I2C Python implementation. This was a project for my practical phase at my University and my first time working hands on with IMUs.
The package is available on pypi.org.
You can install this package using this command:
pip3 install bmi270
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.
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 for more information.
- Ubuntu 22.04.2 LTS
- Raspbian 10 - Buster (32 Bit)
requires Python >= 3.7
smbus2 (auto installed)
Manual installation:
pip3 install smbus2
- BMI270 class integration
- load config file into BMI270
- write/read registers
- a few other functions (see BMI270.py)
-bash: pip3: command not found
sudo apt install python3-pip