Introduction: GOING BEYOND THE HORIZON WITH LoRa RF1276

About: 游子

I’ve found RF1276 Transceiver to deliver

the most outstanding performance in terms of signal range and quality. Upon my first flight I was able to reach 56km distance at -70dB signal level with small quarter wavelength antennas.

Step 1: BOM (Bill of Materials)

1.

ARDUINO PRO Mini

2. Ublox NEO-6M GPS module

3. BMP-085 barometric pressure sensor

4. SD Card adapter

5. 3Watt LED

6. 2x 18650 2600mAh batteries

7. DC-DC buck voltage converter

8. 2x RF1276 Tranceivers from appconwireless.com

Step 2: HARDWARE CONNECTIVITY

- BMP085 sensor is connected to A4 (SDA) and A5 (SCL)

- SD Card is connected to 10(SS), 11(MISO), 12(MOSI), 13(SCK)

- GPS is connected to 6(TX), 7(RX) – software serial

- RF1276 is connected to TX->RX, RX->TX – hardware serial

- Battery voltage monitor is connected to A0 via voltage divider

- LED ON/OFF control is done through N-FET (IRLZ44N), which is connected to pin 9 via pull-down resistor.

- Pin 8 is connected to RST (for a remote microcontroller reset)

- Battery is connected to DC/DC buck converted, which is regulated for 5V output

Step 3: ANTENNAS

I’ve found that dipole antenna on the

Transmitting end and wire whip antenna on the receiving end gives the best results

Step 4: RADIO Configuration

To go for the maximum range, one has to

understand the basic physics behind the radio communication.

- Increasing the bandwidth reduces the sensitivity (and vice-versa)

- Increasing antenna gain reduces the transmit power required

- Line-of-sight is a must

Based on above rules, I’ve chosen the following parameters for RF tool:

- SF: 2048

- BW: 125kHz

- TX Power: 7 (max.)

- UART speed: 9600bps

Above settings will only give 293bps, but will enable -135dB receive sensitivity. That means that you can transmit small packets (i.e. latitude or longitude) approx. every 2 seconds. If you also want to remotely control your electronics, you must leave i.e. 1 second for listening to the ground commands. So the data can be transmitted every 3 seconds.

Step 5: MODULE CONFIGURATION

The firmware requires both the GPS module

and RF1276 to be configured for 9600bps UART. GPS configuration can be made with u-blox U-Center software.

View->Messages->UBX->CFG->PRT->Baudrate->9600. Then,

Receiver->Action->Save configuration.

RF1276 configuration can be made with RF1276 Tool.

Step 6: FIRMWARE

Firmware will:

- Monitor atmospheric pressure and temperature

- Monitor battery voltage

- Capture variety of GPS values

- Log all data to SD card

- Transmit all data

Firmware enables the following remote control options:

- reset the module

- turn the led ON/OFF

- update internal counter after receiving ping packet from ground

Both SD card reader and BMP pressure sensor is programmed for fault-tolerant operation. Failure of one of those will not crash the module.

Step 7: FLIGHT SETUP

I’ve hooked up the payload to the balloon.

The payload weight is slightly above 300g. The balloon is heavier – approx. 1kg. I’ve filled it with 2 cubic meters of helium thus giving 700g of free-lift. I’ve inflated it to burst at 1.5km (85% of volume).

Step 8: RESULTS

The balloon has reached 4.6km altitude and

distance of 56km. It was traveling at 40kmph over a huge city and has landed somewhere in a swamp. It has only burst at 4.6 km, so its tensile strength was 3 times better than I’ve initially estimated.

I did not recover the payload since I couldn’t drive and focus on monitoring the real-time telemetry alone.

I’ve captured the last packets when the balloon was at approx. 1km altitude. This is when it went beyond the horizon.

Step 9: FLIGHT DATA

I’ve collected many more parameters, but

those extra-ones are GPS mainly. Reconstructed flight path is provided in the image above, and here’s the internal sensor data.

Step 10: CONCLUSIONS

RF1276 is definitely an outstanding

transceiver. I haven’t tested any better than this-one. Flying above huge city (high interference condition) in heavy winds with unstable antenna position it was able to deliver -70dB signal level at 56km distance being 1km above ground, thus leaving -65dB link budget! (its configured sensitivity limit was -135dB). If only it didn’t went behind the horizon (or if I was higher – i.e. on some hill or telco tower) I could have captured it’s landing location. Or, alternatively, if balloon didn’t burst, I could have reached twice or trice the distance!

Step 11:

Step 12: