-
Notifications
You must be signed in to change notification settings - Fork 331
Fix GC1109 FEM LNA being used for Heltec v4 RX #1249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Fix GC1109 FEM LNA being used for Heltec v4 RX #1249
Conversation
7dcc916 to
d84784e
Compare
Yeah maybe, I haven't tested with a lot of antennas yet. There's definitely something funky going on with the PA/LNA and the RX gain though. |
d84784e to
dcfea36
Compare
It'
@fschrempf It gets more tricky. But I think we actually might just need to set |
|
Updated with latest finding. I have tested for limited time but RX is heaps better, so others please do test! |
dcfea36 to
bc5e4be
Compare
The root cause was that RadioLib didn't know about the external GC1109 RF switch. Without the SX126X_RXEN/TXEN definitions, RadioLib never called setRfSwitchPins(), so it couldn't automatically manage PA_TX_EN during RX/TX transitions.
bc5e4be to
044505d
Compare
|
I was asked to build the firmware, here you go for ble companion and repeater
realized heltec wireless tracker v2 uses same chip: |
The repeater is also a companion firmware:-( |
|
Oops let me check |
Try now. Same URL. |
Thank you! |
683ac76 to
2736011
Compare

I was experiencing very bad RX with my heltec v4 so I investigated and debugged.
Turns out everything handling the LNA/PA is completely fine, the only problem was the SX1262 boosted gain was enabled. If you disable this the RX is golden. 🥇Actually, the problem was radiolib was trying to manage things.
Summary of Changes
Added detailed comments explaining the GC1109 FEM chip operation:
Added RF switch pin definitions at variants/heltec_v4/platformio.ini:34-35:
-D SX126X_RXEN=RADIOLIB_NC ; No separate RX enable pin
-D SX126X_TXEN=46 ; TX enable pin controls RF switch
How This Fix Works
The root cause was that RadioLib didn't know about the external GC1109 RF switch. Without the SX126X_RXEN/TXEN definitions, RadioLib never called setRfSwitchPins(), so it couldn't automatically manage PA_TX_EN during RX/TX transitions.
Now when you initialize the radio, CustomSX1262.h will automatically call:
radio.setRfSwitchPins(RADIOLIB_NC, 46); // RX=not used, TX=pin 46
This tells RadioLib to: