Cairn 130 fixes the freeze a touch or key board with a full contact list had whenever an advert came in, worst with "Overwrite oldest" on. Rewriting a full 510-contact list took 7.65 seconds in one go, on the same loop that draws the screen, and it happened seconds after nearly every advert. The list is now saved a contact at a time, and the saves wait for a pause in your taps and keys. The Heltec Vision Master T190 gets a companion build to try, as an experimental pre-release.
Highlights:
-
No more freeze when an advert arrives (Wio L2 Pro, ThinkNode M9, T-Deck, T-LoRa Pager, Heltec V4 touch). A save writes only the contacts that changed: about 0.6 seconds of short steps for one changed contact on a ThinkNode M9 with 510 contacts, where the whole list was rewritten in one 7.65 second pass. A removal, or many changes at once, still rewrites the whole list, but in steps of about 25 ms, so the screen keeps answering.
-
"Overwrite oldest" no longer costs half a second an advert. With the list full, every advert from a node not in it made a new small file (about 0.4 seconds each, measured). The stored adverts (what Share sends) now live in one file: a new contact's is about 0.1 seconds, the same contact's next one about 10 ms, and a removed contact's costs nothing. Your existing ones are moved over in the background after the update.
-
Saves wait for you. What adverts change is saved once every two minutes, not five seconds after each one, and a save that is due waits for a 4 second pause in your taps and keys (a minute at most). It also waits during tones, alert sounds and update transfers.
-
Safe against a reset. The changed contacts go to a small journal first, so a reset or a dead battery in the middle of a save leaves the old list or the new one, never a mix. Your own edits are still saved within seconds, and power-off and restart save everything first.
-
Heltec Vision Master T190 companion, to test: the wheel-driven Cairn screen on its 1.9" display, with the app over Bluetooth and Wi-Fi. It's an experimental pre-release, not part of this one, as is a companion for the Heltec WiFi LoRa 32 V3.
-
The Heltec V4 + Expansion Kit V1 is back in the normal release (it was an experimental pre-release from 127 to 129), so a kit's online update finds this build.
-
Out of beta: the Elecrow ThinkNode M9, the LilyGO T-Deck / T-Deck Plus, the LilyGO T-LoRa Pager, the Heltec V4 + Expansion Kit V1 and the Heltec T096 repeater.
Checked: on a ThinkNode M9 with the list filled to 510 contacts, saves of one and five changed contacts, a whole-list save, a reset forced at each step of a save (the list came back whole every time), and the move of the stored adverts. The contact save also ran on a Wio L2 Pro. Not checked yet on a device: the T-Deck, the T-LoRa Pager and the Heltec V4 touch (same code, built but not run), a real power cut in the middle of a save (the tests used resets), and a nearly full flash. The boards without touch or keys (Wio Tracker L1 family, T096, the repeaters, the T-Display SF32) save as before; 130 changes nothing for them but the build number.
Update
- On Cairn 108 to 129 (L2 Pro, Heltec V4 touch on either kit, ThinkNode M9, T-Deck, T-Display SF32, T-LoRa Pager): Settings › System › Firmware update: Check, Download, Install. The new build starts on trial and goes back to the old one by itself if it fails to start. On the T-Display SF32, dock the core on the keyboard board first (it carries the Wi-Fi chip).
- T-Deck started from an SD-card launcher: don't use Update on 121 or earlier (122 and later are fine). Copy
MeshCore-TDeckPlus-Cairn130-2026-11-10-update.binto the card and install it from the launcher, as you installed Cairn. - Over USB on an ESP32 board: the
-full.bingoes at0x0, after Erase Flash, and erases everything. The-update.bingoes at0x10000and keeps your data. If the board last updated over Wi-Fi, clear the boot selector first, as in the ESP32 install guide. - Wio Tracker L1 Pro, DV1, L1 e-ink, the room server and the T096: double-tap Reset and copy the board's
.uf2onto the drive that appears (UF2 guide), or use the Cairn app's Firmware Update over Bluetooth. Updating keeps your identity, contacts, channels and settings. - Compact repeaters: write the
-repeater-update.binat0x10000, or copy the-repeater.uf2. They don't update over Wi-Fi. - Going back to 129: your contacts, channels and settings read as before. 130 moves each contact's stored advert (what Share sends) into one file, which 129 doesn't read, so on 129 Share has nothing for a contact until its next advert is heard.
- T-LoRa Pager: pick the file for your radio (it's on the box and the back label). SX1262 units take
TLoraPager, LR1121 units takeTLoraPagerLR1121; the wrong one runs but has no radio. The online update keeps to the radio you installed. - A board without Cairn: write the board's
-full.bin(ESP32 install guide), copy the.uf2(UF2 guide), or run the SF32 installer (SF32 install guide).
Downloads
| Board | File | Use |
|---|---|---|
| Seeed Wio Tracker L2 Pro | MeshCore-WioL2Pro-Cairn130-2026-11-10-full.bin
| first install or recovery over USB, at 0x0 (erases everything)
|
MeshCore-WioL2Pro-Cairn130-2026-11-10-update.bin
| update over Wi-Fi, or over USB at 0x10000
| |
| Heltec V4-R8 + Expansion Kit V2 (touch) | MeshCore-HeltecV4Touch-Cairn130-2026-11-10-full.bin
| first install or recovery over USB, at 0x0 (erases everything)
|
MeshCore-HeltecV4Touch-Cairn130-2026-11-10-update.bin
| update over Wi-Fi, or over USB at 0x10000
| |
| Heltec V4 + Expansion Kit V1 (touch) | MeshCore-HeltecV4KitV1-Cairn130-2026-11-10-full.bin
| first install or recovery over USB, at 0x0 (erases everything)
|
MeshCore-HeltecV4KitV1-Cairn130-2026-11-10-update.bin
| update over Wi-Fi, or over USB at 0x10000
| |
| Elecrow ThinkNode M9 | MeshCore-ThinkNodeM9-Cairn130-2026-11-10-full.bin
| first install or recovery over USB, at 0x0 (erases everything)
|
MeshCore-ThinkNodeM9-Cairn130-2026-11-10-update.bin
| update over Wi-Fi, or over USB at 0x10000
| |
| LilyGO T-Deck / T-Deck Plus | MeshCore-TDeckPlus-Cairn130-2026-11-10-full.bin
| first install or recovery over USB, at 0x0 (erases everything, and removes a launcher)
|
MeshCore-TDeckPlus-Cairn130-2026-11-10-update.bin
| update over Wi-Fi, over USB at 0x10000, or from a launcher's SD card
| |
| LilyGO T-LoRa Pager (SX1262, most units) | MeshCore-TLoraPager-Cairn130-2026-11-10-full.bin
| first install or recovery over USB, at 0x0 (erases everything)
|
MeshCore-TLoraPager-Cairn130-2026-11-10-update.bin
| update over Wi-Fi, or over USB at 0x10000
| |
| LilyGO T-LoRa Pager (LR1121) | MeshCore-TLoraPagerLR1121-Cairn130-2026-11-10-full.bin
| first install or recovery over USB, at 0x0 (erases everything)
|
MeshCore-TLoraPagerLR1121-Cairn130-2026-11-10-update.bin
| update over Wi-Fi, or over USB at 0x10000
| |
| LilyGO T-Display SF32 + keypad | MeshCore-TDisplaySF32-Cairn130-2026-11-10-install.zip
| install over USB, with the included installer |
MeshCore-TDisplaySF32-Cairn130-2026-11-10-update.bin
| the app image (and its .sha256)
| |
| Seeed Wio Tracker L1 Pro | MeshCore-WioL1Pro-Cairn130-2026-11-10.uf2
| companion, SH1106 OLED |
MeshCore-DV1-Cairn130-2026-11-10.uf2
| companion, 2.42" SSD1309 OLED on the Grove port | |
MeshCore-WioL1Eink-Cairn130-2026-11-10.uf2
| companion, 2.13" e-ink | |
MeshCore-WioL1RoomServer-Cairn130-2026-11-10.uf2
| room server | |
| Heltec Mesh Node T096 | MeshCore-HeltecT096-Cairn130-2026-11-10-ble.uf2
| companion (phone app over Bluetooth) |
MeshCore-HeltecT096-Cairn130-2026-11-10-usb.uf2
| companion (app over USB serial) |
The compact repeater files (-repeater in the name) are rebuilt from the same tree: Heltec T096 and T114 (.uf2), and the Heltec Wireless Tracker, Tracker V2, V2, V3, V4 and V4-R8 (-repeater-full.bin and -repeater-update.bin). Cairn 130 runs on MeshCore 1.18.0, as 118 to 129 did. SHA256SUMS.txt covers every file: shasum -a 256 -c SHA256SUMS.txt.
Not in this release: the experimental boards (what experimental builds are). The Heltec Vision Master T190 companion and the Heltec WiFi LoRa 32 V3 companion are new as Cairn 130 pre-releases; the Heltec T114 companion stays on Cairn 129, and the LilyGO T5 E-Paper S3 Pro and the SenseCAP MeshPager X2 stay on Cairn 127.
Fixed
- Touch and key boards (ESP32 with PSRAM): the screen froze for seconds after an advert with a full contact list. Only the changed contact records are written, through a journal; a whole-list save is written in steps. The stored adverts are one file of fixed slots instead of a file per contact, written outside the radio's receive path.
- What adverts change is saved once per two minutes, and a due save waits for a pause in input (a minute at most) and while a tone, an alert's file, an update transfer or the rescue CLI is busy.
- The rescue CLI's
rebootsaves pending contacts, as the other restart paths do. - Touch boards: the contact list was written by two savers. One now.
Added
- Heltec Vision Master T190 companion and Heltec WiFi LoRa 32 V3 companion as experimental pre-releases.
Changed
- Heltec V4 + Expansion Kit V1: in the normal release again. A kit on the 127 experimental build updates by hand once, or from Settings › System › Firmware update.
- Out of beta: ThinkNode M9, T-Deck / T-Deck Plus, T-LoRa Pager, Heltec V4 + Expansion Kit V1, Heltec T096 repeater.
- Touch boards, serial log:
L2CONTACTS stepped save ok kind=changed|whole|unchanged records= n= ms=after each save.