Blog · October 15, 2026

Building a solar repeater to hang in a tree

Our rooftop repeater in Woburn talks to the wider Boston mesh, but only one neighbouring repeater hears it reliably. The hills around town are where a radio does its best work, and most of them are covered in trees. So we are building a small, sealed, battery-and-panel repeater that can be hauled up into a tree on a rope and lowered again for service. This is the plan, where it could go, and what it is made of.

The plan: bench first, tree later

  1. On the bench. A Seeed XIAO ESP32-S3 + Wio-SX1262 kit has arrived. It runs MeshCore repeater firmware with the same settings as our rooftop (below), and is where we practise the wiring, firmware and settings.
  2. From the ground. Prove it links back to the rooftop before anything goes up a tree.
  3. Into the tree. The board that stays up through the winter is the XIAO nRF52840 + Wio-SX1262 kit: the same size and radio, about a third of the power.
The XIAO ESP32-S3 and Wio-SX1262 kit, a 2 dBi folding antenna and an SMA bulkhead cable in their delivery bags
Delivered October 15: the XIAO ESP32-S3 + Wio-SX1262 kit, a 2 dBi folding SMA antenna, and a U.FL-to-SMA bulkhead cable.

Parts and what each one does

PartRole
Seeed XIAO nRF52840 + Wio-SX1262 kitThe radio in the tree: Bluetooth-programmable board plus the SX1262 LoRa radio. Low power, so solar can keep up in winter.
Seeed XIAO ESP32-S3 + Wio-SX1262 kitThe bench board: same footprint and radio, three times the power. For testing, fall hangs and spares.
2 × Samsung 35E protected 18650, 3500 mAhThe battery, in parallel: about 25 Wh. Protected cells cut off before they over-discharge.
Adafruit BQ24074 solar/USB chargerCharges the cells from the panels and powers the board from its OUT pin. Handles panel and battery at once.
10K 3950 NTC thermistorTaped to a cell and wired to the charger's TS pin: no charging below 0 °C, which lithium cells need.
3 small solar panels, one per faceOptions: 6 V panels (best match for the BQ24074), Uxcell 5 V 1.15 W (100.8 × 82.5 mm), or the 110 × 60 mm 5 V 1 W epoxy panels the hanging designs use.
3 × Schottky diode (1N5817/1N5819)One per panel, so a shaded panel can't drain the sunny ones.
U.FL-to-SMA bulkhead cable, 2 dBi SMA antennaCarries the radio through the housing wall with a waterproof washer; the antenna hangs below. A 4–6 dBi antenna can come later.
M12 breather ventLets the sealed housing breathe so temperature swings don't pull in damp air.
2" Schedule 40 PVC pipe, two cleanout adapters and threaded plugsThe sealed body. Plugs unscrew for service; the bottom one carries the SMA and vent, the top one a stainless eyebolt.
PG7 cable glandWhere the three panel leads enter the pipe.
Printed PETG partsTwo panel collars, corner clips, the inner sled for cells, charger and board, a drill guide and an antenna drip shield.
Ball-bearing swivel, arborist throw weight and lineGets it over a branch and lets it turn in the wind without twisting the line; a UV-resistant cord carries the weight.

Wiring

  1. Panels → diodes → charger. Each panel goes through its own Schottky diode, and the three join at the BQ24074's solar input.
  2. Charger → cells. The two 18650s, in parallel, connect to the charger's battery terminal, with the NTC thermistor on a cell wired to TS.
  3. Charger OUT → board. The radio board is powered from the charger's OUT pin.
  4. One charger per pack. Never also connect the cells to the XIAO's own battery pads: two chargers fighting over one pack is how cells get damaged.

Power budget

BoardDrawPer dayDecember, 3 panels
XIAO ESP32-S3 (bench)≈ 45 mA≈ 4.0 Wh≈ 2–3 Wh made: runs short in a cloudy week, goes dark, recovers on its own
XIAO nRF52840 (tree)≈ 15 mA≈ 1.3 Wh≈ 2–3 Wh made: about twice what it needs

Two 35E cells hold about 25 Wh: two to three weeks of the nRF52840 with no sun, even allowing for cold. Panels tilt steeply (about 55–60° from flat) so snow slides off and the low winter sun lands square. These are estimates from our notes; we will measure the real draw on the bench.

Housing options

PVC tube with printed collars (first build). The 2" pipe and screw-in cleanout plugs make the seal, so there is no gasket to design; two printed collars hold the three panels in a triangle around it, and the electronics sled slides out when a plug is unscrewed. The trade-off is weight, and the pipe gets a light, matte paint against UV and summer heat.

Printed three-panel body. Lighter, and already proven up a New England tree: remix The Corebell or the Hanging Solar Node with its SMA base, adding a tray for the XIAO kit, the BQ24074 and two 18650s, plus a vent (none of these designs has one yet). The seal then depends on print quality.

Treepeater. Treepeater V4 already holds two 18650s and three 60 × 110 mm panels with a diode on each, tilted for the winter sun; it needs a new mount for the XIAO kit.

MeshCore repeater settings

Radio910.525 MHz · 62.5 kHz bandwidth · SF7 · CR5 (the Boston Mesh settings)
Regionsbos, east, northeast, ma, each added with region put and region allowf, then region save (regions don't inherit)
AdvertsFlood advert every 47–48 hours; local advert every 240 minutes
Power savingpowersaving on for the solar board
AdminA remote-admin password, proven from the MeshCore app before it goes up; firmware 1.16 or newer, updated over Bluetooth in the tree

Where it could go

We ran the terrain between each candidate spot, the rooftop and the repeaters around it, using bare-earth elevation data (trees and buildings are not in the model). A path is clear when most of the radio beam passes above the ground, marginal when it is within a few metres, and blocked otherwise. Places near homes are shown approximately.

our rooftopcandidate tree testedrepeater lines: clear · marginal · blocked

Horn Pond Mountain is the spot we have already tried: a small radio in a tree there reached North Cambridge directly about half the time (the field test). It has the only clear paths to the east. A hill in central Woburn is clear to the busiest repeater to the north-west. A pine in Lynnfield would cover a stretch with no repeater within three miles today.

FromToDistanceTerrain
Our rooftop repeaterA wooded hill in west Woburn1 mimarginal
A hill in central WoburnA wooded hill in west Woburn1 mimarginal
Our rooftop repeaterHorn Pond Mountain2 miclear
A wooded hill in west WoburnHorn Pond Mountain1.5 mimarginal
Our rooftop repeaterTEMP-MNK-12 miclear
Our rooftop repeaterK1UHV_Solar3 miblocked
Our rooftop repeaterStoneham-RPT12 miblocked
A hill in central WoburnTEMP-MNK-12 miclear
A hill in central WoburnK1UHV_Solar3 mimarginal
A hill in central WoburnStoneham-RPT12 miblocked
A wooded hill in west WoburnTEMP-MNK-11.5 miclear
A wooded hill in west WoburnK1UHV_Solar4 mimarginal
A wooded hill in west WoburnStoneham-RPT13 miblocked
Horn Pond MountainTEMP-MNK-13.2 mimarginal
Horn Pond MountainK1UHV_Solar3.7 miclear
Horn Pond MountainStoneham-RPT12.7 miclear

A few of the paths, side on. Solid line: the straight radio path; dashed: the bottom of the part of the beam that has to stay clear.

281 ft98 ft02 mi
A hill in central Woburn → TEMP-MNK-1 · clear (+21.6 m)
227 ft38 ft03 mi
A hill in central Woburn → K1UHV_Solar · marginal (-2.1 m)
281 ft94 ft01.5 mi
A wooded hill in west Woburn → TEMP-MNK-1 · clear (+14.1 m)
279 ft41 ft02 mi
Our rooftop repeater → Horn Pond Mountain · clear (+4.0 m)
279 ft27 ft02.7 mi
Horn Pond Mountain → Stoneham-RPT1 · clear (+12.4 m)
279 ft25 ft03.7 mi
Horn Pond Mountain → K1UHV_Solar · clear (+7.1 m)

Real traffic beats the model: our rooftop does reach the Stoneham repeater in practice, even though bare terrain says blocked.

Low-key, not hidden

Olive, tan or brown PETG or matte plastic paint; never paint over the panels; no metallic paint near the antenna; mid tones rather than black so the cells don't cook in summer; brown cord tied off against the trunk; and a small label saying what it is and who to contact.

Designs we are learning from

Several people have already built hanging solar nodes and shared the files. Thank you to their makers:

We will post again when it is on the bench, and again when it is in a tree.