MeshCore
Off-grid LoRa mesh communication — a lighter-weight mesh firmware for the Mesh Series, alongside Meshtastic.
MeshCore turns your Attaky into an off-grid communicator. Using the long-range LoRa radio, nearby devices form a self-healing mesh and relay each other's packets — so you can send messages and share location with no cell network, no Wi-Fi, and no internet. It's a lighter-weight alternative to Meshtastic: the device acts as the radio, and you read and write messages in the MeshCore phone app or web client.
This firmware supports all Mesh Series Complete Builds.
What you can do with it
- Send messages across the mesh from the MeshCore phone app or web client
- Share your GPS position with the rest of the mesh
- Run as a repeater — every node extends the network's reach
- Stay connected all day on a charge, fully off-grid
How it compares
MeshCore and Meshtastic both make the same hardware an off-grid mesh communicator — they're two firmware you can pick between on a Mesh Series build:
- Meshtastic — a large, feature-rich mesh project with on-device messaging and a deep feature set.
- MeshCore — a leaner, packet-focused mesh: the radio stays simple and you do your messaging in the companion app, which keeps it light and repeater-friendly.
Reflash to switch between them — the same Mesh build runs either one.
What you need
| Module | |
|---|---|
| Required | Core: ESP32 1.0 + Expand: LoRa / GPS 1.0 |
| Optional | Power: Standard Cell 1.0 (battery) |
Already have a Mesh Series build? It's ready to flash — MeshCore runs on all of them.
Mesh Pocket Junior 1.0
Pocket-form off-grid communicator.
Mesh Deck Junior 1.0
Flagship — adds an integrated keyboard.
Mesh Station Junior 1.0
Desktop base-station form.
Install it
Firmware is installed from the Attaky Firmware Store with a one-click web flasher — no toolchain to set up.
MeshCore is rolling out to the Attaky Firmware Store. If it isn't listed for your build yet, check back shortly or start with Meshtastic, which runs on the same hardware.
Open the Attaky Firmware Store in a supported browser (Chrome or Edge) and connect your Attaky over USB-C.
Pick MeshCore and click flash. Keep the device connected until it finishes.
The device reboots into MeshCore. Pair it with the MeshCore app to set your frequency and start messaging.
Don't unplug while flashing. Make sure you pick the firmware that matches your hardware — MeshCore needs the LoRa / GPS module.
Flash manually (advanced)
Prefer the command line? The release ships standard ESP32-S3 images:
| File | Role | Flash address |
|---|---|---|
bootloader.bin | Bootloader | 0x0 |
partitions.bin | Partition table | 0x8000 |
boot-app0.bin | OTA boot stub | 0xe000 |
firmware.bin | Application | 0x10000 |
esptool.py --chip esp32s3 write_flash \
0x0 bootloader.bin \
0x8000 partitions.bin \
0xe000 boot-app0.bin \
0x10000 firmware.binAddresses are the ESP32-S3 defaults and may vary with a custom partition table.
First steps
After flashing, get on the mesh:
Install the MeshCore app on your phone and pair with your Attaky over Bluetooth, or open the web client and connect over USB-C.
Set your frequency to match your hardware and local rules. MeshCore sets the frequency at runtime from the app — so one firmware covers any band your radio supports.
Send a message. Anyone nearby on the same frequency and channel receives it — directly or relayed through other nodes.
Versions
The Attaky build tracks upstream MeshCore directly and carries the same version as upstream — it isn't given a separate Attaky version number.
Upstream & license
MeshCore is an open-source project that Attaky ports to its modular hardware.
- Upstream: meshcore-dev/MeshCore
- License: MIT
- Attaky source: Attaky-Module/MeshCore — published in full under MIT
Learn more
MeshCore has its own companion apps, channels, and repeater features. For the full guide, see the official MeshCore documentation. Regional frequency options for your hardware are on the LoRa / GPS module page.
Known limitations
Messaging happens in the companion app or web client — the on-device screen shows status and incoming messages rather than a full on-device composer. Run into something that doesn't work? See Troubleshooting & FAQ.