Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BME280 Telemetry System

Overview

This project is a modular telemetry system built on an Arduino Nano, designed to read environmental data from a BME280 sensor and expose it through multiple output sinks (Serial logging and an optional OLED display).

The goal of the project was not simply to read sensor data, but to apply clean C++ architecture, enforce separation of concerns, and follow embedded-friendly design principles suitable for resource-constrained microcontrollers.

The system is structured as if it were part of a larger embedded or avionics-style telemetry pipeline.

Features

  • Environmental telemetry from a BME280 sensor
  • Temperature (°C)
  • Pressure (hPa)
  • Humidity (%)
  • Altitude (m, sea-level corrected)
  • Modular C++ architecture with clear responsibilities
  • Serial telemetry logging
  • Optional OLED telemetry display (I2C)
  • I2C device detection at startup
  • Designed for low-memory embedded environments

Hardware

  • Arduino Nano (ATmega328P)
  • BME280 environmental sensor (I2C)
  • OLED display (I2C, optional)
  • SH1106 1.3-inch OLED (AZDelivery)
  • Breadboard and jumper wires

OLED Rendering

The OLED display is driven using the U8g2 graphics library, chosen for its broad controller support and suitability for embedded systems.
The Arduino Nano (ATmega328P) provides only 2 KB of RAM, which makes full-frame buffering impractical for larger displays. To operate within these constraints, the project uses page-based rendering instead of a full framebuffer.

Build and Run

This project was developed using PlatformIO.

  1. Connect the Arduino Nano via USB
  2. Verify I2C wiring
    • BME280 default address: 0x76
    • OLED display default address: 0x3C
  3. Build and upload the firmware with
    pio run -t upload
  4. Open the serial monitor with
    pio device monitor

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages