Skip to content

Latest commit

 

History

History
122 lines (81 loc) · 4.01 KB

File metadata and controls

122 lines (81 loc) · 4.01 KB

Firmware Types & Applications

Source: README.md, examples/

MeshCore ships six example applications that serve as both reference implementations and production-ready firmware.


Companion Radio

Directory: examples/companion_radio/
Connection: BLE (Bluetooth Low Energy), USB Serial, or WiFi
Purpose: Connects external client applications to the mesh network.

The Companion Radio acts as a gateway between the LoRa mesh and client applications running on phones, laptops, or web browsers. It exposes the Companion Protocol over BLE/USB/WiFi.

Supported Client Connections

Type Protocol
Mobile/Web App BLE (Bluetooth Low Energy)
Desktop/Laptop USB Serial
Local network WiFi

Client Applications


KISS Modem

Directory: examples/kiss_modem/
Connection: USB Serial (115200 baud, 8N1)
Purpose: Serial protocol bridge for host applications implementing the KISS protocol.

Implements the standard KA9Q/K3MC KISS framing protocol with MeshCore-specific SetHardware (0x06) extensions. Suitable for integration with existing AX.25/packet radio software or custom host applications.

See KISS Modem Protocol documentation for the full protocol specification.


Simple Repeater

Directory: examples/simple_repeater/
Connection: None (headless)
Purpose: Extends network coverage by forwarding packets.

A repeater receives all packets it hears and re-transmits them to extend range. Key characteristics:

  • Does not originate messages
  • Maintains a neighbor table (up to 8 most recent)
  • Can be configured via serial CLI
  • Supports power-saving mode

Repeater-specific CLI Commands

neighbors                   # Show up to 8 most recent neighbor advertisements
neighbor.remove <pubkey>    # Remove neighbor from table
discover.neighbors          # Discover direct neighbors
get/set powersaving         # on/off

Simple Room Server

Directory: examples/simple_room_server/
Connection: None (headless)
Purpose: BBS-style shared message board accessible to all network nodes.

A Room Server stores and re-broadcasts messages to clients that connect to it. It functions as a shared channel visible to all connected users.


Simple Secure Chat

Directory: examples/simple_secure_chat/
Connection: USB Serial (terminal)
Purpose: Terminal-based encrypted direct messaging.

Provides a text-mode interface for sending and receiving encrypted direct messages between MeshCore nodes. See Terminal Chat CLI documentation for commands.


Simple Sensor

Directory: examples/simple_sensor/
Connection: None (headless)
Purpose: Remote telemetry collection and alerting.

Reads sensor data and transmits it over the mesh network. Supports a range of hardware sensors (GPS, temperature, pressure, current) via the sensor_base PlatformIO configuration with 25+ sensor libraries.

Sensor CLI Commands

sensor list [start]         # List all sensors with values
sensor get <key>            # Get sensor value
sensor set <key> <value>    # Set sensor value

Node Roles Summary

Source: FAQ

Role Repeats? Stores Messages? Has UI?
Companion Radio No No Via connected app
KISS Modem No No Via host app
Repeater Yes No No
Room Server Yes Yes No
Secure Chat No No Terminal
Sensor No No No

Note: Only Repeaters and Room Servers re-transmit (repeat) packets. Companion Radio clients do not repeat.