Thanks to the efforts of the local WCMesh Meshcore community and the successful recovery of the local repeater in the mountains above my valley is back in service to north and southbound nodes. I’ve gotten a bit more traffic into my systems and now that I have been connected into the greater WCMesh for a while and have seen more of what I can expect reliability, timing, and coverage wise I figured it was time it was time to dig into the services and fun stuff. I had a Le Potato sitting around doing nothing and a bunch of LoRA hardware on hand, lets see what the software side of the house has been up to. Since I have it, here’s the graphs showing the loss of connectivity when the repeater was out of alignment (relocated, not stolen apparently, which explains why I could reach it but there was no onward connectivity)

Graph showing disruptions in connectivity
First up was pyMC and their repeater offering, pyMC_Repeater. I spent some time iterating through issues, entirely on my side, flashing and reflashing until I figured out what hardware I was actually using, got everything flashed correctly and connected and immediately started seeing traffic. From there I was able to add another observer feed into my local CoreScope instance for redundancy quite trivially. pyMC Repeater has some cool, while not uniqe functionality, in that it decouples the radio hardware from the backend software completely, essentially using it as a modem (the KISS firmware). While this is similar to how a heltec v4 board is a nRF52840 MCU driving the HT-RA62, there’s a lot more flexibility with a python software stack instead of an MCU. This allows for the equivalent of virtual hosts or SNI, creating virtual companions with their own keys and contact lists exposed over TCP and room servers with their own configurations. I was able to use one virtual companion to test out both Liam’s meshcore desktop app, and Meshy. I added an open room server as a community bulletin board in case anyone every shows up locally and sees it… as expected its just me so far. The virtual companions make it easy to connect a bot to for testing, so I checked all my configurations to make sure adverts were limited to reasonable intervals, rate limiting was on, and spun up a copy of meshcore-bot. Got it running quickly, but was unable to get it to respond on my bespoke channel, until I stumbled across an example that pointed out I needed to include the # in the monitor_channels line, which is obvious in hindsight and a configuration I’m pretty sure I tried… just in a differently also-broken state. Oh right, that wasn’t even it, but was part of it. You have to add the channel to the companion! I used the meshcore client to connect to the bot’s companion and manually added the bot’s desired channel. I later discovered you can also do this in the radio configuration page, which was way easier. Anyway, got everything working and the bot is happily running in a VM in my kubernetes stack, in my interior closet in the middle of the RF hellscape known as my ‘server pile’ connected to its virtual companion on the Le Potato breathing the relatively fresh air next to my office window.
Going to run things in this configuration for a few days and see how stability is, but if this continues as it has been, odds are I can replace one of the devices I have hanging off home assistant or the dedicated letsmesh observer. Once the EtherMesh-1W I have on order arrives, it will be going up in an enclosure on my roofline, but thats a future project and will likely replace a few of the discrete components currently making up the Dllamanet Mesh.
I also set up my own CoreScope instance for fun after I last fell off the larger WCMesh, wanted to have a better view into what all was happening in my neck of the woods radiologically and better visibility into the sporadic packets I was receiving. This of course meant setting up my own meshcore MQTT infrastructure… Just kidding, I just abused my existing Home Assistant EMQX node and dumped all my mesh traffic in there, but don’t think I didn’t consider spinning up a copy of the EMQX operator and a bespoke cluster. There’s always next time and soon I will have a legitimate second source of observer traffic as I have plans for another pyMC-repeater install down in Glendora that I’ll likely be setting up in the coming weeks. Part of that plan involves finishing the private backhaul over netbird managed wireguard, which would be a clean entrance path into my new (literally talking myself into this while writing) cluster. We will see!
Obligatory CoreScope screenshots:
CoreScope's interpretation of WCMesh from the Dllamanet's unique vantage point

Payload distribution

Hop Count Distribution, interesting pattern showing my island like nature
More to come, maybe I’ll even find someone else in the valley on the mesh!