Experimental project around RFM radio modules using an AVR MCU

nbproject Improve transmission reliability and range 1 year ago
.gitignore Write and read single register 1 year ago
CODE_OF_CONDUCT.md Initial commit 1 year ago
LICENSE Initial commit 1 year ago
Makefile Display received temperature on a nice IPS TFT 1 year ago
README.md Display received temperature on a nice IPS TFT 1 year ago
avrrfm.c Don't clear whole screen between temperature updates 1 year ago
bitmaps.c Display received temperature on a nice IPS TFT 1 year ago
bitmaps.h Display received temperature on a nice IPS TFT 1 year ago
colorspace.c Display received temperature on a nice IPS TFT 1 year ago
colorspace.h Display received temperature on a nice IPS TFT 1 year ago
dejavu.c Display received temperature on a nice IPS TFT 1 year ago
dejavu.h Display received temperature on a nice IPS TFT 1 year ago
display.c Display received temperature on a nice IPS TFT 1 year ago
display.h Display received temperature on a nice IPS TFT 1 year ago
font.c Display received temperature on a nice IPS TFT 1 year ago
font.h Display received temperature on a nice IPS TFT 1 year ago
i2c.c Add I2C, some cleanup 1 year ago
i2c.h Add I2C, some cleanup 1 year ago
mcp9808.c Display received temperature on a nice IPS TFT 1 year ago
mcp9808.h Measure & tx temp, save some power 1 year ago
pins.h Display received temperature on a nice IPS TFT 1 year ago
rfm69.c Display received temperature on a nice IPS TFT 1 year ago
rfm69.h Improve transmission reliability and range 1 year ago
spi.c Write and read single register 1 year ago
spi.h Write and read single register 1 year ago
tft.c Display received temperature on a nice IPS TFT 1 year ago
tft.h Display received temperature on a nice IPS TFT 1 year ago
types.h Display received temperature on a nice IPS TFT 1 year ago
usart.c Initial commit 1 year ago
usart.h Initial commit 1 year ago
utils.h Measure & tx temp, save some power 1 year ago
README.md

AVRRFM

Experimental project to drive an RFM69 radio module with plain avr-libc and an Atmega328p MCU.

This is work in progress. Simple Tx-Rx is working so far.

To do something really extraordinary, the temperature reading of an MCP9808 sensor is periodically transmitted to the receiver.
To save battery power, the controller, radio module and temperature sensor are put to power down/sleep mode in between transmissions. The idle current is ~57 uA, which is still quite a lot (< 10 uA should be possible), but already better than 8 mA :-)

IMG_20250212_190518

The receiver currently just converts the raw temperature reading to °C and displays it "screensaver style" on a nice IPS TFT display.

IMG_20250216_003419