Skip to content
433mhz rf sniffer and receiver
Branch: master
Clone or download
mwittig Merge pull request #19 from emilmelnikov/master
Translate pins to interrupts on Arduino
Latest commit 8ffd760 Jan 7, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Fix compilation errors in examples May 24, 2016
simulate fix for sim and pinMode Mar 29, 2015
.gitignore
LICENSE Initial commit Jul 27, 2014
README.md Divide pulse length by 4 to handle longer pulses Mar 24, 2015
RFControl.cpp
RFControl.h
arduino_functions.h
library.json @platformio Library Registry manifest file Sep 3, 2016

README.md

RFControl

Arduino library for 433mhz RF sniffing and receiving.

#include <RFControl.h>

void setup() {
  Serial.begin(9600);
  RFControl::startReceiving(0);
}

void loop() {
  if(RFControl::hasData()) {
    unsigned int *timings;
    unsigned int timings_size;
    unsigned int pulse_length_divider = RFControl::getPulseLengthDivider();
    RFControl::getRaw(&timings, &timings_size);
    for(int i=0; i < timings_size; i++) {
      unsigned long timing = timings[i] * pulse_length_divider;
      Serial.print(timing);
      Serial.write('\t');
      if((i+1)%16 == 0) {
        Serial.write('\n');
      }
    }
    Serial.write('\n');
    Serial.write('\n');
    RFControl::continueReceiving();
  }
}

Outputs raw timings to serial if the same code gets received twice:

294  2630 294  242  296  1262 292  248  288  1268 286  1262 288  260  280  254  
286  1274 278  256  282  1276 280  258  276  1280 276  1272 276  270  274  1274 
274  284  276  1272 274  272  270  1278 272  272  274  262  270  1290 268  1280 
270  274  268  270  268  1288 266  270  266  1292 264  1284 264  280  266  272  
264  1302 268  272  262  1294 264  274  262  1294 262  1286 262  282  262  278  
260  1294 262  274  262  1296 262  1286 262  282  262  1286 262  282  264  274  
260  1310 260  1288 260  284  262  274  260  1298 260  276  260  1296 260  1290 
260  284  260  276  258  1300 258  278  260  1296 260  278  258  1296 260  278  
260  1292 254  10196     

It can also compress the outputs:

b: 269 2632 1286 10196 0 0 0 0 
t: 010002000202000002000200020200020002000200000202000002000202000002000200020200000200020200020000020200000200020200000200020002000203

The raw timings should be the same as outputed by pilight debug: http://wiki.pilight.org/doku.php/arctech_switch

You can’t perform that action at this time.