ExpressLRS 2.4GHz is awesome and I’m moving most of my quads over to it. However, I ran into an issue getting the Happymodel EP series (EP1 & EP2) receivers to work on a couple of my quads that have F4-based AIO FC boards. I’m capturing the issue and solution here in case it helps others. While I’m using Happymodel receivers, what I’m writing about here should apply to any of the ESP MCU based ELRS receivers.
I believe this issue is limited to a small number of specific flight controllers. So if you can’t get your receiver to work, it’s worth checking to see if you’re facing the same issue. Luckily there’s a fairly simple solution.
You’ve correctly wired up the EP receiver to one of your AIO flight controller’s UARTs. You’ve correctly configured settings in Betaflight. But you’re unable to get your receiver to connect to your transmitter, and consequently, don’t see any movement on the receiver page in Betaflight. When you look at your receiver, you notice as soon as you power on the quad, the orange LED on the receiver is on and remains solid.
If this is what you see on your quad, keep reading.
The Underlying Issue
This particular issue is caused by the flight controller UART’s TX output (and consequently the EP receiver’s RX input) being low when the flight controller is first powered on. This causes the EP to enter Bootloader mode, which consequently prevents it from working normally.
The solution is straight-forward: Add a pull-up resistor to the EP’s RX input, to pull it up to 3.3V. This will cause the pin to be pulled high on power up, which then avoids the EP receiver from entering Bootloader mode. I use a 1 kOhm resistor. Most boards should have 3.3V available on a pad somewhere.
Here is a diagram that shows exactly how I’ve successfully done this on my GEPRC Smart 35 with the GEP-F4-35A-AIO board.
Hope this helps!
PS: On some flight controllers, this issue affects only specific UARTs, but not others. In those cases, it may be possible to simply switch which UART you are using for the receiver.