Files

29 lines
1.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AVR firmware for BME280 wireless sensor (nRF24L01+)
## Features
1. Wireless sensor firmware for ATMega168/328 microcontrollers with BME280 temperature, pressure, and humidity sensor.
2. Power consumption in sleep mode approximately 5 uA using Power-down mode.
3. Automatic over-the-air pairing: the sensor requests a device id from the gateway and stores it in EEPROM.
4. Transmits device identifier, battery voltage, and all three BME280 sensor readings (×10 scaling) on each measurement cycle.
5. Battery measurement through internal ADC with 1.1 V bandgap reference.
6. Wake-up from Power-down mode by watchdog timer interrupt with configurable interval.
7. Supports ATMega168, ATMega168P, ATMega168PB, ATMega328, ATMega328P, and ATMega328PB.
8. Hardware TWI (I2C) for BME280 communication on PORTC pins PC4 (SDA) and PC5 (SCL).
## Attention
1. A compatible RF Gateway is required to receive packets and assign a device id during pairing.
2. The watchdog timer interval is fixed at 8 seconds; the sensor transmits every 38 ticks (~5 minutes).
3. Changing gateway address or channel requires reflashing the microcontroller.
4. If the gateway does not respond during pairing, the device enters permanent sleep until reset.
## Using
In an existing PlatformIO project, run the following command to install the firmware:
```bash
cd your_project
git clone https://github.com/aZholtikov/zh_avr_bme280_sensor
```