A WIZ750SR-based device that allows sending and receiving messages over LoRa and LoRaWAN.
Story
Introduction
I got some LoRa modules with SPI communication interface. One of the options it would have been to connect them to my Raspberry Pi. But, I didn’t really liked the idea because I already had some stuff connected to my Raspberry Pi, and this starts getting unmanageable.
So, I decided to create a LoRa-to-Ethernet gateway that can be connected directly to a home router. The WIZ750SR module with its Ethernet interface and Cortex-M0 SoC was a great candidate to implement such a device.
Here are some pictures with the resulting LoRa-to-Ethernet Gateway:
But, lets see how we got here…
LoRa
LoRa is relatively new long-range low-power wireless technology.
According to Wikipedia,
LoRa uses license-free sub-gigahertz radio frequency bands like 169 MHz, 433 MHz, 868 MHz (Europe) and 915 MHz (North America). LoRa enables very-long-range transmissions (more than 10 km in rural areas) with low power consumption. The technology is presented in two parts — LoRa, the physical layer and LoRaWAN, the upper layers.
In this project I implemented an Ethernet interface for the LoRa physical layer. This has the advantage that allows just using the LoRa PHY with our custom messages, but also allows implementing LoRaWAN if we want so.
The LoRa Modules
I used two 433 MHz modules purchased from AliExpress. The boards are powered by the Semtech SX1278 chip.
After attaching a ribbon cable to the board and some pin headers to the other end the boards were ready for testing.
The LoRa Module is connected to the Arduino boards as follows:
- VCC – 3.3V,
- GND – GND
- SCK – SCK
- MISO – MISO
- MOSI – MOSI
- NSS – pin 10
- NRESET – pin 9
- DIO0 – pin 2
I used two Arduino boards (a ChipKit Uno32 and a Genuino 101) and the arduino-LoRa library to test the boards.
The sketch I used (attached to the project) is a sightly modified version of one of the examples coming with the arduino-LoRa library. It allows sending and receiving messages over LoRa using the Serial Monitor:
Read more: LoRa-to-Ethernet Gateway