Why ExpressLRS Long Range System? Better than Crossfire and R9M?

by Oscar
Published: Last Updated on

ExpressLRS is an open source long range RC system that focuses on range and latency. It’s also way more cost effective compared to TBS Crossfire and Frsky R9M. If you are looking for a cheaper way to start long range flying and prefer open source, check out ExpressLRS.

Update (Jun 2021): I have a whole tutorial explaining how to setup ExpressLRS.

Why ExpressLRS?

ExpressLRS offers an affordable long range alternative to the popular TBS Crossfire and Frsky R9M. They even claim to outperform these commercial systems.

ExpressLRS is based on SX127x hardware combined with an ESP8285ESP32 or STM32 MCU for RX and TX respectively. It’s using LoRa modulation, same as ImmersionRC Ghost and Crossfire, that’s why it has noticeably better range than systems that aren’t using LoRa such as TBS Tracer.

The 900MHz version of ExpressLRS runs at a maximum 200Hz update rate, which is higher than Crossfire’s 150Hz. The 2.4GHz version can even run at 500Hz!

TX and RX modules communicate via the standard CRSF serial protocol (Crossfire) for easy use with Betaflight and OpenTX.

Right now, ExpressLRS is not as user-friendly as Crossfire, but hopefully it will only get better with time. I will surely publish more content around ExpressLRS in the future.

ExpressLRS Github Page: https://github.com/

ELRS is great but not for everyone

Don’t expect things just work out of the box.

It’s an open source project and it’s rapidly evolving, so things are always changing and it needs lots of tinkering to get things set up properly.

If you want something that is tried and tested, and offers a better user experience, you should just get Crossfire (for now).

Lastly, ELRS only supports up to 12 channels. And note that the AUX channels are only 2-position or 3-position (no support for full resolution due to the lack of bandwidth). So if you need more channels, or you want additional full resolution channels for pan tilt servos etc, ELRS maybe not for you.

2.4GHz vs 900MHz

There are two frequencies available, 900MHz (915/868) and 2.4GHz.

Tests have shown 2.4GHz can do 33km of range on only 100mW. So when people tell you 900MHz is better with range, it’s really not a factor unless you are pushing 30Km or more. And your 5.8GHz video link will run out way before your radio link, so that’s that. But for sure, the lower frequency 900MHz has better signal penetration and it’s just physics.

Apart from range and penetration, the main difference is that the 900MHz system can only do up to 200Hz update rate, while the 2.4GHz can do up to 500Hz (even up to 1000hz on custom radio hardware). Your quad would feel more responsive and locked in due to the less latency.

Bandwidth is wider on 2.4GHz meaning you can fly with more people at the same time.

2.4GHz antennas are much smaller (2.5 times), especially with PP and EP2 receivers they have those super tiny SMD ceramic antenna, perfect for micro’s and whoops.

If you want the full ExpressLRS experience for racing, freestyle, or just cruising around, you definitely want 2.4GHz.

Getting The Hardware

At the beginning, you had to build your own receiver and transmitter module (yea, not easy), but now you can just buy them off the shelf.

You can build your own receiver and transmitter module from scratch by getting the right components, ordering your PCB and solder those tiny little chips on the board. This is probably the cheapest way, a TX module and receiver costs only $30 and $15-20 respectively to build. See their Github page for more info.

You can also flash the ExpressLRS firmware to existing Frsky R9M hardware. However, the process is irreversible, meaning you can’t flash Frsky firmware back on the hardware. Update: you can now flash Frsky firmware back on R9 hardware if you wish.

The most convenient way is to just buy the receivers and transmitter module that are made for ELRS. They are inexpensive, designed specifically for the ExpressLRS and already loaded with the firmware, so they are basically plug and play.

The transmitter module is compatible with almost all modern radios with JR module bay, such as the Radiomaster TX16S, Jumper T12, T16 and T18, Frsky Taranis etc. Hopefully “Lite” module will be available soon too for smaller radios like the Jumper T-Lite and Frsky X9-Lite.

I am currently using Happymodel’s 2.4GHz TX and RX setup, works really well and easy to setup.

2.4GHz (HappyModel)

Apart from 900MHz, HappyModel is now also making a 2.4GHz system for ELRS. The advantage of 2.4GHz is the much smaller antenna and higher update rates (up to 1000Hz vs 200Hz). Although the range is not going to be as good as the lower frequency 900MHz, but 2.4GHz will still be able to give you a few kilometers of range in ideal condition, that’s more than enough for most people.

Product Page:

Here’s the 2.4GHz ELRS TX module:

happymodel expresslrs es24tx module

Happymodel is making these tiny receivers with built-in antenna (the black tower – that’s the whole antenna) – ELRS PP, EP1 and EP2.

The differences between PP, EP1 and EP2 are the processor (STM32 and ESP8285): PP has STM32, EP1 and EP2 has ESP8285. Performance wise they are similar, but the STM32 chip has a smaller form factor. The other possible difference is that ESP8285 has WiFi capability while the STM32 chip doesn’t.

PP Receiver:

happymodel expresslrs pp receiver

EP1 Receiver:

happymodel expresslrs ep1 receiver

EP2 Receiver:

happymodel expresslrs ep2 receiver

Some of these nano receivers has built-in ceramic antenna (the black block), it’s so neat and small, no more antennas hanging out getting chopped by spinning props.

As it’s going to be buried inside the frame, it won’t perform as well as full size antennas when it comes to range. But for some people this is the perfect solution if they are looking for the absolute smallest or simplest build. For example Tiny Whoops would absolutely benefit from such ExpressLRS receivers as range is not a priority but size, weight and convenience.

915MHz / 868MHz (By HappyModel)

Product Page:

Here are the specs of the transmitter module and receiver:

ES915TX Transmitter Module

  • Dimension: 55mm*39mm*13mm(include heat sink)
  • Weight: 23gram (exclude antenna)
  • Antenna connector: SMA
  • VCC input: 5~13v, Recommend 5v~9v
  • RF Frequency Range: 902MHz ~ 928MHz
  • Maximum Output Power: <33dBm(For >27dBm operation, we recommend add a fan for force cooling)

ES915RX Receiver

  • VCC input: 3.7~24v Recommend 5v~12v
  • Operation current: ~100Ma
  • Rx To FC protocol: CSRF
  • RF Frequency Range: 902MHz ~ 928MHz
  • Dimension: 16mm*10mm*3mm
  • Weight: 0.70 gram (exclude antenna)
  • Antenna connector: IPEX4
  • Telemetry output Power: <17dBm


How to Use?

I have a whole tutorial explaining how to setup ExpressLRS.

Telemetry Support

Telemetry is constantly being improved, currently supporting at least 14 types of data, including VBAT, current, downlink/uplink LQ and RSSI.

Telemetry screenshots from IntoFPV user Corrado-c.

Range Testing

ExpressLRS is available on both 2.4GHz and 900MHz so some of the tests here are done on different frequencies. Definitely a ton of potential with ExpressLRS by looking at promising test results like these :)

Max Dist. Freq Pkt Rate TX Power Link to DVR
30Km 900M 50HZ 1W https://www.youtube.com/watch?v=SbWvFIpVkto
10Km 2.4G 250HZ 100mW https://youtu.be/dJYfWLtXVg8
6Km 900M 100HZ 50mW https://youtu.be/kN89mINbmQc?t=58
4.77Km 900M 200HZ 250mW https://www.youtube.com/watch?v=k0lY0XwB6Ko
2.28Km 900M 50HZ 10mW https://www.youtube.com/watch?v=qi4OygUAZxA&t=75s

Edit History

  • Feb 2021 – Article created
  • Apr 2021 – 2.4GHz version by Happymodel announced, added info regarding its TX and RX options
  • Jun 2021 – Added setup tutorial link, and info about how 2.4GHz compares to 900MHz

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.


Modic2000 21st September 2021 - 9:49 am

I am new to the fpv hobby and I have a simple question if anyone can tell me.
Does expresslrs work well with digital VTX (DJI, caddx or sharkbyte)?
I cannot find any video or tutorial in google, facebook or youtube.
Even reading the github of expresslrs, I cannot find anything about the combination of expresslrs and digital VTX!?
Or did I miss anything fact (or limitation) that everybody knows???

Oscar 21st September 2021 - 11:11 pm

Yes it does.

Ricky.KS 16th September 2021 - 8:00 pm

Will this HappyModel 915mHz module work with this BetaFPV ExpressLRS Nano 915MHz receiver? https://www.getfpv.com/betafpv-expresslrs-nano-915mhz-receiver.html

christopher karcher 3rd September 2021 - 8:49 am

Hi Oscar,
very interesting about the lower resolution of channels +5. Do you know what the resolution of upper channels are on Crossfire?

Yoni 26th August 2021 - 4:56 pm

Hi Oscar thanks for the info, do you think It Will work on a T8SG plus carbon V2?
And have you got some info about how to upgrades firmwares with this RC, i am a bit new on this respect of opentx. Thanks in advance.

Kevin Smith 21st August 2021 - 8:06 pm

Is there any movement on the TX being incorporated into a future upgrade to the internal MPM of Radioking/Radiomaster/Jumper/eachine?

Andrew 8th August 2021 - 9:15 am

Hi Osca,

Love your work! I’ve looked about and have not found an answer to the following question. I figured you would be the best person to ask as the Github list is not getting a response to this one, which has been asked by lots of others.

Can an Express LRS receiver, say a happy model EP1 or 2, be used to drive servos without a FC? Either by way of a header or a signal converter of some sort?

Oscar 9th August 2021 - 11:12 am

Unfortunately no, EP1/2 doesn’t output PWM signal. You will need some sort of converter which isn’t currently available to be bought off the shelves. However I think iNav has servo outputs, so you might be able to use an FC to output PWM signal to control servos.

JeffD 26th July 2021 - 12:04 am

Hi Oscar,
Is the R9 Slim (the one from 2018, not R9 Slim+) compatible with ExpressLRS ? I saw that the Slim+ seems to be supported but I didn’t found ant confirmation that the Slim from 2018 is supported… any thought ?

Oscar 26th July 2021 - 9:04 pm

You might have to check with the Devs over at their Facebook group or Discord. I have no idea when it comes to R9 stuff, stopped using them a few years back.

Kevin Wright 23rd July 2021 - 2:03 pm

Can you use expresslrs on fixed wing via a flight controller??

Oscar 23rd July 2021 - 10:32 pm

Yes. It’s basically like setting up Crossfire.

Rich 9th July 2021 - 4:43 am

Do I still have to do the crossfire mod on the QX?

Dr Duck 29th July 2021 - 11:26 am

You don’t have to do the mod (on the QX7) but if you don’t then you will be limited to 115,200 baud. Doing the mod allows 400k. This translates to 62.5Hz updates rather than the full 200Hz (on 900MHz).

Jim Wallo 17th June 2021 - 1:34 pm

Hello Oscar…would you recommend ExpressLRS or Ghost? Which do you think is better? I just switched everything from CROSSFIRE to GHOST because have problems around CELL TOWERS with crossfire. This is JIM with that invention…I sent you pictures and assume you don’t want one for free? Thanks and have a great day. Stay safe.

Oscar 17th June 2021 - 2:22 pm

For me it’d have to be ExpressLRS for now – I think it has more potential, evolving faster, larger user base (easier to get support), and it’s way cheaper.
Oh about that, I thought I replied, guess I remembered wrong :) Sorry! Yea I think I still prefer to just remove the props when testing on the bench, your invention might be able to stop the motor spinning if thing goes wrong, but it will probably also burn the motor and ESC.

Josh 10th June 2021 - 8:22 pm

Hey Oscar,

I am having a problem installing a fan on my ES915TX, I have the red wire for the fan to the “FAN” pin and GND to GND right next to “FAN”. It doesn’t seem to work at any power output. Any guesses why? And do you experience a faint buzz at higher power outputs?

Thank you!

Oscar 11th June 2021 - 6:29 pm

Sorry, I don’t have the ES915TX, only the 2.4G version.

Anirudh 18th June 2021 - 10:13 am

ELRS has 23 telemetry values and also supports 8 positions in switches.

Roy Lamontagne 3rd July 2021 - 2:21 pm

Hey, I have Expresslrs 915mhz. If you want to attach a fan solder a header to the 4 pin for the UART header on the side of the board and then use the top as +3.3v and the bottom as gnd. Use female ends on the pins so that if you ever have to firmware upgrade over the UART then you won’t have to unsolder. The fan contact on the board appears to be a gnd that isn’t solid connected to the gnd on the uart. It may be a switched gnd intended for a fan that is controlled in some way by the module, but I just used the uart gnd so that it is always on and never tested it. I received 915tx v 1.0 and [email protected] (which are the new version of the discontinued 915rx). The 900rx are smaller and the contacts are not labeled. With antenna side up and the board turned with the contacts on the right hand side the pads are gnd, vcc, channel 1(tx), and channel 2 (rx) top to bottom. Much like the crossfire nano pads. The binding procedure is a bit different than the 2 led 915rx. Apply power very quickly three times to the rx and then leave it on the third time. It will start to do a double blink. This is bind mode. Then having your LUA script installed, your open tx updated to support the crossfire protocol needed, and on the model you want with the correct number you want assigned to the reciever, and everything set to crossfire protocol in your receiver hit the bind once. It may not appear to do anything at all at first but don’t hit it again and wait a second it will go solid red (900rx only has a red led). It is bound and you will hear your radio tell you it has telemetry. Subsequently, powering your the receiver on or off will have your radio blabbing about telemetry going being acquired or lost. It is bound. If you wait and the rx goes into fast blinky then it is in wireless update mode. Start again.

Andreas 9th June 2021 - 5:03 pm

Hi, do you no if I can use the smart port on my r9m to telemetry data over the hc-05 bt module, like it work on Frsky firmware? or didn’t elrs use this port? is it still inverted?

Many thanks andreas

Oscar 9th June 2021 - 5:42 pm

Yes, Frsky receivers’ inverted signals are due to the hardware inverter at the output (NOT software), so you will still need to get the “uninverted” signal from them.

Denis 3rd June 2021 - 3:26 pm

what are the chances of this being added to the TBS Multi Protocol Module?

Kraig 14th May 2021 - 6:44 am

Can the ELRS be used on a Spektrum dx9 like crossfire?

Oscar 14th May 2021 - 11:27 am

Only these opentx compatible radios are supported as you have to flash this firmware for optimal performance: https://github.com/ExpressLRS/ExpressLRS/tree/250-500-race-modes/OpenTX

Uwe 2nd May 2021 - 3:07 pm

Can the ERLS receiver be connected to FC like Matek wing with SBUS? I am new on this technical things and dont understand it at all. How many canals have this receiver? I never have seen any data about it.
Thanks already for an answer

Oscar 2nd May 2021 - 5:13 pm

the ERLS receivers connect to FC via an UART (TX/RX), in addition to the 5V and GND, total 4 wires.
I am getting these in and I will do a tutorial on it.

Jeffery Sievers 27th April 2021 - 1:07 am

Another question, I have updated the firmware that just came out, the new 1.0 rc1, I still don’t have gps telemetry. I was under the impression that the new firmware had almost full telemetry?

Jeffery Sievers 27th April 2021 - 1:04 am

I noticed the update about being able to reflash R9 back on to the receivers, How exactly do I do that?

MClay 26th April 2021 - 6:28 pm

Hi Oscar. Great article. I’m new to SBUS and ELRS. Do you know if the ELRS receiver connects to a dedicated SBUS pad on the fight controller to does it connect to a regular UART? I guess I’m asking if the receiver output is inverted or not? Thanks!

Oscar 26th April 2021 - 11:05 pm

Only Frsky’s SBUS/Smartport is inverted, so no, ELRS receivers won’t be inverted.

kaji331 25th April 2021 - 2:44 am

Do you know any radio controller company will produce an radio controller within native elrs? 2.4 or 900? I wish a radio controller like tango2 but not TBS, it’s elrs! I don’t like JR module.

Fabio 23rd April 2021 - 11:12 pm

hi Oscar
Even thought i already got a TBS Crossfire, i stili have a R9M Lite pro, and actually i never used it.
I got curios about the express LRS project. Specs sound really intresting.
Some time ago i saw that software for R9m lite pro was “in development”, but now it seems to have disappeared. Do you know anything about it?

Oscar 24th April 2021 - 11:43 pm

Sorry I am not actually following the development very closely, it’s best to join ELRS’s facebook group and ask the devs there: /groups/636441730280366/

deeph 21st April 2021 - 1:47 pm

Hi, I owned frsky x10s with internal Access module mod from FrSky and using OpenTx 2.3.11 directly from companiontx. I saw in ELRS LUA that the Pkt. Rate didn’t match with LUA indicator (above right side in LUA). The control to my wing is OK on the bench, but I don’t know if its fly at field.
Do you know if there is a way out for this?


Aamir 10th April 2021 - 9:19 pm

Hi Oscar, been reading your blog since long. This is my first comment. This expressLRS thing seems too interesting. Is there a way to make a conventional pwm receiver for this system?
Nad also any 8 or 12 channel support rx?
Sorry for bieng a noob, but i am not very tech savy.

Oscar 11th April 2021 - 11:43 am

I am not too sure at this point, you might need a SBUS to PWM converter or some sort for now. I am sure manufacturers would produce PWM receivers in the future.

Joseph 8th April 2021 - 12:15 pm

Hi Oscar,
I am running an OPEN TX 2.2.3 with my QX7. Is it possible for me to use the Banggood version of Happymodel ELRS?

Thamk yoy,

Oscar 8th April 2021 - 8:50 pm

Yea I think QX7 is supported by ExpressLRS, you just run CRSF as external RF module.

James T. Jordan 7th April 2021 - 3:47 am

I’m a little confused about the R9m firmware upgrade. The R9M is known to be a strictly FRSky module. But once I flash espressLRS to it could it be used in a Radiomaster or a Jumper? Or is this particular path into espressLRS solely for the FRSky ecosystem?

Colin Uhrich 26th March 2021 - 2:28 am

At the current state of things, could one get a Jumper T-Lite, running open TX 2.3.11(or most current build for ExpressLRS), Wire in the ExpressLRS ES915TX(might need that current boost Lite Module or battery) from HappyModel with paired ES915RX. Because I should be able to attach a crossfire module to it, flash it and make it work. It may be ugly but I kind of want the Jumpter T-Lite and Express LRS.

Oscar 26th March 2021 - 9:54 am

Hold off for now if you need the Lite module, I’ve heard rumours that Happymodel is making a JR size as well as a lite size, so you won’t have to do any modifications. Release date might be April, but i cannot confirm.

Felipe Holanda 16th March 2021 - 1:31 pm

Great article as always. Your blog is fantastic!

Happymodel product is a good option, but I think that R9M and R9Slim is a better deal to start in ExpressLRS.
Almost the same price and a very good hardware with powerfull output option.

Oscar 17th March 2021 - 12:58 pm

That’s a good point. I bet you can even buy second hand R9 hardware quite cheaply these days.