Designed and coded by Felix Baessler, [email protected]
The project addresses the problem of:
-> Interoperability / Interconnectivity, Compatibility, Legacy <-
in smart home automation and IoT applications.
- Universal Receiver
of data sent by a priori unknown types of devices
-> no assumptions about: sync, preamble, delimiter, packet, protocol - Robust Reception
featuring error correction of spikes, drops and outliers - Long Range / High Sensitivity
with low reception threshold of ≈18 dBm
This project is released under CC-BY-NC 4.0.
The licensing TLDR is: You are free to use, copy, distribute and transmit this Software for personal, non-commercial purposes, as long as you give attribution and share any modifications under the same license. Commercial or for-profit use requires a license.
For more details see the LICENSE
- ISM are the preferred radio frequency bands (434 / 868 / 912 MHz) used in smart home automation for remote-control and sensor data acquisition over the air
- OOK, On-Off Keying, is the modulation technique most widely found in low cost equipment. Information is transmitted by varying the duration of alternating HIGH- and LOW-signals. In general, these durations are restricted to a limited number of duration levels / categories (-> clusters)
- Raw Data, in form of signal duration sequences, is the common base level protocol of any OOK sender / receiver
This repository contains all that is needed to setup your Arduino workspace:
- receiver.ino
- categorizer.cpp
- categorizer.h
- categorizer_lib.cpp
- recorder.cpp
- radio_lib.cpp
- radio_lib.h
- RFM69_lib.cpp
- RFM69_registers.h
- MCU: Arduino compatible mini pro 3.3V (MEGA328P)
- Radio: Hope RFM69w
- recommended: USB extension cable (5m) with snap-on Ferrite cores
The Radio - MCU connections are defined in radio_lib.cpp
The prototype used during the development of the project can be found on https://sites.google.com/site/rfm69arduino
An introduction to the project is available on https://sites.google.com/view/ookraw