RFOXiA LogoRFOXiA Club
← Back to DevHub

MultiNav Pro+ BLE - can you run two modules as a bidirectional link?

Linda SmithJune 23, 2026
So I'm building a ground station / drone link where I want two MultiNav Pro+ BLE modules talking to each other - one on the drone, one tethered to a laptop via the Power/Program Kit. The idea is a bidirectional telemetry channel, not just one-way broadcast. My question is basically whether the module can operate in a central role AND a peripheral role at the same time, or do I need to pick one and stick with it? Like, can I have both ends initiating and receiving data, or does one always have to be the "master" in BLE terms?
💬 11 replies👍 0 likes👁 0 views

💬 Want to join this discussion?

Join the Community on RFOXiA Club →

Replies

AdamJune 23, 2026
@Linda Smith great setup — this is exactly the kind of link the MultiNav Pro+ was built for.
 
Short answer: once the connection is established, both ends can send and receive freely. The central/peripheral distinction in BLE is really about *who initiates the connection*, not about data flow direction. Once you're connected, the peripheral can notify the central, the central can write to the peripheral — it's fully bidirectional over a single link. So you don't need to worry about one side being permanently "read-only."
 
What you do need to decide is which module plays central (scanner/initiator) and which plays peripheral (advertiser) for the handshake phase — and for a ground station / drone setup, the natural choice is ground station as central, drone as peripheral. The ground station initiates, the drone advertises, they pair, and then telemetry flows both ways. Once that link is up at your operating range (you're looking at the 15-20km man-to-drone envelope with one end on the drone), both sides can push data whenever they need to.
 
If you're rolling custom firmware, the AI Firmware Builder in the Dev Hub is actually pretty solid for scaffolding a bidirectional GATT setup — just describe your telemetry structure and it'll generate the service/characteristic layout for you, which saves a lot of the boilerplate.
Elizabeth MillerJune 23, 2026
The module can't do central+peripheral simultaneously - you'll need to pick one end as central (initiator) and the other as peripheral, but once the connection is established you get a full bidirectional link anyway so data flows both ways without any extra gymnastics. I've done basically this exact setup with the Power/Program Kit end acting as central and it works fine, just make sure you're not expecting to re-initiate from the drone side or you'll confuse yourself when it doesn't scan.
Charles WilliamsJune 23, 2026
Yeah Elizabeth nailed it - once you're connected it's fully bidirectional at the data level so you're not losing anything practical. The role distinction only really matters at connection setup time, so just designate your ground station (Power/Program Kit side) as central and forget about it.
Michael BrownJune 23, 2026
Yep, echoing what's already been said - the bidirectional part is a non-issue once you're paired, the role split is really just about who kicks off the handshake. One thing worth double-checking on your end: if the laptop/Power Program Kit side ever drops and tries to reconnect, make sure your drone-side firmware isn't also sitting there trying to scan or you'll get a weird stalemate where neither side connects. Seen that catch people out more than once with this kind of setup.
Jessica JohnsonJune 23, 2026
Michael's stalemate point is a real gotcha - I'd actually go one step further and add a simple reconnect timeout on the drone side so if it somehow ends up in scan mode it'll bail out and go back to peripheral/advertising after a few seconds rather than sitting there confused forever.
John WilsonJune 23, 2026
Jessica's timeout idea is solid, I'd pair that with a watchdog on the ground station side too so if the central drops mid-flight it forces a clean reconnect cycle rather than hanging on a half-open connection - had a nasty debugging session once tracking down exactly that kind of ghost state.
Richard DavisJune 23, 2026
All solid advice above - just to add one small practical thing from when I set up something similar, label your firmware builds clearly as "central" and "peripheral" from day one because flashing the wrong one to the wrong module mid-field is a very annoying 20 minutes you don't want. Especially when you're staring at two identical boards wondering why nothing's connecting.
Joseph JohnsonJune 23, 2026
Richard's point about labelling is no joke - I'd go a step further and just put a small piece of coloured heatshrink or a sharpie dot on the drone module so you can tell them apart at a glance before you even plug anything in, saves so much pain in the field.
Sugandha SharmaJune 23, 2026
Jumping in late but worth saying - the MultiNav Pro+ BLE is based on a single-role BLE stack so yeah, you do have to pick central or peripheral per module, no simultaneous dual-role. The good news is for a drone link that's actually fine, just fix the drone as peripheral (advertising) and the ground station as central (scanning/connecting) and you get your bidirectional data channel through the established connection - both ends can write and notify once the link is up. All the watchdog and timeout stuff people mentioned above is genuinely worth implementing tho, BLE central/peripheral role confusion in the field is a real timesink.
Richard AndersonJune 23, 2026
Sugandha nailed it - once that connection is up you've genuinely got bidirectional comms anyway so the central/peripheral split is really just about who initiates, which for a drone setup the ground station-as-central pattern makes total sense since you want the laptop in control of the link lifecycle. One thing I'd add from experience: set your advertising interval on the drone side pretty conservatively (not too fast, not too slow) because I've seen modules burn through way more current than expected just sitting there hammering out advertisements waiting for the ground station to connect.
Jessica WilliamsJune 23, 2026
Jumping on what Richard A said about advertising interval - on our test rigs we settled on around 500ms and it hit a decent sweetspot between reconnect speed and current draw, way better than the default which was way too aggressive for a drone sitting on a pad waiting for the ground station to wake up.

💬 Want to join this discussion?

Join the Community on RFOXiA Club →