Weather station/base station for remote sensor based on Atmega 32L (modified MMR-70 FM Music Transmitter). Can communicate with different sensors: RHT02, SHT1x, BMP180, Real Time Clock PCF2127 and output data to SSD1306 or ILI9225. Communicates with the sensors using RFM12BS.
C Makefile C++ Assembly
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
base
ili
lib
node
radio
test
.gitattributes
.gitignore
LICENSE
Makefile
README.md
hDAN.md
hDAN_messages.svg
hDAN_protocol.svg
hDAN_topology.svg

README.md

hDAN: small house Data Acquisition Network

BASE - Base Station firmware for Data Acquisition Network

NODE - Data Node for Data Acquisition Network

Topology

hDAN topology

Protocol

hDAN protocol

Messages

hDAN messages

At the moment all projects under major re-factoring/code clean-up

RFM12BS radio module

RFM12B wireless FSK transceiver module Si4420/21 RF transmitters RFM12BS ARSSI hack

Atmega 32L - MMR-70 modding

Base station and nodes are built using modified firmware for Atmega 32L based MMR-70 FM Music Transmitter.

Includes different projects:

Modding test

TEST - for testing freshly modified MMR-70s

FM Radio with RDS support firmware

RADIO - Similar to FMBerry, but running on MMR-70's ATmega32 itself instead of Raspberry Pi.

Avrdude on Raspberry Pi

I use RPi as AVR programmer, and this is how it can be done:

  1. Install avrdude for Raspberry Pi
  2. If you want to use different RPi pin for Reset then edit /usr/local/etc/avrdude.conf, section programmer
  3. To save four keystrokes every time when you program AVR add setuid to /usr/local/bin/avrdude, so you will not need to add sudo every time when you want to run make program, make fuses, make reset

Building the firmware

Clone code from github, connect MMR-70 to Raspberry Pi as ISP or whatever you use for avr-gcc/avrdude.

In the project's folder: make to make it, burn ATmega fuses to 8MHz: make fuses (once off operation), upload firmware: make program.

Useful links