Skip to content

Instantly share code, notes, and snippets.

@sulph68
Last active February 2, 2026 09:07
Show Gist options
  • Select an option

  • Save sulph68/69d08b839d3c5d84954e4436e80d440d to your computer and use it in GitHub Desktop.

Select an option

Save sulph68/69d08b839d3c5d84954e4436e80d440d to your computer and use it in GitHub Desktop.
Meshtastic Setup on uConsole - Notes

Meshtastic Setup on uConsole - Notes

Install packages based on @Rex images. Meshtastic shold be available as an apt install.

Main issue with broadcast is congestion.

  • Reduce update rates to as low as acceptably possible. 3 hours and above is probably recommended
  • Use meshtastic command to perform the updates where possible. This is more positive than using than the Web interface

Useful key commands to help get things going.

$ meshtastic --get position.gps_mode
$ meshtastic --set position.gps_mode 0
$ meshtastic --info
$ meshtastic --listen
$ meshtastic --listen 2>&1 | grep [node id]
$ journalctl -f -xeu meshtasticd
$ meshtastic --sendtext "Test: $(date)"

Settings are saved into the LORA flash. It should load correctly even if meshtasticd is restarted.

NOTES:

  • Only after everything is configured correctly, do you start to use Meshtastic Web.
    • I have found that Meshtastic-MUI to be confusing and does not seem to interact as well on the uConsole.
  • Meshtastic-web is a heavily cached web-app. It does not respond well to reloads. it is best to use the command line. Only after everything has been set up, then use Meshtastic Web to send or recieve messages.
  • There is no backing message store. Therefore, do not expect your history of messages to be kept

After looking for some good clients, i have settled on using contact. It provides a lightweight curses based meshtastic client with all the settings available as Meshtastic Web. It also provides a sqlite backing store for messages. So as long as the client is running, messages can get recieved. History also gets loaded up on a restore.

https://github.com/FFAMax/meshtastic_CLI

pip install contact

Key Configurations

The below excludes security or configurations that might be personalized. The below is also more optimized for the Singapore environment.

Initial setup (SG) was based on the following configuration

# start of Meshtastic configure yaml For Singapore
config:
  device:
    nodeInfoBroadcastSecs: 10800
    rebroadcastMode: NONE
    tzdef: Asia/Singapore
  lora:
    bandwidth: 250
    channelNum: 4
    codingRate: 5
    configOkToMqtt: true
    hopLimit: 7
    region: SG_923
    spreadFactor: 11
    sx126xRxBoostedGain: true
    txEnabled: true
    txPower: 20
    usePreset: true
  network:
    enabledProtocols: 1
    ntpServer: meshtastic.pool.ntp.org
  position:
    broadcastSmartMinimumDistance: 100
    broadcastSmartMinimumIntervalSecs: 5400
    fixedPosition: true
    gpsUpdateInterval: 21600
    positionBroadcastSecs: 10800
    positionBroadcastSmartEnabled: true
    positionFlags: 1
  security:
    serialEnabled: true
location:
  alt: [ALT_HERE]
  lat: [LAT_HERE]
  lon: [LON_HERE]
module_config:
  mqtt:
    address: mqtt.meshtastic.org
    enabled: true
    encryptionEnabled: true
    mapReportSettings:
      positionPrecision: 11
      publishIntervalSecs: 3600
    password: large4cats
    proxyToClientEnabled: true
    root: msh/SG_923
    username: meshdev
  neighborInfo:
    enabled: true
    updateInterval: 14400

If you are in Singapore and am a new user, and would like something to tune into use the following.

Channel Name: ATIS Encryption (PSK): AQ==

A short write up of the settings and the fields sent. https://bit.ly/4ti8swA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment