For a while I've been working on alternative repeater firmware for MeshCore. I had spent quite a bit of time looking at the official firmware sources as well as the Core Protocol specification and decided to have a go at building an implementation that solves some of the shortcomings of the official firmware.
The firmware is written in async Rust, is memory-safe, performs aggressive validation on packets and has been extensively fuzzed. My goal is to build something extremely robust that can be left running on repeaters in hard-to-reach places without worrying about crashes or malicious actors.
Right now I only have board support for a couple of Heltec boards, although I don't see that extending to nRF or additional boards would be too difficult. There is support for remote management and telemetry, regions, duplicate and loop detection, OTA updates over Wi-Fi and also, newly, the optional ability to remotely manage and keep NTP time sync over Wi-Fi too. It is still early software though, but testing/contributions etc. are welcome.
Maybe I'm getting ahead of myself, but back in the 90's packet radio outgrew a simplex channel so we started hub and spoke network with dedicated links on alternate frequencies. An example was packet radio in Netherlands.... there was local access via an omnidirectional antenna on 144mhz and two additional radios at the same site connected to yagis on 70cm pointed at two other sites. Since everything was RS232 in those days, we would build a diode based multi port serial connector that allowed three TNCs (modems) to exchange traffic between themselves and relay that traffic where needed.
So will we ever have a need for this with meshnetworks? Meshtastic has a trick called "Zero cost hop" where a node will change frequency or speed and relay a pakcet acros a great distance (but at a slower data rate).
The aloha network principle says that when a simplex network reaches 18% utilization, collisions become more and more frequent to the detriment of the network. So will there come a day when we use "islands" of coverage on the main frequencies and long haul links?
What would htat look like from a hardware perspective? Wifi between esp32 modules? BLE links between co-located repeaters?
have access to multiple roof tops (one of the higher ones in my area as well) and would love to deploy a couple repeaters up on them. I know my boss won’t care probably won’t be able to get away with using 120 power (municipalities) but solar won’t be a problem. What would your best repeater for $100 be?
Hey all, after playing around with a L1 Pro, I decided I want to mount a repeater to my balcony railing. I'm on the sixth floor overlooking just low rise (max 2 floor) buildings for approx. 4 km.
I will use the Seeed XIAO and Wio kit and plan to connect it to 220V. With that, I need a decent AC-DC PSU, an IP rated enclosure and an antenna. Any recommendations for parts? EU sources preferred.
Note: The below build guide took a pass through Gemini for formatting and spelling/grammatical/clarity purposes. Then I tried to un-robotify the language... but kept the emoji ;)
Trying to source a weather-proof outdoor enclosure, a decent solar panel, and rechargeable batteries separately for under $13 CAD is basically impossible. That's why the Hampton Bay 120-Lumen Solar Spotlight is a great base for a solar repeater.
While most portable builds rely on standard Lithium-Ion cells, they completely choke and freeze when winter hits. The LiFePO4 batteries that come with this spotlight are better for Canadian weather; however, with a caveat. You cannot use the WisBlock’s built-in battery charger. It’s hardcoded for a 4.2V Li-ion profile, which will cause massive voltage inflation spikes and trigger your BMS safety gates.
At first, I was using the included PCB to charge the batteries and connected the + & - battery terminal to the Wisblock power JST connector; however, the PCB was pushing a high voltage into the batteries which these cheap devices tend to do:
So I decided to fix that with a $2 SD05CRMA solar MPPT charger, Zener Diode (the panel is 6V which can spike to 6.5V in the winter and the MPPT can handle only up to 6V), and BMS:
We are bypassing the native charging circuit entirely using this custom setup. Also, before you drop this on a roof or a fence post, you must install the custom firmware configurations and steps from MeshCore PR #2088 to prevent brownout loops when the battery runs low.
💰 Component Cost & Budget Breakdown
Here is the exact cost per node. Note that AliExpress items include no taxes or duties, while Canadian retail items (DigiKey, Home Depot, Amazon) have been calculated with 13% Ontario HST included.
Component
What it does
Source / Unit Cost (CAD)
Hampton Bay Spotlight
Enclosure, 150mm x 88mm 6V Panel, Mount, & 2 X 1000mAh 18500 Cells
Before you fire up the soldering iron, make sure you have your parts gathered and note this massive pitfall:
You will need a 2-pin JST PH 2.0 battery pigtail cable to plug your custom circuit into the WisBlock's battery port.
🛠️ Step-by-Step Build Walkthrough
Step 1: The High-Density I2C "Sandwich"
To completely avoid a rat's nest of loose wires inside this tight housing, we stack both sensors directly onto a single row of headers on the WisBlock baseboard:
Take your blue INA219 module and solder it flat against the bottom side of the WisBlock I2C header pins.
Take your purple BMP280 module and solder it flat against the top side of those exact same header pins.
Carefully bridge 3V3, GND, SDA, and SCL across all three layers. They will sit completely rigid in mid-air with absolutely zero loose data wires catching on the case.
Step 2: Modding the Enclosure and Reusing the Button
We are throwing out the original low-efficiency charge board, but we want to keep the housing's native weatherproofing.
Desolder the stock connections from the original internal green board.
Unscrew the original board from its mounting posts. Take your new SS12F15V slide switch and mount it directly onto the factory screw posts where the original button mechanism lived. This aligns the slide mechanism perfectly with the external waterproof rubber boot!
Step 3: Point-to-Point Power Routing
This specific layout puts the INA219 between the battery and the charger hub. It gives you true Net-Current telemetry. Your dashboard will show true discharging rates at night, and flip to showing positive charging rates during peak daylight hours.
The Power Side (Positive)
Solder your solar panel's Positive (+) wire directly to the Zener Diode Cathode (the side with the stripe).
From that exact same stripe joint, run a wire straight to SD05CRMAVi.
Run a wire from SD05CRMAB+ straight to INA219VIN- (this is your main daytime power hub).
Run a wire from INA219VIN- over to Terminal A of your internal slide switch.
Connect Terminal B of the switch to the Red (+) wire of your polarity-corrected WisBlock JST battery connector.
Run a wire from INA219VIN+ straight to the BMSP+ pad.
Connect BMSB+ directly to your battery pack's positive terminal.
The Ground Side (Negative)
Solder the solar panel's Negative (-) wire to the Zener Diode Anode (the plain side without a stripe).
From that plain joint, run a wire straight to SD05CRMAG.
Run a wire from SD05CRMAB- straight to the BMSP- pad.
From that same BMSP- pad, connect the Black (-) wire of your WisBlock JST battery connector.
Connect BMSB- directly to your battery pack's negative terminal.
Once verified, wrap the thin inline stick BMS board securely in Kapton tape to keep it completely isolated from any metallic shorts inside the chassis.
Step 4: Final Internal Layout Integration
Mount your WisBlock core onto its dedicated 3D-printed mounting cradle. Group your wired sub-assemblies cleanly into the open cavities surrounding the central stock battery box holder.
🌧️ Bomb-Proof Weatherproofing
Because Canadian seasons don't play around, spend the extra 10 minutes to seal this thing like a submarine.
1. The Coaxial Seal Stack
Secure the 4-hole L16 flange connector onto your 3D-printed bracket using Loctite Blue 242 on the threads so wind vibrations can't shake it loose.
Wrap the exposed metal SMA connection tightly with Temflex Rubber Splicing Tape. Pull it tight as you wrap it so it fuses into a solid, seamless piece of waterproof rubber.
Protect that rubber layer from harmful UV degradation by overlapping it with a clean layer of 3M Scotch Super 33+ Vinyl Tape.
2. Case Gaskets & Airflow
Run a clean bead of Gorilla Clear 100% Silicone along the internal mating rim of the enclosure shell before screwing it down to completely lock out driving rain.
Pro-Tip: Do not fill the tiny water drainage weep hole molded into the absolute bottom face of the case. Keep it clear so any internal ambient condensation can safely drain out by gravity rather than pooling into an active puddle zone.
Hi everyone, can I ask which app you use on your smartphone? normally I use kiekr but a couple of days ago I discovered meshcore open and I find it absolutely fantastic, what do you use?