2.4Ghz NiceRF SX1280 LoRa Balloon Tracker – Update – Now 89km Achieved !

Although I have launched a few pico, foil party type balloons, I had not participated in the launch of a ‘real’ high altitude balloon (HAB) the latex type that rises to 30km or so then bursts and comes back to ground.

There was a HAB workshop planned for 25th/26th July in Braunton Devon so I signed up.

Bill, who was running the workshop agreed to give one of my new 2.4Ghz LoRa trackers a ride up to altitude. The tracker was a simple design using an ATmega328P processor used with my own Arduino library for the Semtech SX1280 LoRa device.

The tracker board itself (left in picture above) is not specifically designed as a radio frequency (RF) tracker and does not have connections for directly mounting an RF device. Instead it has the pins to allow a Mikrobus compatible module to be fitted. Mikcroelectronica produce a range of Mikrobus boards under the ‘Click’ brand;


I make my own Mikrobus compatible boards for the Hope RFM9x, DRF127x, RN2483 LoRa devices and most recently one for the NiceRF SX1280 LoRa devices. The simple Arduino board can then be used for 434Mhz, 868Mhz or 2.4Ghz LoRa devices just by using the appropriate Mikrobus board. The boards can either plug in on sockets, good for testing or last minute changes, or be soldered permanently in place for a more compact tracker. The components needed are all wired through hole types, so the board is very quick and easy to assemble.


The assembled 2.4Ghz tracker is fairly compact and I choose to use a standard small Wi-Fi antenna connected to the RP SMA socket.


The assembled tracker has pin headers for connection of a GPS and\or sensors such as BME280 I2C types.

The board can be used with just two AAA Lithium energisers which will supply around 2.9V for most of the batteries life. The basic board has a very low quiescent current regulator so can be used with 3 x AA batteries and still keep the sleep current of the board below 2uA.

The tracker was fitted into the HAB payload box, shown below at top left with the small L70 GPS at top right. The antenna poked out of the top of the box which was not ideal but

the Raspberry Pi in the Sky (PITS) tracker had two antennas on the bottom, one for FSK RTTY and another for LoRa.



This is the balloon being filled with helium at the launch site.



And the balloon shortly after launch with the payload below.



My tracker setup was fairly simple, a low cost Wi-Fi yagi on a tripod and one of my LCD receivers with a SX1280 Mikrobus module in place. The receiver has its own GPS so when it receives the location data from the tracker can calculate the distance and direction to the tracker.



When the tracker was last received on 2.4Ghz LoRa it was one its way down at a distance of 89.237km and an altitude of 6895km. From the field tracking location on the North Devon coast the balloon was tracked till just short of landing using 434Mhz LoRa and FSK RTTY.



The balloon, call sign Vincent, landed after crossing the Bristol Channel from North Devon to land near Newcastle Emlyn, a distance of around 108km.

The 2.4Ghz LoRa settings used were bandwidth 406khz and spreading factor 12. The lower bandwidth of 203khz should provide a bit more range with a bit of fine tuning.

One point to note is that the L70 GPS used, bought at very low cost from China, stopped working and lost lock when the balloon went above 10km. It was seen to recover when the balloon was on the way down at 6895m. The GPS was put into balloon mode so further tests are required to identify the cause of the problem.

The flight was an interesting test of the limits of 2.4Ghz LoRa and whilst its not going to replace the standard UHF LoRa devices for HAB tracking, as the in air range is only just adequate, reception distance at ground level especially with trees around is limited to a couple of hundred metres or so.

The ranging or distance measuring is an interesting feature and the device is capable of some fairly high data rates, 203kbps for LoRa and the FLRC mode should cover the same distance but at a data rate of 975kbs.

It was fun to experiment, thanks to all those involved for the workshop with a special thanks to Bill Harvey who organised it.

Stuart Robinson



2.4Ghz NiceRF SX1280 LoRa Balloon Tracker – 85km Achieved

I have had the basic send and transmit function of my Arduino Library for the SX1280 working for a couple of months, but I was keen to subject the code to a real World test before publishing it. So I built a small GPS tracker (25g) to use on a high altitude balloon.



The SX1280 LoRa devices can calculate distance by measuring the time of flight of a special packet exchange, I wanted to see how far this ranging feature would work, I had previously tested it to 40km in a hilltop to hilltop test.

So I set about converting some balloon tracking code I had originally written for the SX127X LoRa device to use my SX1280 library. This software runs as a GPS tracker typically using an ATMega328P as on an Arduino Pro Mini. The receiver can also be powered by a Pro Mini, but to run the Micro SD data logging, display and receiver’s GPS requires a processor with more memory so I normally use a version of my LCD receiver that has an ATMega1284P processor.

Changing the code to run on the SX1280, including the remote control functions took a month or more and with it eventually working I added the SX1280 Ranging capability. For this function the remote balloon tracker would transmit a short command that the receiver identifies as a ranging request. The receiver then initiates the ranging packet exchange process and displays the results as a distance.

I eventually had a chance to test the tracker on the 22nd July, weather conditions looked suitable and the small tracker was fitted to a Qualatex 36” foil balloon and launched from the Black Rock picnic site between the two Severn bridges on the West side of the Severn.

I was not using the longest range mode of the SX1280, I chose a LoRa bandwidth of 406khz as I wanted to avoid potential issues if the tracker got very cold and the TX and RX became more than 25% of the bandwidth apart in frequency. Its possible that further work will show that the lower bandwidth of 203khz, which would give more distance capability, can be used. I am also looking at implementing an AFC capability in the software.

The balloon rose slower than expected and was moving horizontally quite quickly. A 2.4Ghz magnetic mounted antenna on my car’s roof was not receiving strong enough signals to be able to follow the pico in the car, so I stuck to tracking it from a playing field with a cheap Wi-Fi yagi.



The balloon rose to 7903m where it apparently burst and descended. I lost contact with it when it was at 3259m altitude and the GPS calculated distance was 85.325km, direction 57degrees. The ranging function measured the distance as 85.133km, so with ranging now known to work at that distance, the flight was a success.



The point of lost contact was over the River Stour near Sutton-under-Brailes.

I hope within the next week or so to be able to send the 2.4Ghz LoRa tracker to around 30km altitude on a latex balloon launch.

The Arduino library seems to work well, with perhaps some improvements required in the ranging code and an AFC capability. I particular I need to write a note on how I carried out the necessary ranging calibration.

Stuart Robinson

July 2019