Skip to content

Hold GC1109 PA_POWER during deep sleep for LNA RX wake#27

Merged
weebl2000 merged 10 commits intodevfrom
heltec_deep_sleep_lna
Mar 3, 2026
Merged

Hold GC1109 PA_POWER during deep sleep for LNA RX wake#27
weebl2000 merged 10 commits intodevfrom
heltec_deep_sleep_lna

Conversation

@weebl2000
Copy link
Copy Markdown
Owner

Summary

  • Hold the GC1109 VFEM_Ctrl (PA_POWER) pin HIGH during deep sleep so the FEM's LNA remains active for wake-on-packet RX
  • Release the RTC hold on wake so normal GPIO operation resumes
  • Add 1ms delay after GC1109 power-on during cold boot to allow the FEM to stabilize before use (skipped on deep sleep wake since the FEM was already powered)
  • Applies to both Heltec V4 and Heltec Tracker V2

Without this, the GC1109 LNA could be unpowered during sleep, degrading RX wake sensitivity by ~17dB.

Trade-off: ~1.2mA additional deep sleep current (measured: 11.1mA → 12.3mA) for significantly improved wake-on-packet range.

Test plan

  • Flash Heltec V4, verify wake-on-packet works at expected range
  • Verify TX still works correctly after wake
  • Measure deep sleep current (~1.2mA additional with LNA active, confirmed by @towerviewcams)

Supersedes meshcore-dev#1249

Update 24 February 2026: someone pointed to me that Heltec does the same in their ESP32 library, so I'm certain this is the right way of holding the GC1109 awake during sleep.


Build firmware: Build from this branch


Mirror of meshcore-dev#1600

IoTThinks and others added 10 commits February 18, 2026 22:32
…rect-Release-of-RefCountedDigitalPin

Fixed RefCountedDigitalPin.h and SSD1306Display for Heltec v4
…reply

`gps sync` reply: fill buffer with text
The GC1109 FEM needs its VFEM_Ctrl pin held HIGH during deep sleep
to keep the LNA active, enabling proper RX sensitivity for
wake-on-packet. Without this, the LNA is unpowered during sleep
and RX wake sensitivity is degraded by ~17dB.

Release RTC holds in begin() after configuring GPIO registers
(not before) to ensure glitch-free pin transitions on wake.

Trade-off: ~6.5mA additional sleep current for significantly
improved wake-on-packet range.
@weebl2000 weebl2000 force-pushed the heltec_deep_sleep_lna branch from 1280231 to 2bb6f63 Compare February 28, 2026 18:05
@weebl2000 weebl2000 merged commit 67779ad into dev Mar 3, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants