RavenLRS / Flock

Flock is an inter-craft communication system intended mainly for radio controlled vehicles
Other
8 stars 2 forks source link

Frequency bands for Flock. #1

Open Rusty105 opened 5 years ago

Rusty105 commented 5 years ago

I see the BOM for the FlockOne uses a 433MHz chip, are there plans for using other bands, such as 915MHz? I think 915MHz is more popular in ITU Region 1 for telemetry devices, where 433 MHz is more popular for RC control.

fiam commented 5 years ago

The code is mostly band independent, so you should be able to use any frequency that makes sense for you and the people you fly with. The flock host (e.g. the flight controller) is always able to change the frequency, so it's up to each host-side software (e.g. INAV, BF, Ardupilot, etc...) to implement a user setting for the broadcast frequency.

Problem is, we don't have any license free band that's easy to use and not already used by a significant part of RC pilots. 2G4 and 5G8 are the most popular ones, 868M and 915M are not as popular but still relatively common (used by FrSky R9 and TBS CRSF), and 433M seems like the least popular one but still significant enough (Dragonlink, QLRS, etc, ...).

The only frequency that we have left is 1G3 but it's still used by some RC pilots for video, I'm not sure that's legal to use without a license and, even worse, it's difficult to find ready-made 1G3 cheap radio modules with good RX sensitivity.

Although the module in FlockOne is tuned for 433MHz, that doesn't mean we have to use exactly 433MHz since the SX1278 supports any arbitrary frequency between 410M and 525M. Of course, the further we deviate from 433M the more losses we'll have between the SX1278 and the antenna port, but I think might be able to use PMR446 or even FRS (462M-467M) while still getting acceptable ranges. As you probably already know, antennae can generally be shifted up in frequency by cutting them, so it might be possible for users to easily adapt 433M antennae to these frequencies as long as someone with the appropriate equipment measures the amount needed to trim from them and publishes it (I do have the equipment to do so). Of course, it won't be as good as a properly tuned antenna but it will probably be good enough.

Also, the Ai-Thinker Ra-02 module is easy to solder and comes with an UFL connector builtin, so it makes it easier to DIY (which is also a goal of the project, at least on this stage)

Note that this doesn't mean FlockOne will be the only Flock implementation. The goal of the project is do define solid and reusable protocols for both host<->flock device over-the-wire (on top of e.g. UART, MSP) and flock<->flock over-the-air (on top of e.g. LoRa), but additional air protocols could be defined for other radio types.

Rusty105 commented 5 years ago

I figured the code would have some flexibility in frequency choice. I did some quick searching, and I don't really see a drop in replacement for the Ra-02 in the 915 band. The RFM95 may be a 2nd option for me, but I would have to design a board, which is no problem. Most of the guys I know flying longer range are using 433 for RC link (Dragonlink, openLRSng, etc), there is some Crossfire and FrSky R9, but mostly mini-quads. 1.3G would be bad, as a majority of longer range flights are on this frequency for video. I will probably build a couple Flock-Ones for testing, but probably end up on 915 for real flying. Can I ask what region are located in?

As you probably know, Ardupilot relies heavily on MAVLink for communication between Flight controllers / ground stations / telemetry / etc... My goal would be to have the Flock receiver communicate using MAVLink to the host (flight controller), and then communicate over-the-air to other Flock radios. Once the Flock radio sends a MAVLink message to the flight controller the message can be routed to other devices in the system, at least that is how I understand it to work.

Can I assume that the Raven system would have RC/Telemetry/Flock all done on the same radio?

fiam commented 5 years ago

There's no 915M equivalent of the RA-02, you'd need to use another LoRa module. RFM95 is fine from a quality standpoint, but keep in mind that you will need an antenna connector and an impedance controlled trace from the RFM95 antenna pad to that connector. In my experience, doing that with 2-layer PCBs can be problematic, so it might work better with a 4-layer one.

The problem with using 868M and 915M (or 433M for that matter) is that the existing RC control systems using those frequencies don't publish which frequencies they use exactly, and they might as well be using the whole unlicensed band. And even if they don't, they might change it in the future. That's why I think that using something a bit far apart like PMR446 or FRS can be a better solution. Do you know if something similar exists around 868M or 915M or something in between?

Regarding communication with Ardupilot, I think the best way would be to implement FLOCK-SERIAL for it. We do have FLOCK-MSP for INAV and BF, but the use case for that is having devices that do more than just flock (e.g. provide an OLED screen), so they need to pull additional data from the flight controller. Instead of complicating the FLOCK protocol to accommodate those use cases I thought that allowing FLOCK to be transported over MSP was a better idea. This lets the flock device use MSP and exchange any data it wants with the flight controller. Same thing could be implementing for Ardupilot with MAVlink.

On the other hand, broadcasting raw MSP or MAVlink messages over the air regularly is definitely a no go. We will support arbitrary payloads, but those must be something that's sent only occasionally (e.g. a shoot for implementing vehicle battles). The regular messages must be carefully designed and timed in order to maximise both the rate of the updates as well as the maximum supported nodes.

Rusty105 commented 5 years ago

Thanks for the tip on the boards. I'll look at Flock-Serial and see what I can do with it

As far a MAVLink being sent over-the-air, I have no plans for that. Just looking for a way to have pilots find tandem aircraft to fly together. I think if anyone wanted to send MAVLlink to other aircraft they would stick to the regular Ardupilot telemetry radios.

Rusty105 commented 5 years ago

I was thinking about this for a few days, and why not use 2.4GHz LoRa? In reality, I do not think I know anyone who is flying long range, and wanting to fly in tandem, that is still using 2.4GHz for RC control . might be an option to think about....

Rusty