The Frsky R9MM FC is basically the Airbot OmniNXT F7 with a built-in R9MM receiver. I am going to test it and find out what the advantages are. I will also show you how to update receiver firmware.
I think Frsky has made a good decision re-branding Airbot’s OnmiNXT F7 FC. I have been recommending it on my flight controller product page because of the excellent list of features and pad layout, and the top notch build quality.
To learn more about flight controllers please check out my buyer’s guide.
Where to Buy?
- HorusRC: http://bit.ly/2TzHJdE
The R9MM is mounted on the bottom of the FC, protected inside a plastic housing. The receiver is redesigned on a completely different PCB, just for this FC.
The antenna wire is about 10cm long.
Is It Worth It?
The Dipole T Antenna is sold separately for $3 (HorusRC: http://bit.ly/2Sfddbh)
So purely based on the cost of components, It’s absolutely worth it. But if you don’t use the Frsky R9M module, maybe you are better off getting the OmniNXT F7 without the receiver.
Frsky also offers the same flight controller with a built-in R-XSR receiver: http://bit.ly/2OkR0qC.
Specs and Features of OmniNXT F7
- F7 MCU (see benefits of F7)
- Dual Gyros: MPU6000 and ICM20608 (see the different Gyro’s)
- Supports 3S to 6S LiPo Input
- BEC: [email protected], [email protected], [email protected] (LC Filtered)
- 6 UART Ports (but UART 5 only has RX)
- Supports Camera Control (via OSD pin on the camera)
- Supports Betaflight OSD
- Header connector for 4in1 ESC, with dedicated pin for ESC telemetry (SH1.0 8P)
- 8 motor outputs (TX6 and RX6 can be remapped to Motor #7 and #8)
- 16MB Flash Memory for Blackbox log
- i2c port
- 30.5×30.5mm mounting holes
- Weight: 14g with receiver and antenna
- Betaflight Firmware: OmniNXT7 (ONX7)
There are two gyro’s on this FC, both are protected in a plastic, vibration damping box, so there is no need to soft mount the flight controller. Note that you can only select and use one of the two gyro’s in Betaflight CLI, by default MPU6000 is selected.
set gyro_to_use = SECOND save
- FIRST = MPU6000
- SECOND = ICM20608
Pin layout seems to be very user friendly, pads are grouped together based on their functions. I really like how they’ve made the pads for 5V, 8V and GND extra large, much easier for soldering.
The OmniNXT F7 is designed to be paired with 4in1 ESC’s, but there are also “through holes” for individual ESC’s, where you can solder servo header pins to. This allows you to easily connect single ESC’s or servos, which means you can also run this FC on planes and wings, not just quadcopters.
Motor output S1 to S4 have middle pins labelled “BEC”, these are all interconnected. Initially they are not connected to anything on the board. There are two solder jumpers, by bridging one of them you can connect these “BEC” pins to either 5V, or RX5. With 5V, you can power servos, though it might not be powerful enough since the onboard 5V BEC is only rated for 1A, you might want to use an external 5V BEC for servos. Wth RX5 you can run ESC telemetry on individual ESC’s.
There are up to 8 motor outputs so you can also use this FC on a Hexacopter or even Octocopter.
Regarding current sensor, if you are using the 4in1 ESC header connector, you have to short one of the two jumpers next to the connector. The choice depends on whether you are using ESC telemetry or ADC as the current meter source.
There is also an RGB LED next to the 5V pads, I am still trying to figure out what it does, and how to configure it.
How to Bind Receiver?
The steps for binding the built-in receiver are the same as binding standalone Frsky receivers: enter “bind mode” by holding down the bind button before powering up the receiver.
The bind button is located on the RX, and there is a tiny hole in the plastic case, allows you to reach the button with a pin or needle.
Onboard Receiver, Any Good?
The receiver is connected to the flight controller on UART 2, using FPort protocol. It is very handy to have the receiver already mounted and connected, ready to use out of the box. However it isn’t so simple when it comes to firmware flashing.
I was told by Frsky there is a specific receiver firmware I have to use for the built-in R9MM. Using ordinary firmware can result in connection problem with the FC. Last I checked (Feb 05 2019), there is still no FLEX firmware available for this FC, so it seems it lags behind the ordinary firmware when it comes to update.
It’s unfortunate as I am using the FLEX firmware on all my other quads with R9MM receivers. Without the FLEX firmware, this FC just wouldn’t bind to my TX. In the end I found a work around, I will explain in this article shortly.
How to Update Built-in R9MM Receiver Firmware?
The update procedure is mostly the same as standalone receivers. But you have to first remove the R9MM from the plastic box, by taking out the 4 long screws.
And disconnect the ribbon cable. Both the gyro and RX can be easily removed from the FC.
Now solder a servo cable to these three pads on the receiver, which are the Vin, GND and SmartPort.
Firmware can be downloaded here: https://www.frsky-rc.com/r9-mm-fc-omninxt-f7/
And the rest of the firmware updating is the same as an ordinary receiver, you just need to plug the servo cable into the back of your Taranis and flash :) See this article for more detail how to flash Frsky receivers.
A Better Way to Connect RX and FC
By accident, I damaged the ribbon cable between the RX and FC. Without replacing the ribbon cable, I decided to just use some tiny wires, and it turned out to be a better way to connect the RX to the FC in I found.
These are 30AWG wires, connected to the Vin, GND and SmartPort pads on the receiver.
SmartPort connects to TX2 on the flight controller, which is just the same as how it’s connected internally with the ribbon cable.
Why is it better?
Firstly, there is no more need for special RX firmware! I can now flash it with ordinary firmware, without any potential issue with connection to the FC. Basically It’s now just an ordinary R9MM receiver, I can finally use the latest Flex firmware too :)
Secondly, you no longer need to remove the plastic case for flashing firmware, simply un-solder those wires from the FC, and use them for flashing. And these wires are much more robust than the tiny ribbon cable.
Thirdly, it’s easier to repair and troubleshoot receiver issues. With the ribbon cable, it’s hard to know whether there is a connection issue. It’s also now possible to move the receiver to a different UART!
Since SmartPort is inverted, I had to do one more thing in CLI:
serialrx_inverted = ON save
Build Tip – Stack Height
One thing that isn’t too obvious at the beginning, is the height of the board. Because of the plastic boxes for the Gyro and receiver, it takes up quite a bit more stack height than a traditional flight controller.
The FC height measured to be around 14mm!
So make sure you have enough room in your frame for that.
Let me know in the comment if you have any question. For more info, check out this build log.