Git revision: 9bef9953c70a1361d28466e58b5162fded8f9c4e bme680 rev. 1 (by marble)

Micropython Driver for a BME680 breakout

This a port of an Adafruit driver for use with micropython.org based and Pycom.io devices using the respecitve MicroPython variant.

The driver uses the I2C interface. The sensor also supports SPI mode, which is not supported by this driver yet, but can easily be extended.

Sample usage files:

# I2C Interface, genuine Micropython

from bme680 import *
from machine import I2C, Pin
import time
bme = BME680_I2C(I2C(-1, Pin(13), Pin(12)))

for _ in range(3):
    print(bme.temperature, bme.humidity, bme.pressure, bme.gas)
    time.sleep(1)
# SPI Interface, genuine Micropython

from bme680 import *
from machine import SPI, Pin
import time

cs = Pin(15, Pin.OUT, value=1)
spi = SPI(-1, baudrate=400000, sck=Pin(12), mosi=Pin(13), miso=Pin(14))
bme = BME680_SPI(spi, cs)

for _ in range(3):
    print(bme.temperature, bme.humidity, bme.pressure, bme.gas)
    time.sleep(1)
# I2C Interface, Pycom devices
# Using the default Pins P9 for sda and P10 for scl

from bme680 import *
from machine import I2C, Pin
import time
cs=Pin("P11", Pin.OUT, value=1)
bme = BME680_I2C(I2C())

for _ in range(3):
    print(bme.temperature, bme.humidity, bme.pressure, bme.gas)
    time.sleep(1)
# SPI Interface, Pycom devices

from bme680 import *
from machine import SPI, Pin
import time

cs = Pin("P11", Pin.OUT, value=1)
spi = SPI(0, mode=SPI.MASTER, baudrate=400000, pins=("P10", "P9", "P8"))
bme = BME680_SPI(spi, cs)

for _ in range(3):
    print(bme.temperature, bme.humidity, bme.pressure, bme.gas)
    time.sleep(1)

Files:

bme680.py: Drivers using floating point arithmetic
bme680i.py: Driver using integer arithmentic for the internal calculations according to the BOSCH datasheet. Only for the final result floating point operations are used.
bmetest.py: Sample test script
readme.md: This file

Category: hardware
Status: unknown
Vote Comment Date
No votes yet :(
Compatibility
  • mch2022: unknown
Dependencies
  • No dependencies found
Dependants
File Last edited Size
__init__.py 2022-07-23 08:43:06 0 B
bme680.py 2022-07-23 08:43:07 16.3 KiB
bme680i.py 2022-07-23 08:43:07 16.11 KiB
bmetest.py 2022-07-23 08:43:07 210 B
readme.md 2022-07-23 08:43:07 1.83 KiB