Skip to main content

MeshCore Firmware Distributions

Accurate as of 13 July 2026. Firmware moves fast. Check versions and device counts against the configurator before relying on them.

Two different choices get confused with each other.

Which distribution? That is this page. Stock MeshCore, or one of five community builds that each do something different: save power, add a touchscreen, make messages more likely to arrive.

Which role? Companion, Repeater, Room Server. That is MeshCore Firmware Variants Explained. Pick a distribution first, then a role inside it.

These six are the ones you can flash from the Mesh America Device Configurator. There are more distributions being added all the time.

You can always change your mind

Flashing is reversible. You are not going to brick your radio, and you can always go back to stock.

What you can lose is your node identity and contact list. A clean install usually gives the node a new identity, so your contacts will see you as a new person and have to add you again. Write down your radio settings (frequency, bandwidth, spreading factor, coding rate) before you start.

See Flashing MeshCore Firmware, or Flashing OTA for a node you cannot reach.

Do they all work together?

All of the distributions listed on this page attempt to adhere to the official MeshCore protocol.

The six at a glance

Distribution

What it is

Pick it when

MeshCore Official

The standard firmware.

Almost always. This is the right answer for most nodes.

EasySkyMesh PowerSaving

Tuned to use less power.

Solar or battery repeaters, where battery life is your limit.

Keymind Cascade

Improves deliverability and network performance

Experimental.

Your Direct Messages keep failing to send.

MCLite

Turns a T-Deck or T-Watch into a standalone messenger. Early days.

You want to use the radio on its own, without a phone.

WADAMESH

A touchscreen interface with a map.

You have a touchscreen device and want chat and a map on it.

ZephCore

A rebuild of MeshCore on the Zephyr operating system.

Battery life matters, or your board only works with ZephCore.

MeshCore Official

The standard firmware, from the MeshCore team. MIT licensed. This is what flasher.meshcore.io gives you. Everything else on this page is built on top of it.

Start here. It is what the phone apps are built against and what everyone assumes you are running. 59 devices, 12 manufacturers.

Two things it does not give you. There is no Sensor build and no Wi-Fi Companion build in the official flasher. The code for both exists upstream, but you have to compile it yourself or get a ready-made copy from a fork. Keymind Cascade prebuilds both.

EasySkyMesh PowerSaving

A version of MeshCore tuned to draw less power, from IoTThinks. Same features, longer battery life. Roles: Companion (BLE), Repeater, Room Server. 42 devices.

About the "15 mA" headline. Its own test table is more varied than the headline suggests: Heltec v3 at 19.6 mA, Heltec v4.3 at 24.9 mA, Xiao S3 at 16.3 mA. Only the Xiao C3 actually hits 15 mA. Real savings, but plan your solar around the number for your board, not the headline. These are the project's own measurements and nobody else has checked them.

More: EasySkyMesh.

Keymind Cascade

The problem

Each repeater passes your message on exactly once, then forgets about it. If the next repeater misses it, the message is gone and nothing retries. One user measured roughly 45% of direct messages failing once the path was two or more hops. Sometimes it did arrive and only the receipt got lost on the way back, so your app says "failed" while the other person is reading it.

The fix

Cascade makes each repeater listen to check the message got picked up, the way you would watch to make sure the next person in a line actually takes what you handed them. If it hears the next repeater pass the message on, it knows it worked. If it hears nothing, it sends it again.

When the mesh is healthy, this costs nothing. Nothing extra goes out unless something was genuinely lost. It does the same for delivery receipts, and it can send replies by two routes at once, which fixes one-way paths where your message arrives but the reply never finds its way home.

Try this first, no fork needed

Some of Cascade is just MeshCore settings tuned for deliverability and performance. You can set them on official firmware from the repeater command line, without actually re-flashing to Keymind Cascade.

set multi.acks 1          send delivery receipts more than once
set rxdelay 2             let the strongest repeater go first
set loop.detect minimal   drop messages stuck going in circles
set agc.reset.interval 8  stop the radio going deaf over time

Only the listen-and-retry behaviour actually requires Cascade.

The catch

Retries cost airtime, and airtime is shared. Your retries are everyone else's interference. Cascade ships three profiles:

Profile

Retries

Use it when

infra

Few

Busy area, lots of nodes. Other routes exist, so do not shout.

rooftop

 (default)

Many

A fixed node with a weak-ish link into a mesh that mostly works.

mobile

Most

Out at the edge with no other way through, where getting the message out beats being polite.

The busier your area, the fewer retries you should use. A rooftop repeater in a well-covered city wants infra, not rooftop, whatever the name suggests. Putting mobile on a busy repeater makes things worse for everyone around you.

MCLite

Turns a LilyGo T-Deck Plus or T-Watch Ultra into a messenger that works entirely on its own. No phone, no pairing, no account. Turn it on and text people. MIT licensed, still pre-1.0, and its author calls it experimental.

  • Setup is a file on an SD card. You build a config.json with an offline tool and drop it on the card. One person can set up a whole group and hand out cards.
  • Extras stock does not have: an SOS broadcast, low-battery alerts to your contacts, offline maps, quick replies, a night-vision theme.
  • It does not auto-add contacts. Nodes it overhears go in a "Heard Adverts" list and you choose who to keep. An empty contact list on a new device is normal, not a fault.

The one real catch: messages you type on the device do not show up in the phone app. They send fine over the mesh, they just never appear in the app's history. This is a limit of MeshCore itself and MCLite cannot fix it. If you want a complete history in the app, type in the app.

WADAMESH

A full touchscreen interface: chat, contacts, and a real pannable map with offline tiles, all on the device. Works with the phone app at the same time. GPL licensed, from ALLFATHER BV in Belgium.

  • Hardware: Heltec V4 with the touch kit, or a LilyGo T-Deck. (Its own flasher supports a few more boards on a beta channel.)
  • Everything is beta. There is no 1.0 release yet.
  • Prefer the T-Deck. The Heltec V4 has less memory and no SD card slot, so several features are cut back on it.

ZephCore

MeshCore rebuilt on different underlying software (the Zephyr operating system), which lets the radio sleep properly between messages instead of idling. MIT licensed. Aims to be fully compatible with normal MeshCore and the phone apps.

  • Big battery savings, but you have to switch them on. Its power-saving receive mode cuts idle current from roughly 10 to 15 mA down to 3 to 5 mA, but it is off by default. Turn it on with set rxduty on. If you picked ZephCore for battery life, this is the switch you came for and it is not flipped for you. Requires 1.16 repeaters.
  • Smarter timing. It measures how crowded the airwaves are locally and waits accordingly, instead of using one fixed delay everywhere.
  • 31 devices in the configurator, including some boards nothing else supports.
  • Worth knowing: the author states openly that the project is almost entirely AI-written. That is his own disclosure, not our judgement. Treat it like any firmware: test before you deploy.

How to choose

  1. Just use MeshCore Official. If nothing below applies, flash the official build and stop reading.
  2. Messages keep failing? First try the four stock settings in the Keymind section. They are free. If it is still bad, flash Keymind Cascade and pick the profile that matches how busy your area really is.
  3. Solar or battery repeater? EasySkyMesh PowerSaving or ZephCore. With ZephCore, remember to turn on rxduty.
  4. T-Deck, T-Watch or a touchscreen? MCLite to use it without a phone. WADAMESH if you want the map.
  5. Board not in the official flasher? Try the Keymind Cascade or ZephCore catalogs.

One last thing. None of this matters if your radio settings are wrong, your radios are not in an ideal location (height is might) or your antenna is not tuned. Your node has to be on the same frequency, bandwidth, spreading factor and coding rate as everyone else in your area. That is the most common reason a new node hears nothing at all. Get those four numbers from your local mesh group before you go blaming the firmware.

A word of caution

Four of these are small community projects and several are openly experimental. That is not a reason to avoid them, but it is a reason to keep a stock build handy, know how to reflash a node you cannot reach, and think twice before putting experimental firmware on a repeater at the top of a tower.


Sources: the Mesh America Device Configurator catalogs; the official MeshCore flasher catalog; and the repositories, release notes, issues and pull requests of each project.