Sestriere: A native MeshCore client for Haiku

Hi everyone,

I’m happy to introduce Sestriere, a native Haiku client I’ve been developing for MeshCore networking devices.

Sestriere allows you to communicate over LoRa mesh networks using MeshCore-compatible radio modules. I wanted to create something that wasn’t just a port, but felt like a true Haiku application, integrating deeply with the system’s unique features like the People app and attributes.

Hardware

For my development and testing, I’ve been using an Heltec V3.2 board. The app communicates with it flawlessly via the standard Haiku USB serial driver (typically found at /dev/ports/usb0 https://www.studiobernardi.eu/Tatooine/Sestriere/haiku-usb-serial-fix.zip ).

Features:

  • Native Contact Management: Contacts are synchronized from your MeshCore device and saved as native Haiku People files with custom attributes.

  • Messaging: Supports private encrypted Direct Messages (DM) and Public Channel broadcasts.

  • Persistence: Your chat history is saved and restored between sessions.

  • Dynamic Network Map: A real-time visualization of the mesh topology. Nodes are positioned based on signal strength (RSSI) with animated pulses for network activity.

  • Device Stats: A dedicated window for detailed radio performance, including SNR, channel busy, and battery monitoring.

  • Desktop Notifications: Get notified when a message arrives while the app is in the background.

  • Trace Path: Visualize the exact route a packet takes through the mesh to reach a contact.

Installation & Usage

  1. Connect your Heltec or MeshCore-compatible device via USB.
  2. Launch Sestriere and select the serial port (e.g., /dev/ports/usb0).
  3. Choose your regional radio preset (EU 868, US 915, etc.) and hit Connect.

Keyboard Shortcuts

The app follows Haiku standards for a fast workflow:

  • Alt+R: Sync Contacts
  • Alt+M: Show Network Map
  • Alt+S: Device Statistics
  • Alt+T: Trace Path

Source Code / Binary: https://www.studiobernardi.eu/Tatooine/Sestriere/Sestriere-1.1-haiku.zip

I would love to hear your feedback, especially if you have different LoRa hardware to test with!

Cheers,

17 Likes

These screenshots, alone, made me check about MeshCore map around my area to see if it’s time to buy some LoRa devices…

1 Like

It’s not clear: one must patch and rebuild Haiku’s usb driver, or the needed patches are already intégrated in latest Haiku builds, and in such case, since when?

Hi @Phoudoin, unfortunately my Heltec v3 doesn’t work without that patch; the USB serial connection doesn’t throw an error, but it just won’t function. :frowning:

I’m not sure if @waddlesplash would be willing to take a look and integrate the patch into Haiku, but I’d be really grateful if they could :slight_smile:

The USB serial driver is more @PulkoMandy’s area than mine. Perhaps he might take a look? At first glance the issue the patches are trying to fix looks sensible, but I don’t know if this is the proper fix or not.

According to what I can see from the patch, there actually should be errors in the syslog about failures to queue interrupt transfers or something like that on an unpatched driver. Is that the case?

1 Like

Sorry for not opening a ticket, but I have no idea how many nerds actually use a Heltec module with Haiku :smiley:
Above all, I’m not sure if the style and approach are correct, but I know for sure that without these changes, the device won’t connect properly. :sweat_smile:

If I can, I’ll try running it without the patch tonight and send you the syslog :slight_smile:

It looks good to me, except for the removal of the early exit from the loop looking for endpoints in Silicon.cpp (ìf (fPipesSet >= 3)). The check can be changed to check >= 2 instead. This allows to stop as soon as we have found the two needed endpoints and not look for more.

The errors are listed in the HAIKU_USB_SERIAL_FIX.md file (assuming it is correct).

4 Likes


Version 2 is almost ready! Now we can view node telemetry, create a map of the mesh network we’re connected to, and send data via MQTT to global map services. It also features a packet analysis system and plenty of other goodies. :blush:

Now I just need someone to test it on a busy MeshCore network to see if it explodes or actually manages to generate a map with more than 3 nodes (LOL)

2 Likes

Maybe it’s a good time to contact meshcore.co.uk to notify about the existence of a mesh core software for Haiku.

This could improve the audience beyond the Haiku community alone…

4 Likes

I agree, it’s a great idea to reach out and give Haiku more visibility. However, I’d like to run a few more tests before making it official. :slight_smile:

I’ve just finished implementing delivery receipts to track if messages arrive and how long they take.

1 Like

Bravo Andrea!

2 Likes