Skip to main content

Get Started for Meshtastic

Meshtastic is an open source, off-grid, decentralized, mesh network built to run on affordable, low-power devices. Seeed Studio provides a comprehensive range of ready-to-go Meshtastic devices for hobbyists and industrial users. Wio-SX1262 with XIAO ESP32S3 kit is flexible solution for meshtastic developer and maker.

Flash Firmware

note

Please flash the firmware before using Meshtastic.

Step 1: Firstly, open a browser and visit https://flasher.meshtastic.org/# requires Chrome or Edge browser.

Step 2: Then, use a suitable USB cable to connect the device to the PC. You may need to turn off, then press and hold the BOOT button while plugging in the USB cable.

Step 3: Follow the following instruction provided to perform the subsequent flashing operations. Select the Device as "Seeed XIAO S3", Firmware as the lastest one, and then click "Flash". Don't forget to tick "Full Erase and Install" if you want to cover previous firmware.

Software Overview

Meshtastic provides multiple platform softwares for users to choose from, including Android app, Apple app, web client. It also provides Python CLI, Linux Native and integration methods for developers to use.

For specific information, please refer to the official website of Meshtastic.

  • Android App: Android application is available on F-Droid repo and Google Play Store. This allows you to connect to your Meshtastic device from your Android phone via Bluetooth, Wi-Fi (if on the same network) or USB On-The-Go (OTG).
  • Apple App: It is available on app store. By default, the Meshtastic app for iOS supports the use of native offline Apple Maps.
  • Web Client: Meshtastic Web is a Meshtastic client that runs directly in your browser.
  • Python CLI: The python pip package installs a "meshtastic" command line executable, which displays packets sent over the network as JSON and lets you see serial debugging information from the meshtastic devices.
  • Linux Native: The device software can also run on a native Linux machine thanks to the Portduino framework.
  • Meshtastic Integrations: The Meshtastic ecosystem is highly extensible and allows easy integration with a number of existing software products and projects.

Device Connection

Before using Meshtastic, the device needs to be connected first. There are two connection methods. The first one is to use an expansion board, and the corresponding information will be displayed on the display. Then, the configuration can be carried out on the corresponding platform according to the reflected information. The second one is to connect the XIAO and the Wio SX1262 module, and use a serial port tool to obtain the node ID and password.

Method 1: Connected to Expansion board

After flashing firmware and downloading Meshtastic app, Expansion board would be a good tool for connection and additional application such as adding grove sensors and modules easily.

Step 1: Ensure that the device to be connected (such as "device") is turned on and in a discoverable state. And open the Meshtastic app on your mobile phone.

Step 2: In the Meshtastic app, there is an "+" icon on bottom right. Click it to let the app start scanning for nearby connectable devices. Then select the corresponding device ID showing on OLED display.

Step 3: Once selected correctly, enter the code showing on OLED display. Press the botton to switch display.

Button Functions:

  • Press once to switch the screen.
  • Press twice to broadcast.
  • Press three times to switch the GPS mode.

Step 4: Set the Lora region, then the device will reboot.

Step 5: Finish reboot, the device status can be checked on Meshtastic app and OLED display.

Method 2: Serial port tool

Select a serial port debugging tool you like. I will take Comtool on mac as an example below. Select the serial connection, choose the corresponding port, configure the baud rate as 115200, and turn on RTS and DTR. Open the connection and you can see the connection data. Search for "nodenum" to find the corresponding node ID. Its default password is 123456.

tip

The last four digits of nodenum are the device number ID discovered by the meshtastic app. For example, "nodenum 0x9e20d02c" is "Meshtastic_d02c" in meshtastic.

Communicate with Wio Tracker T1000-E

Step 1. Connect Wio Tracker T1000-E following wiki.

Step 2. Make sure the following setting is same as your configuration on XIAO ESP32S3 for Meshatastic.

  1. Device activation and setup
  • Ensure that both devices are turned on and in normal working condition.
  • The wireless communication function of the device (such as Bluetooth, LoRa, etc.) should be enabled. Check the relevant settings to ensure that it is not accidentally turned off or restricted.
  1. Distance and signal strength
  • The distance between the two devices cannot be too far. After initail testing, the communication distance of XIAO ESP32S3 for Meshtastic with 2 dbm IPEX antenna is over 2.5 km. Generally speaking, in a more open environment, can be over 20 km.
  1. Network Settings
  • Ensure that the devices are in the same network mode or channel setting. Easily set to same 'lora region' and 'Modem preset' using Meshtastic APP.

Step 3. Communicate with Wio Tracker T1000-E

Once connected, you can start sending and receiving messages through the Meshtastic network. Messages can be text-based or may support additional features depending on the capabilities of the devices and the app. You can also monitor the network activity and see which devices are currently connected and active.

Sensor Connection

In the meshtastic application, the Wio SX1262 with XIAO esp32s3 kit is capable of supporting a wide range of sensors. When used in conjunction with the XIAO expansion board, it can support numerous grove sensors, please check here. Additionally, when combined with the GNSS add on module, it forms the smallest module within meshtastic that has GPS functionality.

Temperature and Humidity Sensor

DHT20 Temperature & Humidity Sensor

Step 1: Connect the Grove DHT20 sensor of the XIAO Expansion Board

Step 2: Enable Detection Sensor in Meshtastic APP

GNSS Sensor

L76K GNSS Module for XIAO

Initial Configuration

note

For more details, please refer to Meshtastic.

Radio Configuration

There are several config sections in the Meshtastic firmware, these are broken out so they can be sent as small admin messages over the mesh.

NameDescription
BluetoothBluetooth config options are: Enabled, Pairing Mode and Fixed PIN.
ChannelsChannels config options are: Index, Role and Settings.
DeviceDevice config options are: Device Role, Serial Output, Debug Log and Factory Reset.
DisplayDisplay config options are: Screen On Duration, Auto Carousel Interval, Always Point North, and GPS Format.
LoRaThe LoRa config options are: Region, Modem Preset, Max Hops, Transmit Power, Bandwidth, Spread Factor, Coding Rate, Frequency Offset, Transmit Disabled and Ignore Incoming Array.
NetworkNetwork config options are: WiFi Enabled, WiFi SSID, WiFi PSK, WiFi Mode and NTP Server.
PositionPosition config options are: GPS Enabled, GPS Update Interval, GPS Attempt Time, Fixed Position, Smart Broadcast, Broadcast Interval and Position Packet Flags.
PowerPower config options are: Charge Current, Power Saving, Shutdown after losing power, ADC Multiplier Override Wait Bluetooth Interval, Light Sleep Interval and Minimum Wake Interval.
UserUser config options are: Long Name, Short Name, and Is Licensed.

Module Configuration

Modules are included in the firmware and allow users to extend the functionality of their mesh or device.

NameDescription
Ambient LightingAdjust the brightness of NCP5623 I2C RGB LEDs.
AudioEnable Support for Codec2 Voice Comms on certain devices.
Canned MessageSet a number of predefined messages to send out directly from the device with the use of an input device like a rotary encoder.
Detection SensorConfigure a GPIO pin to be monitored for specified high/low status and send text alerts.
External NotificationIncoming messages are able to alert you using circuits you attach to the device (LEDs, Buzzers, etc).
MQTTForward packets along to an MQTT server. This allows users on the local mesh to communicate with users on another mesh over the internet.
Neighbor InfoSend info on 0-hop neighbors to the mesh.
PaxcounterCount the number of BLE and Wifi devices passing by a node.
Range TestSend messages with GPS location at an interval to test the distance your devices can communicate. Requires (at least) one device set up as a sender and one as a receiver. The receiver(s) will log all incoming messages to a CSV.
Remote HardwareSet and read a GPIO status remotely over the mesh.
Serial ModuleSend messages across the mesh by sending strings over a serial port.
Store & ForwardStores messages on a device for delivery after disconnected clients rejoin the mesh.
TelemetryAttach sensors to the device and transmit readings on a regular interval to the mesh.
TracerouteTrack which nodes are used to hop a message to a certain destination.

Tech Support & Product Discussion

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...