Skip to main content

A I2C driver library to use the BMI160 sensor (acclerometer/gyro) with python on a raspberrypi

Project description

BMI160-i2c

I2C library to use the Inertial Mesurment Unit BMI160. Heavily inspired on @serioeseGmbH code serioeseGmbH/BMI160, in fact I just adapted his code.

This library was tested successfully on a Raspberry Pi 3 B

Installation

The package is available on pypi.org.

You can install this package using this command

python3 -m pip install BMI160-i2c

This library require smbus

Install smbus2 using the following command:

python3 -m pip install smbus2

Usage

Wire the breakout board with these lines : GND, 3V3, SAO (to GND), SDA, SCL

Make sure that the device is available at 0x68 or 0x69 i2c address by running this command:

i2cdetect -y 1

Example : A little python script to fetch all 6 values from the sensor :

from time import sleep
from BMI160_i2c import Driver

print('Trying to initialize the sensor...')
sensor = Driver(0x68) # change address if needed
print('Initialization done')

while True:
  data = sensor.getMotion6()
  # fetch all gyro and acclerometer values
  print({
    'gx': data[0],
    'gy': data[1],
    'gz': data[2],
    'ax': data[3],
    'ay': data[4],
    'az': data[5]
  })
  sleep(0.1)

Documentation

There is so many method available to do whatever you want to do with a sensor of this kind.

Look at all the methods available here.

Credits & Related links

Contributions

Feel free to open a issue or a pull request I will be happy to answer any questions or help you with this library.

You can also use these alternative methods to contact me:

Maintenance

  • Increment the version used in setup.py
  • Build the package: python3 setup.py sdist bdist_wheel
  • Publish the package: python3 -m twine upload dist/*
  • Enter __token__ for the username
  • Enter pypi-{....} for the password
  • And tada!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

BMI160_i2c-0.6.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

BMI160_i2c-0.6-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file BMI160_i2c-0.6.tar.gz.

File metadata

  • Download URL: BMI160_i2c-0.6.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for BMI160_i2c-0.6.tar.gz
Algorithm Hash digest
SHA256 076e1a8c23f22fc1714cea0a0e1fe4d5feafc9210e442b09f98b1bc257d8a2c4
MD5 bc0cf42d3ab051e11e0f37f86207dde9
BLAKE2b-256 bf52084b730200309d7f2d141b1c23122d21463e0e67a978ed18c990129540e5

See more details on using hashes here.

File details

Details for the file BMI160_i2c-0.6-py3-none-any.whl.

File metadata

  • Download URL: BMI160_i2c-0.6-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for BMI160_i2c-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7dc3331a9921f1241a0e6b390dbc4d91046aa14bcf5c48f34ce63a359a778701
MD5 2ba1c948ffa81cbc56a242788d666efd
BLAKE2b-256 693ef23bb307632a72163554cc2c2786251be01b01e0a4f162d4dffb581233c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page