Heltec T096 Solar Repeaters
Out in Nevada we cover a lot of empty ground with janknodes: repurposed solar-light enclosure, cell, repeater zip-tied to a fence post.
RAK4631 janknodes have been our keep-up proof. Field units hold about 4.0 V and have made forty-mile MeshCore hops with a stock SX1262 and no external amp. Twelve Heltec T096 janknodes sitting on the deck, built the same way, have not held voltage the same way. We did not run a bench meter campaign. We left them in the sun, polled battery voltage through the fleet tool, and changed two MeshCore settings that already exist on the radios.
Deck soak (September 2026)
The twelve T096 janknodes sit on the deck. Envybot polls battery voltage about hourly when the mesh is busy, less often overnight.
A field RAK janknode over the same dates stayed near 4.0 to 4.1 V. A deck T096 started near 3.9 V and slid toward 3.65 V before we changed settings. Both traces show afternoon sun bumps. The T096 did not hold the voltage the RAK did.

On the morning of September 4 we sent two MeshCore commands to all twelve T096 units: powersaving on and set radio.fem.rxgain off. Envybot delivered them over the mesh. No firmware flash. The radios were already on MeshCore 1.17.1.1. The dashed line on the chart is that push.
One deck T096 is the clearest single-unit log. The fleet UI shows each poll and the voltage change since the last sample.

On September 3 that unit peaked at 3.56 V in the afternoon, then fell to 3.49 V by late evening. The first poll after the settings landed was 3.45 V. Through September 4 it climbed to 3.59 V by late afternoon. One mid-morning poll dipped 10 mV. The rest were up. Same panel, same 21700 cell, same firmware binary.
We still want a few dawn-to-dawn cycles on all twelve units before we treat this as corridor-ready. All twelve cells were swapped to 21700 on September 3 for more amp-hours. That bought headroom. It did not stop the pre-settings slide on its own.
MeshCore settings we used
These commands exist in upstream MeshCore. We did not flash anything new to use them.
| Setting | CLI command | What it does |
|---|---|---|
| CPU sleep between mesh loops | powersaving on | Lowers average idle draw. Serial can feel laggy. |
| External receive amp off | set radio.fem.rxgain off | Stops using the T096's external amplifier on receive. Weaker RX, fewer milliamps. |
EasySkyMesh published bench numbers on a T096 with those two settings (about 15 mA stock, about 9 mA after). That is their meter, not ours. It points the same direction as the deck voltage logs.
To push settings we record the desired values in our unit registry and run ./envybot fleet when the radios are reachable. That sends live CLI commands. It is not a firmware update.
set radio.rxgain off is a third MeshCore command that turns off the SX1262's own receive boost. We have not sent that one yet.
EnvyOS meshcore work (not on these units)
EnvyOS is MeshEnvy's mesh operating system distro. It ships a growing set of applications: user apps, repeaters, utilities, and more. One package in it is a custom MeshCore build. That package has extra T096 power work that is not on these twelve radios.
| Idea | Plain English | On the deck T096s |
|---|---|---|
| Cut power to the external amp module between listen cycles | The T096 can keep its amplifier chip powered even when receive boost is off. The EnvyOS meshcore build can switch that supply off when the radio is idle. | Not flashed |
radio.rxps on | Radio sleeps between short listen windows. Can miss packets. | Not flashed |
| Slim repeater build | Repeater firmware that never brings up GPS or the TFT. | Not flashed |
Upstream PR status for EnvyOS work is on Open Source. For a safety rail when experimenting with prefs remotely, see MeshCore Try CLI (draft meshcore-dev#3358).
Amplification
RAK4631 janknodes have made forty-mile hops in Nevada without an external amp. The T096 board adds an amplifier module in front of the SX1262. I am skeptical that module earns its milliamps on every site. radio.fem.rxgain off is how we turned that path off. Two of the deck T096s already passed a distant-lot hear test before this soak.
