RFM-Gateway: A radio-to-WiFi bridge

The RFM-WiFi interfaces a Hope-RF radio module to an ESP8266 microcontroller in order to send or receive data over radio and forward it to a WiFi network. The PCB can be assembled with one of the following radiomodules:

  • RFM69C(W) 315 / 433 / 868 / 915 MHz FSK/OOK radio module
  • RFM69HC(W) 315 / 433 / 868 / 915 MHz FSK/OOK radio module
  • RFM95(W) 868 MHz LoRa module
  • RFM96(W) 433 MHz LoRa module
  • RFM97(W) LoRa module
  • RFM98(W) 433 MHz LoRa module

Features

  • Modern USB-C connector for power supply, flashing and UART interface to the ESP8266
  • Integrated USB programmer, no need for an additional programmer in order to upload firmware to the ESP8266
  • SMA connector for mounting an SMA antenna for the RFM radio module
  • Connector for optional 0.96″ I²C OLED display
  • Completely SMD assembled (except radio module and SMA and extension-connectors)
  • Extension pinheader for I²C
  • Extension pinheader for 1-wire bus
  • fits in a compact plastic enclosure TEKO 100007, 80 x 56 x 24 mm

Applications

  • Bring wireless weathersensors (LaCrosse, …) into your WiFi
  • Control RC sockets
  • Single channel LoRa-Gateway
  • Gateway for open-energy-monitor nodes (emonTH)
  • Gateway for mysensors nodes
  • Gateway for JeeNodes
  • Gateway for nodes based on Moteino

Includes

  • PCB with all SMD parts assembled
  • SMA connector
  • Pin headers for I²C & 1wire
  • Plastic enclosure (without cuts für SMA & USB connectors)

Firmware

The RFM-gateway is meant as a open-source-hardware-platform to be used for own projects. When shipped it is preflashed with the inhouse-firmware. Push the button > 3 s in order to bring it into the configuration mode. It will open an access point. Connect to it and browse to the address http://4.3.2.1. Connect it to your WiFi-network and configure the MQTT settings.

The inhouse firmware has the following capabilities:

433 MHz RC pulse gateway

When the RFM-gateway is assembled with a 433 MHr radiochip it can send & receive the signals of many sockets, remote controls, sensors and more. A (not complete) list of compatible devices can be found here. Received radiodata is translated to MQTT-messages and vice versa. Decoded and unknown received messages are displayed under the “log” tab in the webinterface. Here are some examples for controlling RC sockets with MQTT messages sent to the topic home/rfm-gateway/rc433:

Sockets using Tristate protocol (old Intertechno, old KlikAanKlikUit, Brennenstuhl, …)

{
  "protocol": "it-tristate",
  "house": 1,
  "channel": 1,
  "group": 1,
  "command": "on"
}

Sockets using 32-bit pulse position coding (Intertechno, KlikAanKlikUit, Nexa, Hama)

{
  "protocol": "intertechno",
  "id": 12345,
  "channel": 1,
  "command": "on"
}

Sockets using 32-bit pulse width coding (Pilota Casa)

{
  "protocol": "pilota",
  "id": 12345,
  "type": 1,
  "channel": 1,
  "command": "on"
}

Sockets using 24-bit pulse width coding (Emylo, Logilight)

{
  "protocol": "emylo",
  "id": 12345,
  "key": 1
}

868 MHz sensor gateway

When the RFM-gateway is assembled with the RFM69 868 MHz radiochip it can receive the following sensors and send the received data to a MQTT broker:

  • Lacrosse temperature/humidity sensors TX-22, TX-29, TX-35, …
  • Voltcraft Energy Count 3000
  • Bresser 7-in-1 weatherstation
  • EMT7170 energy counter

The data can be fed into homeassistant or other homeautomation software.

868 MHz FS20 gateway

This application sends and receives radio messages from FS20 devices and translates these to MQTT messages and vice versa. Here are some example MQTT messages for controlling FS20 devices sent to the MQTT topic home/rfm-gateway/fs20:

{
  "house": 1,
  "address": 1,
  "comand": 1
}
  • house: 16-bit (1-65525)
  • address: 8-bit address (1-255), nibble = 15 addresses all
  • command: 8-bit or 16-bit, 0=off, 16=on