🍞
Breadstick
Ctrlk
  • Breadstick Innovations Website
  • Breadsticks
    • πŸ₯–Raspberry Breadstick
    • πŸ₯–Raspberry Breadstick Lite
    • 🍞Support Boards
      • I2C Devices
        • 🚌I2C Bus Rail Adapter
        • 🌦️Weather Crouton
        • 😎Brightness Crouton
        • πŸ“Distance Crouton
        • 🫨Motion Crouton
      • I2S Devices
      • SPI Devices
      • πŸ•ΉοΈButtons/Switches
    • Learning Resources
    • Troubleshooting
  • Nougat
    • Nougat C3
    • Nougat Quad
    • Installing WLED
  • Pico Slices
    • πŸ”΄Slice 1 - LED Mixer
    • ⏱️Slice 2 - Stopwatch
    • ⬜Slice 3 - 8x8 Dot Matrix
    • Circuit Python Setup
    • Reset Bricked Pico
  • Christmas
    • Christmas Tree DIY kit
  • Protoboards
    • ❀️Proto-Heart
    • πŸ₯ͺProto-Toast
  • SHOP
Powered by GitBook
On this page
  1. Breadsticks
  2. 🍞Support Boards
  3. I2C Devices

🌦️Weather Crouton

BME280 Temperature, Humidity, & Pressure Sensor

Product Page

https://shop.breadstick.ca/products/weather-crouton

Circuit Python Library

https://github.com/adafruit/Adafruit_CircuitPython_BME280

BME280 Datasheet

https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme280-ds002.pdf

Code

PreviousI2C Bus Rail AdapterNextBrightness Crouton

Last updated 1 year ago

Was this helpful?

  • Product Page
  • Circuit Python Library
  • BME280 Datasheet
  • Code

Was this helpful?

"""
Weather Crouton (BME280) Demo Code
Breadstick Innovations
April 7, 2024
https://learn.breadstick.ca/breadstick/breadsticks/support-boards/i2c-devices/weather-crouton
"""

import board
import time
from adafruit_bme280 import basic as adafruit_bme280

crouton_i2c = board.I2C()  # Default Breadstick I2C pins D11(SCL) & D12(SDA)
bme280 = adafruit_bme280.Adafruit_BME280_I2C(crouton_i2c)  #

# Sea Level Pressure is defined as 1013.25 hPa
# This number is used for calculating bme280.altitude in meters
bme280.sea_level_pressure = 1013.25

# Uncomment this line if you want to calibrate the altitude to your location
# Warning - natural changes in air pressure will affect altimeter measurements
bme280.sea_level_pressure = bme280.pressure

while True:
    temp = bme280.temperature
    hum = bme280.relative_humidity
    pres = bme280.pressure
    alt = bme280.altitude

    plotter_data = (alt,)  # Mu's Plotter only displays tuples, this is a single object tuple

    print(plotter_data)
    print(f"Temperature: {temp} Β°C")
    print(f"Humidity: {hum} %")
    print(f"Pressure: {pres} hPa")
    print(f"Altitude: {alt} m")
    print("")

    time.sleep(0.1)