Yesterday I had the opportunity to test the 3DR Radio 900MHz.
On first impression I could see that he is much smaller and lighter than the Xbee.
I upgraded the firmware to v1.5 (the card that goes in the model airplane need a FTDI cable).
I made some ground tests with the default setting and noticed some delay by MissionPlanner. So I have disabled the option ECC and everything worked perfectly.
In flight test, I used a 7dBi patch antenna at the ground and flew up to 8km ( 4.8miles ) away and 2000m high and the 3DR Radio signal was in 90-94%.
Compared to the XBee system with the same patch antenna at that distance the signal was around 40-60%.
The settings I used were the image below. The only difference is the firmware v1.5.
I'm very happy with the 3DR Radio.
Did you try any higher air rates to see what kind of range you get?
there is a new firmware already ... dam I forgot to buy a FTDI cable :(
Thanks for the good report! Would you mind posting a tlog of the flight so we can look at the signal and noise levels?
I'm surprised you noticed much latency with ECC. It will lower the telemetry rate as it halves your bandwidth, but the error correction should be worth it. Instead of disabling ECC, if you want higher telemetry rates you may be better raising the air rate a bit, perhaps to 96? Otherwise I think you'll start losing some packets at longer range as bit errors start creeping in.
Also check what stream rates you have set in the planner.
I'm also considering adding MAVLink compression to the radios. If we can get that working then it would allow for very high telemetry rates at low air data rates.
Can you expand a bit on the error correction scheme used in the code? I'm also curious about the MAVLink compression. From the MAVLink site I got the impression that it already was a compressed binary type protocol.
I wish I had time to study your code in detail, but the math and techniques are probably a bit beyond me in any case.
It's a 12/24 Golay code, which means every 12 bits of data get expanded to 24 bits in the air. It can correct 25% bit errors. We detect errors beyond that with a 16 bit CRC.
The compression isn't written yet, but I am thinking of using the redundancy between packets to do delta-compression. It will just take advantage of the fact that most bytes of MAVLink packets are the same between messages (eg. GPS latitude usually only changes for 1 byte of 4 between neighbouring messages).
LOL! I was right about the math.
My brain started hurting after I read "In mathematical terms, the extended binary Golay code consists of a 12-dimensional subspace..."
I'm a "survey of Calc", rather than "Calc 3" & "advanced data structures" type of guy. I'm still pissed they wouldn't let me take advanced data structures because I only needed survey of calc for my major. I feel robbed.
That delta compression strategy sounds great. I was just thinking something along those lines would be useful. Perhaps you could also save some bandwidth by not error correcting some of the telemetry data. Frequently updated data might be pointless to correct (just CRC it), since it would be updated quickly enough to not matter.
Are you using the hardware CRC unit on the Si1000? I also noticed the Si1000 is overclocked on the HopeRF module!? Any comments on that?
hi sergio, i rcvd my 3dr 900 Mhz last week and not to mention seems to be working flawlessly. i want to upgrade to firmware 1.5. the icon shows firmware upgrade as local. that menas that i shoul have the hex file on laptop or can i do via the net. ravi
you can only upgrade the radio connected to the computer via usb is what i took that to be... which means you need a FTDI cable to upgrade the air module. I want to as well and i assumed that i need a ftdi cable for the air version. ( not 100% that's correct)
can u tell the procedure for upgrading the firmware for 3DR. 'local' indicates the new firmware should be on laptop instead form the repository.
To update the firmware you have to plug in the computer the two plates (one for each time), which lies on the ground is easy because it has a USB port, since the remoteneeds a FTDI cable.
Once you connect the 3DR radio, open the Mission Planner, but not CONNECT, go to "CONFIGURATION" then "SETUP" and then "Radio 3DR", now click "LOAD SETTINGS" (if it gives error is because you connected the radio to Mission Planner and then they come into conflict), now he must give information of firmware, baud and others, click "UPLOAD FIRMWARE LOCAL" and wait for a 3-4 minutes.
Insert the other 3DR Radio and do the same.
I read that the firmware supports over-the-air upgrades. So you should probably update the air unit FIRST, then the ground unit. You probably don't need the serial TTL cable.
The radios support over-the-air configuration, but not over-the-air upgrade.