VE6SLP / Projects

MeshCore messaging · More from one radio

Several roles.
One MeshCore radio.

Aspen brings a repeater, room, companion and programmable bot together on one node. Each role keeps its own identity while sharing one antenna and radio profile. Connect your MeshCore app, exchange messages and add applications without reflashing.

New XIAO ESP32-S3R8 + Wio SX1262? The browser installer prepares your private image for USB flashing. Already running a node? Keep its identities and data when you update.

Choose where the roles run

Aspen · Standalone ESP32

Everything on the radio

A XIAO ESP32-S3R8 with Wio SX1262 runs the roles, Lua/Wasm bot and shared modem. WiFi connects your companion app and browser; RF messaging can continue without Internet access.

  1. MeshCore appPhone or computer on your LAN
  2. Aspen radioIndependent roles and shared modem
  3. MeshCore mesh
Configure and flash Aspen

Willow · Linux host + WiFi modem

Keep the radio at the antenna

Run the roles and durable state on a Linux computer. Add a Base companion, browser dashboard and MQTT broker, and use Lua/Wasm for commands and packet processing.

  1. Linux hostRoles, applications and saved state
  2. Shared modemRadio tuning and transmission
  3. MeshCore mesh
Install and start Willow

Using a Heltec V3 or an original T-Beam v1.2 SX1262/SX1276? Use its shared-modem profile with Willow. For Heltec V4 R8 or T-Beam Supreme SX1262, follow the Aspen board-specific setup. Match the exact board and radio variant; XIAO firmware belongs on the XIAO.

Birch, Pine and an indoor ESP32 role

Birch runs host roles in Go and offers a Debian 12 x86-64 download. Pine runs a compact repeater and Lua bot on XIAO nRF52840 + Wio SX1262. Its RAK4631 profile provides a repeater, notes bot and optional Ethernet companion with PoE power. An indoor ESP32 role can use a separate WiFi modem.

From new board to first reply

  1. Choose the hardware and radio profile

    Fit the antenna and select your network's frequency, bandwidth, spreading factor, coding rate and permitted transmit power. Use the same profile on the radios that will communicate.

  2. Download and configure

    The Aspen installer combines the firmware ZIP with your private WiFi and administrator settings. For a host, follow Willow setup with your modem address and private state directory.

  3. Flash or start, then open the dashboard

    Flash a new Aspen over USB and open http://aspen.local/admin, or its DHCP address. Start Willow's selected services and open its dashboard. Check the shared PHY and ready roles.

  4. Send your first command

    Connect the MeshCore app to the companion endpoint on port 5000, send an advert and message the bot privately with !ping. Expect Pong; !help shows what you can use next.

App connection steps · Update an existing node without replacing its state

Put the node to work

Messaging and shared rooms

Use native MeshCore DMs, channels and room history. Each role has its own key and permissions.

Connect and use the roles

Useful bot commands

Keep private notes, read nearby repeater signal or monitor a fleet. Add a named module while retaining existing commands.

Browse command downloads

Your own applications

Write Lua or bring C/Rust through Wasm. Use scoped storage, timers and owner-configured web services.

Extend the bot

Traffic and battery monitoring

Publish MQTT observations, collect repeater status and view radio, queue and resource trends.

Set up monitoring

Aspen Rooms also connects browser and terminal clients with radio frontends through a shared room service. Shared-room setup

Independent roles, shared airtime

The repeater forwards eligible traffic, the room holds conversations, the companion serves your app and the bot runs commands. Each owns its own identity and state. The shared modem schedules all transmissions on one RF channel and airtime budget.

Aspen uses MeshCore packet formats, encryption, adverts and routing to communicate with other MeshCore radios. A local TX completion means the radio sent a packet; a recipient ACK or reply confirms reception. Local reflections are labelled separately from RF receptions.

Radio status and airtime · What survives a restart · Architecture reference

Downloads

These releases use MeshCore 1.18.0, with companion protocol 14 on Aspen. Choose the package for your hardware; each release includes installation instructions and checksums. Host roles use a separately configured WiFi/TCP shared modem.

Standalone ESP32

Aspen 0.1.18

XIAO ESP32-S3R8 + Wio SX1262. Native roles, Lua/Wasm bot and browser administration. Addressed bot commands also work with accented characters and emoji in your display name.

Install Aspen Release files

The first-install image erases the board. For an existing Aspen, use an application-only update.

Go host roles

Birch 0.1.4

Debian 12 x86-64. Prebuilt host and native worker with a private configuration installer.

Download Birch · Install the host

Standalone nRF52840

Pine 0.1.4

XIAO nRF52840 + Wio SX1262. Application update for an initialized repeater/bot node with existing identities, credentials and Lua storage.

Download Pine · Installation and recovery

Use a signed application-only USB update, or keep USB recovery accessible during a BLE update.

Download command modules · Get the source · Build and package from source

Keep going