Skip to content

Instantly share code, notes, and snippets.

Concept: An ESPHome-Inspired Modular Firmware Platform for MeshCore

Overview

The current MeshCore firmware ecosystem is becoming increasingly difficult to maintain.

Many projects need only a limited change: support for a new board, better power management, different repeater behaviour, telemetry, Wi-Fi, MQTT, a standalone interface, or an experimental routing strategy. Because these concerns are tightly coupled inside the firmware, developers usually fork the complete repository.

This produces many firmware variants that share most of their code but diverge in relatively small ways. Every upstream release must be manually merged into multiple forks. The same conflicts are repeatedly solved by different maintainers, features are difficult to combine, and users must choose an entire firmware distribution to obtain one specific capability.

Concept: Turning MeshCore Firmware into a Modular Firmware Platform

Overview

The current MeshCore firmware ecosystem is becoming increasingly difficult to maintain.

Many projects need only a small change: better power management, support for a new board, different repeater behaviour, telemetry, Wi-Fi, MQTT, a standalone user interface, or an experimental routing strategy. However, because these concerns are tightly coupled inside the firmware, developers usually have to fork the entire repository.

This leads to many firmware variants that share most of their code but diverge in small and incompatible ways. Every upstream release must then be manually merged into multiple forks. The same conflicts are repeatedly solved by different maintainers, features are difficult to combine, and users must choose an entire firmware distribution just to obtain one specific capability.

The current MeshCore firmware ecosystem is structurally unsustainable.

The core firmware moves slowly and conservatively, which would not be a problem by itself. A stable and cautious core is often desirable for radio infrastructure. The problem is that the firmware is not only the protocol implementation or the radio engine. It also contains device behaviour, power management, hardware support, node roles, user-facing features, configuration, and application logic.

Because these concerns are tightly coupled, even a relatively small change often requires a complete firmware fork. A developer who wants to change sleep behaviour, improve power consumption, add telemetry, modify repeater logic, support a specific board, or introduce a small feature cannot simply add an independent component. They must modify the same central firmware code used by everyone else.

Over time, these forks diverge. Each fork carries its own fixes, hardware adaptations, experimental features, defaults, and behavioural changes. Wh

Empty channel slots are treated as active all-zero-key channels, allowing remote message injection

Report

Summary

The official Companion firmware can decrypt and deliver channel messages for a channel that the user never explicitly configured.

An empty channel slot with an all-zero secret is processed as a valid 128-bit channel key. The SHA-256 hash of 16 zero bytes begins with 0x37, so the slot becomes an implicit channel with:

@burningtree
burningtree / identita-neni-radio.md
Last active June 19, 2026 09:04
Identita není rádio [cz]

Identita není rádio

Když se lidé poprvé setkají s MeshCore, setkají se s ním jako s fyzickým předmětem: malým rádiem připojeným k telefonu přes Bluetooth, které uchovává jméno, klíč, kontakty a zprávy. Je proto přirozené dojít k závěru, že právě zařízení je účastníkem sítě — že připojit se k jinému uzlu znamená stát se jinou identitou.

Postupně jsem dospěl k názoru, že je to nesprávná abstrakce. Rádio není identita; je to způsob, jakým se identita dostává do sítě. Kryptografická identita nepatří hardwaru. Je vztahem mezi klíči, podepsanými zprávami a lidmi, kteří je rozpoznávají. Jinde to považujeme za samozřejmé: e-mailová adresa není svázána s jedním notebookem a doména není jeden server. Rozhraní a transporty se mění, zatímco identita zůstává stabilní.

Companion zařízení tyto vrstvy nenápadně spojuje dohromady — jedna identita, jeden companion, jedno spojení. Je to čisté a soběstačné řešení, ale zároveň silný předpoklad, na který moje práce na projektech [meshcore-go](https:/

@burningtree
burningtree / against-hierarchy.md
Last active April 26, 2026 09:55
Hierarchy as the Core Problem of Humanity

Czech-language version 🇨🇿


Hierarchy as the Core Problem of Humanity

A fundamental fallacy of modern society is our endless search for the "right people" to rule us, rather than questioning the principle of rulership itself. We routinely express outrage over senseless mandates, corrupt politicians, or the toxic corporate environments where we are forced to spend most of our waking lives. But we are only treating the symptoms. The true disease—the one that chronically paralyzes human potential, autonomy, and moral integrity—is the very structure upon which our civilization is predominantly built: the rigid, top-down hierarchy.

The Nature of Coercion and the Loss of Freedom

Why I Left AT Protocol

I'm Tree. I think and write about decentralization - analyzing power dynamics, architectural principles, and how systems can preserve or undermine individual autonomy. I've been involved with AT Protocol development and community discussions for some time.

TL;DR: I deleted my atproto account not because of bullying, though that happened. I left because the community's response to my architectural critique demonstrated exactly the power dynamic I was warning about, while simultaneously making it impossible to discuss.

The Technical Argument

Infrastructure should be separate from ideology. This is a foundational principle for resilient decentralized systems.

Found URLs (HTTP 200/301/302)
==============================
Scan: Sun Oct 26 14:52:18 CET 2025
https://inkcap.us-east.host.bsky.network/robots.txt [200]
https://enoki.us-east.host.bsky.network/robots.txt [200]
https://amanita.us-east.host.bsky.network/robots.txt [200]
https://shiitake.us-east.host.bsky.network/robots.txt [200]
https://shimeji.us-east.host.bsky.network/robots.txt [200]
https://oyster.us-east.host.bsky.network/robots.txt [200]
=== PLC Export Verification ===
Count: 100
After: 2023-07-27T18:49:40.297Z
Fetching from local API...
curl -s "http://localhost:8080/api/v1/plc/export?count=100&after=2023-07-27T18:49:40.297Z"
Operations: 100
Hash: ef869ffde10cb655cddcebf555cbcad655c13d297b1e86e485b7da4370bba03d
Fetching from plc.directory...
I verify my ATPub identity
did=did:plc:524tuhdhh3m7li5gycdn6boe