Skip to the content
PCBKitNew board
2 layers51.5 × 76.5 mmEsp rfm, the printed circuit board in 3D

Hard- and software for the RFM-gateway, a universal platform for integrating sub-GHz radio into your WiFi network

Size
51.5 × 76.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
47
Nets
55
Pads
186
Tracks, vias
446, 110
Pours
12
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
4 Jul 2024
Updated
5 Nov 2026

Overview

Esp rfm is an open-source printed circuit board by Phunkafizer, from the Phunkafizer/RFM-gateway repository on GitHub, published under the MIT licence. It is a 2-layer board of 51.5 × 76.5 mm with 47 parts on 55 nets, routed with 446 tracks and 110 vias.

It is built around the CH340C, ESP-12F and AMS1117-3.3, with the USBLC6-2SC6, BC847 and 1N4148WS among its other parts. Its parts include 16 resistors, 9 capacitors, 5 ICs, 3 connectors and 2 diodes. It belongs with the radio and wireless and home automation and IoT boards and the ESP8266 boards of this library.

Main components

7

README

README.md

Release Downloads Licenses Last Commit

RFM Gateway

RFM Gateway is a radio-to-WiFi bridge that connects HopeRF radio modules to an ESP8266. It can receive RF data and forward it to your WiFi network, and it can also send RF commands from HTTP or MQTT inputs.

Project description: https://www.seegel-systeme.de/2023/09/15/rfm-wifi-gateway-a-radio-to-wifi-bridge/

Home Assistant forum: https://community.home-assistant.io/t/rfm-gateway-a-sub-ghz-bridge-to-home-assistant/982886

Highlights

  • USB-C for power, flashing, and UART access
  • Integrated USB programmer (no extra external programmer required)
  • SMA antenna connector for the radio module
  • Optional 0.96 inch I2C OLED support
  • I2C and 1-wire extension headers

Firmware capabilities

  • 433 MHz RC pulse gateway (receive and transmit)
  • 868 MHz sensor gateway (for supported sensor families)
  • 868 MHz FS20 gateway
  • Home Assistant integration via MQTT discovery

Typical applications

  • Bring wireless weather sensors into WiFi and MQTT
  • Control RF sockets and remote controls
  • Bridge RF nodes into home automation systems

Repository structure

Home Assistant custom integration

The RFM Gateway integration connects Home Assistant directly to the gateway's local HTTP API and provides a radio frequency transmitter. MQTT is not required for this integration.

Requirements

  • Home Assistant 2026.5.0 or newer
  • A gateway reachable from Home Assistant over the local network
  • Firmware exposing GET /api/rf/capabilities and POST /api/rf/transmit (implemented by the RC pulse application in this repository)
  • A radio module and antenna suitable for the devices you want to control

Compatibility depends on the firmware's RF API, not only its version number. Check http://<gateway-host>/api/rf/capabilities for a JSON response containing supported_frequency_ranges and supported_modulations. Replace <gateway-host> with the gateway's hostname or IP address; include the port if it is not 80.

Installation

The repository can be added by link; being listed in the default catalog is not required.

Home Assistant 2026.11 and newer (Marketplace):

  1. Open Settings > Marketplace > Add from link.
  2. Enter https://github.com/Phunkafizer/RFM-gateway.
  3. Connect GitHub if prompted, and select Integration if asked for the type.
  4. Open RFM Gateway, select Install, and continue with its setup flow.

Home Assistant 2026.5 through 2026.10 (HACS):

  1. Install HACS if it is not already installed.
  2. In HACS, open Custom repositories and add https://github.com/Phunkafizer/RFM-gateway with category Integration.
  3. Download RFM Gateway and restart Home Assistant.
  4. Open Settings > Devices & services > Add integration, then search for RFM Gateway.

Manual installation:

  1. Copy the complete custom_components/rfm_gateway/ folder into <config>/custom_components/rfm_gateway/, where <config> is the Home Assistant configuration directory.
  2. Restart Home Assistant.
  3. Open Settings > Devices & services > Add integration and select RFM Gateway.

When installing a release, make sure it contains the root-level custom_components/rfm_gateway/ folder and hacs.json. Older firmware-only releases may not contain this layout.

Configuration

Gateways advertising the matching _http._tcp.local. service and RF API properties can be discovered automatically. Open Settings > Devices & services, select the discovered gateway, and confirm setup.

For manual setup, enter:

SettingDescription
HostGateway hostname or IP address, without http:// or an API path
PortHTTP API port; defaults to 80

Setup queries the gateway's capabilities before creating the integration. No MQTT credentials or HTTP authentication settings are required.

Supported functions and limitations

  • Creates one radio frequency transmitter entity for each configured gateway.
  • Sends raw RF commands through the gateway's HTTP transmit endpoint.
  • Uses frequency ranges and modulations reported by the gateway.
  • Can be used by compatible Home Assistant RF device integrations; it does not automatically create entities for every nearby RF device.
  • This custom integration does not provide RF reception, sensor decoding, or MQTT discovery. The firmware's MQTT features are separate.
  • Communication uses unencrypted local HTTP. Keep the gateway on a trusted network and do not expose its API to the internet.
  • The transmitter becomes unavailable after a failed transmission and becomes available again after a successful transmission; it is not periodically polled.

Troubleshooting

  • Cannot connect: check the hostname/IP, HTTP port, gateway power, and network access from the machine running Home Assistant.
  • Invalid response: check the capabilities URL above and ensure the firmware exposes the required RF API with valid capability data.
  • Transmit failure or unsupported modulation: verify the gateway's reported capabilities and the radio module, antenna, and target-device protocol.
  • Not discovered: add the gateway manually. Multicast discovery may not work across VLANs or routed networks.

For integration errors, check Home Assistant's logs under Settings > System > Logs and report problems in the issue tracker.

Updates and removal

Install integration updates through Marketplace or HACS and restart Home Assistant when prompted. For manual installations, replace the integration folder with the new version and restart.

To remove a gateway, open its entry under Settings > Devices & services and delete it. To remove the integration's files, also uninstall it in Marketplace or HACS, or delete <config>/custom_components/rfm_gateway/ for a manual installation, then restart Home Assistant.

Licensing

This repository uses a split-license model:

Preview

RFM Gateway hardware Home Assistant view Web UI view

Parts

47
QtyValueFootprintReferences
73k3Resistor_SMD:R_0805_2012MetricR3, R4, R7, R9, R10, R11, R15
510kResistor_SMD:R_0805_2012MetricR5, R6, R8, R12, R13
310µCapacitor_SMD:C_0805_2012MetricC1, C2, C3
3~Fiducial:Fiducial_1mm_Mask2mmFID1, FID2, FID3
2100nCapacitor_SMD:C_0805_2012MetricC6, C7
2100µCapacitor_SMD:CP_Elec_6.3x5.4C5, C8
25k1Resistor_SMD:R_0805_2012MetricR1, R2
2BC847Package_TO_SOT_SMD:SOT-23Q1, Q2
2MountingHoleMountingHole:MountingHole_2.5mm_PadH1, H2
2SolderJumper_3_OpenJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP1, JP2
11N4148WSDiode_SMD:D_SOD-323D1
1330Resistor_SMD:R_0805_2012MetricR33
133kResistor_SMD:R_0805_2012MetricR14
1470pFCapacitor_SMD:C_0805_2012MetricC9
14µ7Capacitor_SMD:C_0805_2012MetricC4
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1CH340CPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU3
1Conn_CoaxialUser:SMA_HJ3
1ESP-12FRF_Module:ESP-12EU1
1PTVS3V3S1UR,115Diode_SMD:D_SOD-123D3
1RFM69_9XUser:RFM69_9XIC1
1RST/CONFIGButton_Switch_THT:SW_Tactile_SPST_Angled_PTS645Vx39-2LFSSW1
1SSD1306SSD1306:128x64OLEDBrd1
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U4
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASVJ4
1~Inductor_SMD:L_0603_1608MetricFB5
1~Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalJ1

Questions

How big is the Esp rfm PCB?

It measures 51.5 × 76.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Esp rfm use?

47 parts, built around the CH340C, ESP-12F, AMS1117-3.3 and USBLC6-2SC6. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Esp rfm KiCad files?

From the Phunkafizer/RFM-gateway repository on GitHub, at the commit this page was made from: the board is PCB/esp-rfm.kicad_pcb and its schematic PCB/esp-rfm.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Esp rfm design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers51 × 71 mmOTThing, the printed circuit board in 3D

    OTThing

    Phunkafizer/OT-Thing

    A compact universal OpenTherm WiFi Interface

    111 parts28
  • 4 layers81 × 85 mmSTS1 COBC, the printed circuit board in 3D

    STS1 COBC

    SpaceTeam/STS1_COBC_HW

    HW files of COBC

    328 parts1CC-BY-4.0
  • 2 layers100 × 100 mmProject One, the printed circuit board in 3D

    Project One

    rajbhardivesh/RF-Hunter-PCB

    206 parts
  • 2 layers45.8 × 60 mmRD Deauther, the printed circuit board in 3D

    RD Deauther

    rdhrobotics/RF-Hunter

    A compact, standalone wireless security research device. Three tools in one — RF jammer, Wi-Fi deauther, and captive portal

    55 parts
  • 2 layers83 × 31.5 mmTwitch LED Bot, the printed circuit board in 3D

    Twitch LED Bot

    renatocampoy/Twitch-LED-Bot

    Este projeto permite que você controle um strip de LED NeoPixel via comandos no chat da Twitch, utilizando a placa ESP8266.

    32 partsGPL-3.0
  • 2 layers33 × 25 mmIM350 AM550 5V V3.0, the printed circuit board in 3D

    IM350 AM550 5V V3.0

    greenMikeEU/shrdzm

    SHRDZM (just a name, not an acronym) is an ESP8285/ESP8266 based sensor and actor integration platform.

    14 partsGPL-3.0