RF communication and tracking project using C++, Python, and JavaScript for communication, data processing, and user interface.
- Arduino Uno: https://store-usa.arduino.cc/products/arduino-uno-rev3
- Raspberry Pi 4 b: https://www.raspberrypi.com/products/raspberry-pi-4-model-b/
- Sparkfun Bi-Directional Logic Level Shifters: https://www.sparkfun.com/products/12009
- Reyax RYLR998 Lora Transceiver: https://reyax.com/products/rylr998/
- PROTO-boards (bread boards)
- C++
- Python
- JavaScript
- C++ handles communication with the LoRa RF transciever and passes incoming serial data to Python via the USB Serial port.
- JavaScript handles user input and passes all data to Python in standard JSON format.
- Python handles communications between both UI and the Arduino Uno.
- Incoming data is processed, converted to JSON, and displayed on the UI.
- Out going data is serialized and sent to the Arduino for transmission.
The Communication beacon is a portable RF extension, used to increase the total reception and transmission range for RF communication.
Communication Beacon Hardware
- Raspberry Pi 4b
- Reyax RYLR998 Lora Transceiver
Communication Beacon Flowchart:

The tracking beacons are used to get RSSI measurements relative to the rovers position and send this data back to the basecamp for RF location based tracking.
- Arduino Uno (any arduino based uC would work).
- Level Shifter
- RF transceiver
- C++
If you have any additional questions or comments regarding this project, please feel free to reach out to me at [email protected]




