Welcome to the Cyberpony Express BBS project! This repository will contain the code and documentation for the still-under-development text‑based bulletin‑board system that operates over the Meshtastic mesh‑networking platform. It forms the digital‑postal backbone of the Cyberpony Express project—a free, encrypted mesh network built on LoRa radios that lets communities share messages and files when traditional Internet connections are unavailable.
The Pathfinders’ Guild leads this software effort, ensuring the mesh can bridge distant outposts and keep travelers connected even when traditional infrastructure fails.
Conventional communication infrastructure is fragile. A single fiber cut or power outage can leave communities without access to vital information. Cyberpony Express solves this problem by creating a decentralized “digital postal service” built on inexpensive Meshtastic nodes. It allows people to send and receive messages, files and other data across a mesh of devices without relying on central servers. Anyone can host a node, and the network runs entirely off‑grid if needed.
The Bulletin Board Service (BBS) is the heart of the Cyberpony Express. It acts like an automated phone operator that:
Cyberpony Express nodes are designed to backhaul messages and synchronize BBS data using IPFS and the Tor network. Each BBS node can advertise itself on a distributed hash table via IPFS and then create an onion service through Tor to exchange data with peers. This approach lets nodes find each other and relay messages without exposing a public IP address, and without relying on static IP assignments, DNS or any centralized oracle or hierarchical infrastructure. Because IPFS handles content addressing and Tor provides privacy‑preserving routing, BBS operators can securely forward “telegrams” to remote BBS nodes even when they don’t share direct LoRa links. Peers connect over Tor only long enough to exchange data and then return to purely LoRa operation, keeping the system decentralized and resilient.
While IPFS/Tor provides a critical backhaul, the primary synchronization mechanism is always the LoRa mesh itself. Nodes attempt to exchange bulletins, mail and other state over the radio network whenever possible to preserve bandwidth and maintain decentralization. The IPFS/Tor layer acts as a fallback for situations where long‑distance connections are not yet available—such as early stages of network deployment or isolated regions of the mesh. In those cases, operators can still share data without static IP infrastructure, and once mesh connectivity improves the nodes will again prioritize direct LoRa synchronization.
Cyberpony Express does not globally replicate every message. When a user wants to post to a remote BBS, the local node wraps the content in a “telegram”: it encrypts the payload for the destination BBS and signs it with the origin BBS key. This sealed envelope is dropped into backhaul/outbox/<destination>/<timestamp>.json and relayed opportunistically over Tor, IPFS or mesh links. Relay nodes only see the encrypted blob and basic metadata. Once the destination BBS receives the file, it verifies the signature, decrypts the payload and treats it as a local post. Messages remain plaintext only on the sending and receiving BBSes, keeping intermediate relays blind.
This design works much like a traditional postal system:
Security highlights:
User Node (T‑Beam Supreme) ──▶ BBS Operator (T‑Beam Supreme) ──▶ Service Host (Raspberry Pi)
Because Meshtastic devices use end‑to‑end encryption and unique node IDs, responses can be delivered to the right user even when nodes are offline or moving.
The Cyberpony Express BBS is inspired by several existing Meshtastic BBS implementations:
| Project | Highlights | Lessons learned |
|---|---|---|
| TC²‑BBS Mesh | Python‑based BBS designed for ultra‑low‑power microcontrollers; features a mail system, bulletin boards, channel directory, statistics, Wall of Shame (low‑battery devices) and a fortune‑teller. Users interact by sending direct messages and selecting letter‑based menu options. | Demonstrated menu‑driven UX and how to run a BBS on battery‑powered microcontrollers. However, custom hardware can be expensive and Python is not ideal for extremely constrained devices. |
| VeggieVampire’s MeshBoard | Simpler Python BBS that runs on a Raspberry Pi; includes mini‑games and external mail services. A Tom’s Hardware story shows it playing games like Tic‑Tac‑Toe and an escape room over the mesh network. | Shows that a Pi‑based BBS can deliver engaging experiences (games) while maintaining simplicity. |
| SpudGunMan’s Mesh Bot | A feature‑rich set of scripts offering mail messaging, message scheduling, store‑and‑forward, built‑in games (DopeWars, Lemonade Stand, BlackJack, etc.) and AI integration via a local large‑language model; it can even send weather alerts and other data over the mesh. | Demonstrates advanced features (e.g. games, AI, data lookups) that could be integrated into Cyberpony Express in later phases. |
This repository focuses on developing the Python software that runs on the Raspberry Pi service host. In a typical deployment, a low‑power T‑Beam Supreme or similar LoRa device runs Meshtastic and the BBS operator plugin; it forwards user commands to the Raspberry Pi, which performs the heavy lifting (reading and writing mail, interacting with the librarian chatbot, running games and handling notifications) and sends replies back through the operator. While other parts of the Cyberpony Express (such as the Meshtastic firmware and radio hardware) live in their own repositories, this project encapsulates the logic for the service host, making it the main entry point for contributions that implement new BBS features.
The design goal is to keep the BBS operator on the T‑Beam as light as possible (interpreting single‑character commands, queueing requests and relaying responses) while allowing the Raspberry Pi to handle application logic in Python. By separating the concerns this way, developers can iterate quickly on the high‑level user experience without being constrained by the microcontroller’s limited resources.
The BBS user interface is menu‑driven and delivered via text messages over the mesh network. Every exchange between a user and the BBS is constrained by the 237‑character limit imposed by Meshtastic; messages that exceed this length must be split across multiple transmissions. Additionally, the Meshtastic app presents each incoming message in a separate chat bubble, so visual separation happens naturally. As a result, the BBS avoids drawing lines or other separators; instead, it simply sends a new message when a logical break is needed. A Markdown horizontal rule (—) may be used as an escape character inside a single message to indicate a separation if absolutely necessary, but the preferred approach is to send separate messages.
When a user first sends any message (even just “Hi”) to the BBS, the service responds with a welcome header containing contextual information (software version, timestamp, approximate location, number of active users, number of new messages and notifications, and battery status) followed by the main menu. Because of the character limit, this information may be sent as multiple messages. For example:
User: Hi
BBS: Cyberpony Express BBS v0.1
2025‑08‑01 2:30 PM
Sunny 80°
San Francisco, CA
25 active users
5 new messages
20 notifications
Battery: 86%
BBS: Main Menu:
1. Messages
2. Notifications
3. AI Chat
4. Human Chat (MUDs)
5. Weather
Here, the BBS has chosen to break the header and the menu into two messages to remain under the character limit. The absence of separators between the two messages is intentional; the chat bubbles themselves serve as separators. Menu definitions
Each menu option leads to a sub‑menu or action. The current high‑level structure is:
Navigating menus
The BBS uses single‑character commands (numbers or letters) to navigate. When a menu is displayed, the user selects an option by sending the corresponding number. Within any sub‑menu, sending 0 returns to the previous menu; from the main menu, sending 0 exits the BBS session. If a user enters an invalid option, the BBS re‑displays the current menu with an error message (e.g., “Invalid selection. Please choose from the listed options.”). The BBS also supports shortcuts, such as sending M to jump directly back to the main menu from anywhere. Message formatting guidelines
By formalizing the menu system and message formatting as described above, we lay the groundwork for implementing the BBS logic in Python on the Raspberry Pi while ensuring a consistent, user‑friendly experience over the constrained LoRa mesh network.
The High Desert Institute (HDI) is a 501(c)(3) non‑profit dedicated to “building a foundation for the survival of humanity.” Its mission is to create off‑grid land projects, publish free libraries of knowledge and organize guilds that empower communities to live sustainably. HDI’s founders are raising funds to establish permaculture and mutual‑aid outposts in the high deserts of the American southwest; these sites will research, develop and distribute free, open‑source solutions to basic needs like housing and off‑grid infrastructure. The organization operates transparently—every donated dollar supports the mission—and publishes everything it learns so others can replicate its work.
HDI’s library project aims to publish a vast, free, open‑source library that contains the knowledge required to live well off‑grid. The idea originated when one of the intentional communities HDI helped build requested a way to host private intranets with useful information. HDI’s library will be freely accessible to anyone and will include both the institute’s own findings and curated content from other sources. Within the BBS, this library is accessed through the Librarian chatbot, which uses retrieval‑augmented generation (RAG) to search the local library and answer questions. By embedding a searchable library in the off‑grid mesh, the project turns the BBS into more than just a messaging system—it becomes a knowledge hub for communities during disasters.
HDI partners with Burners Without Borders and the Multiverse School to build the Cyberpony Express—a free, secure, public mesh network using Meshtastic nodes. This network connects HDI outposts and intentional communities without relying on the fragile infrastructure of the Internet or cell towers. It is therefore vital disaster‑response infrastructure: by maintaining communications when conventional networks fail, the Cyberpony Express helps communities stay safe and coordinated during emergencies. The BBS described in this repository is the core software service that runs atop Cyberpony Express, providing a digital postal service, a library interface and text‑based games. Together, these components support HDI’s broader goal of building resilient, sustainable communities through open knowledge, decentralized communication and mutual aid.
HDI organizes guilds—semi‑autonomous groups that focus on specific aspects of community development. Guilds can fundraise and make decisions independently, and are encouraged to grow beyond HDI to operate all over the world. The Librarians’ Guild, for instance, is spearheading the development of the Cyberpony Express BBS and the off‑grid library. By fostering guilds, HDI builds a network of practitioners who can share knowledge, design new tools and support one another in cultivating resilient, sustainable and disaster‑ready communities.
Below is a high‑level roadmap for the Cyberpony Express BBS. We welcome contributions and feedback!
We encourage pull requests and issue reports! This project is community‑driven; feel free to propose features, report bugs or improve documentation.