LoRaPHY project, based upon SX1276Lib, hardware with NUCLEO-F103EB/L053R8 and other boards as well as multiple Radio modules of SX1272/1276/1278. The code contains MACRO definitions and can be configured as TX/RX only, PINGPONG and consider to be a code base of RTTY.
You are viewing an older revision! See the latest version
Homepage
About LoRaPHY/RTTY¶
This project has two goals:
- Setup and verify a extra low cost LoRa RF Shield for Arduino shield interface and compatible boards, Nucleo/Freedom and etc.
- Setup another MAC layer based upon LoRaPHY radio link to address mobile asset ,
Hardware¶
We delivery LoRa shield for Arduino/Nucleo/Freedom boards based upon mature RF modules. In order to avoid sourcing issues, we selected carefully and added solder jumpers to support multiple modules, therefore the developers can get constant supplies. Up to now, we have verified several SX1278 modules, and we will move on to verified SX1276 and SX1272 to cover EU/US bands.
Since we also develop based upon these boards, we added solder jumper for 3V3 VCC, so you can measure the power consumption of RF module. Additionally, we added some test pins, so you can use a logic analyzer to probe the SPI bus . This interface is very handy, I have removed some firmware bugs with this interface.
In this next version, I am considering to add I2C EEPROM. However since we can use internal Flash ROM to emulate EEPROM and some parts even have on-chip NVM, so it is still under evaluation.
Fig1, RFM100L with NPLINK SX1278, can plug into Arduino/Nucleo/Freedom boards
Fig 2, RFM100L with AT SX1278 Ra-01 and NUCLEO-F103RB
Fig 3, Schematics of RFM100L, check out the solder jumpers.
And we will continue to introduce more adapters for pin to pin compatible modules, as well as breakout boards for mini boards. Keep tuned.
Firmware¶
Most of the LoRa applications follow LoRaWAN specifications. LoRaWAN is suitable for fixed location IoT DAQ system. In some applications like people positioning system, we may need different MAC layer design due to different topology, which is similiar to early age of radio communications, HAM or walkie talkie. Therefore peer to peer and competitive MAC layer is required, instead of hybird MAC like LoRaWAN, which is competitive for uplink and time scheduler for downlink.
CSMA/CA¶
Since LoRa RFIC is a half duplex design, so we can not use CSMA/CD (Conflict Detect), we can use CSMA/CA(Conflict Avoidance). We will leverage wideband RSSI and CAD preamble detection as Carrier Sensing method. This part will borrow from LoRaWAN codebase.
In order to avoid conflict, we use RTS/CTS with timestamp information before real packet transaction. So other nodes will know how long the channel will be occupied. Then we will define packet structure. And X.25 over LoRa, and then IP based upon X.25.......
AT MODEM Interface¶
In order to make it a RTTY MODEM, we will define extra AT command set to interface to any host support UART/USB CDC, like PC/Raspberry Pi/Android/Router.
Software¶
The software running on host will be written in Python as well as Java, including CPython/Jython, Java for Android and Processing.
Bugs¶
Please refer Bugs for detail information.
Purchase¶
So far there is only way to purchase RFM100L, our first batch of prototypes. via taobao.com in China. But we will arrange channels on tindie soon. Please contact me (allankliu(at)163.com) if you are interested in this project.