Ra-02 (SX1278) + ESP12-S (ESP8266) gateway
A few years ago (2018), when I began designing electronics for fun, I made something like a WiFi-controlled 433 MHz remote for RC power outlets I bought from the store. The first version was a mess because I had no clue how to design a PCB. I just connected all the 'wires' on a two-layer board and flooded everything with ground. It worked, but not as reliably as I hoped. Later, I redesigned the board with a focus on minimizing current loops, but even then, not everything worked as intended. More info here.
In the end, I decided to switch to the Ra-02 instead of the RFM110W. It's theoretically a much better choice because it's programmable and not just a transmitter, but also a transceiver. This means I can both send and receive messages, without being limited to OOK. It even supports LoRa, FSK, and more!
To build my PCB, I kept the component count minimal—just a few capacitors, resistors, an LDO regulator (AMS1117) to step down 5V from USB to 3.3V for the modules, an ESP12-S (ESP8266-based module) as the application brain for WiFi connectivity, and a RA-02 (SX1278-based module) to handle all the RF work.
The software is C++ based and powered by ksIotFrameworkLib. It currently supports MQTT and implements the following protocols:
- Ningbo RF protocol
- Nexa RF protocol
At the moment, it only works in transmitter mode, but it's also possible to implement LoRa functionality in the future.