FAQ of Dragino Mesh Network
1. What is the difference between Dragino Mesh and Dragino LoRaWAN, and do I need a gateway or server?
Beyond topology (see the comparison in the Overview, 2.4), the operational model differs:
Dragino LoRaWAN
- A LoRaWAN node is provisioned with keys and joins a network server through a LoRaWAN gateway.
- Every uplink is a single node → gateway → server hop.
Dragino Mesh
- Dragino Mesh has no network server.
- Nodes share a common radio configuration and rebroadcast each other's packets, so a packet can reach the Mesh gateway over several hops.
- You only need at least one Mesh gateway.
- It manages device enrollment, receives node data, and provides the data to users or upper-layer applications through its management interface.
- No LoRaWAN gateway and no TTN/ChirpStack server are required.
2. How does enrollment into the private network work?
A node that is not enrolled does not have the operating configuration for the current Mesh network, so it automatically sends enrollment requests: after its first startup or a restart, it sends up to 50 consecutive requests, giving the Mesh gateway sufficient time to discover and process it. On the gateway side, you add the node on the device management page by entering its Dev EUI and App Key; when the gateway receives an enrollment request from that node, it automatically sends the enrollment configuration and completes enrollment. No repeated commands are needed. Once enrolled, the node begins normal data collection and scheduled wake-up operation. The operator-facing steps are in the Quick Start (2.1–2.4).
3. What are the node's discovery and upload timings?
-
Not enrolled (discovery): after boot the node waits
15 s, then sends enrollment requests every6 s(up to50requests); its node info is transmitted periodically during the discovery process, not with every request. If the node is still not enrolled, it sleeps for about20 minbefore retrying. -
Enrolled (normal operation): the node follows the wake-up schedule provided by the Mesh gateway, with a fixed cycle of
30 minby default: wake, collect or prepare data, send to the gateway, wait for a short communication window (to receive any pending configuration), then sleep. -
Time alignment: the node does not simply wait a full interval after each transmission. It calculates the next fixed wake-up time from the current time, reporting interval, and alignment time, so multiple nodes operate on a common schedule (for example, a 30-minute interval aligned to the hour:
10:00 → 10:30 → 11:00 → 11:30 → ...).
4. I upgraded the firmware, but the LoRa region/configuration didn't change. Why?
If a device already has a saved configuration, upgrading the firmware does not overwrite the stored LoRa region or enrollment configuration. Factory defaults (including EU868) mainly apply to new units, factory-reset units, or units re-initialized after their configuration has been cleared. Note the difference between the two long-press actions: releasing after holding 5–8 seconds restarts the node and keeps its configuration, while releasing after holding at least 10 seconds resets it to factory settings, clears the enrollment and operating configuration, and returns it to the not-enrolled state.
5. How is a sensor or model selected, and is there a runtime work-mode command?
No. There is no runtime AT+MOD command for sensor selection. The sensor behavior is determined by the firmware build for the corresponding product: for example, the S31B-MS build enables the temperature/humidity path, while the SN50V3-MS base build has no dedicated sensor. Firmware for the two products is not interchangeable. Always flash the build that matches the product label.
For integrators decoding frames: business (sensor) data is sent on port 290, and configuration/admin data on port 287. Battery voltage is reported in millivolts (mV). Raw temperature and humidity values may be expressed in tenths of a unit (for example, a raw value of 253 means 25.3).
6. A node cannot enroll or cannot reach the gateway. What should I check?
Verify in this order:
- Region match. The Mesh gateway and the node must use the same Region. A mismatch (e.g. node on EU868, gateway on US915) prevents any packet reception. Dragino ships fixed-frequency versions per country, so confirm both devices are the correct version for your region.
- Dev EUI and App Key. Check that the Dev EUI and App Key entered on the Mesh gateway device page match the target node. A mismatch causes the node to keep sending requests without ever becoming enrolled.
- Gateway is online. Keep the Mesh gateway powered and running normally while the node is sending its enrollment requests.
- Antenna and RF path. Confirm the antenna is installed and the node is not sitting on metal. For initial setup, place the node near the Mesh gateway; after confirming normal enrollment and reporting, move it to the deployment location.
- Enrollment-request window. The node sends up to
50consecutive requests after startup or restart, then sleeps ~20 minbefore retrying. If the window was missed, hold the button on the sleeping node for about 1 second and release it after the green LED starts flashing to trigger another attempt.
To check the result, with the node awake, briefly press the button once: green LED = enrolled, blue LED = not enrolled.
7. Can Dragino Mesh forward data into LoRaWAN or LTE CAT-1?
Bridging Mesh into LoRaWAN and into LTE CAT-1 is planned but not yet available. See the More Option 1 and More Option 2 pages for updates.
8. How is the firmware built and flashed?
The firmware is a PlatformIO project targeting STM32WL, built on Windows with VS Code. For firmware updates there are two Dragino tools: FirmwareUpdateUtility (the normal APP update method, connecting over USB serial or BLE from the PC tool or the mobile app) and the Dragino STM32 Production Flasher (first-time programming or recovery; a production/service operation). Building from source is covered in the Developer Instruction (section 1); the step-by-step upload procedure is in section 9 below.
9. How to upload the firmware to Mesh End Node
Dragino provides standard APP firmware that customers can flash directly; you can also flash firmware you built yourself (see the Developer Instruction). Choose the method that matches the device state: a normal APP update uses FirmwareUpdateUtility; the Production Flasher is only for first-time programming or recovery.
9.1 Flash layout
Dragino Mesh Node firmware uses a Bootloader + APP layout on STM32WLE5JC (256 KB flash, 2 KB pages). The APP starts at 0x08007800; a normal APP upgrade only writes from that offset onward.
Do not erase the factory identity, boot-control, or bootloader regions during a normal APP upgrade. The factory identity page (0x0803E000) holds the DevEUI and root key used for private-key derivation; losing it requires re-provisioning at Dragino's factory. The boot-control page (0x0803F000) must also be preserved. STM32 programming, Bootloader programming, and custom Flash addresses are production or service operations. Do not change addresses or use those advanced functions without explicit instructions from Dragino.
9.2 Choosing an upgrade method
| Tool | Main use |
|---|---|
| FirmwareUpdateUtility | Normal APP update when the device already has a bootloader (USB serial or BLE) |
| Dragino STM32 Production Flasher | First-time programming or full recovery (production/service) |
For a USB serial connection, use a 3.3 V TTL adapter because 5 V will damage the MCU:
| USB-TTL | Device |
|---|---|
| TX | RX |
| RX | TX |
| GND | GND |
9.3 APP update with FirmwareUpdateUtility (USB serial)
Use this when the device already has a complete Bootloader + APP. The FirmwareUpdateUtility package includes its own detailed manual for device connection, Bootloader synchronization, firmware selection, writing, and verification; the outline is:
- Put the device into upgrade mode (see 9.5).
- Connect the USB-TTL adapter to the device serial port and open FirmwareUpdateUtility on the PC.
- Connect through USB serial and wait for the tool to synchronize with the Bootloader.
- Select the APP firmware file (
firmware.bin) that matches the product model and Region. - Start the upgrade and wait for writing and verification to complete.
- After the upgrade, allow the device to return to normal operation and check its status and data on the Mesh gateway.
Do not power off the device, close the PC tool, or disconnect the adapter during the upgrade. If an upgrade fails, the device remains in upgrade mode and the upgrade can be run again. If the device cannot enter upgrade mode, contact Dragino technical support.
9.4 First-time programming with the Dragino STM32 Production Flasher
Use this when the device has no complete Bootloader + APP, when the bootloader is damaged, or when full recovery is needed. For a normal APP update, use FirmwareUpdateUtility (9.3) instead. This is a production/service operation: perform it only when instructed by Dragino. It uses the STM32 ROM bootloader over UART and requires switching the device to ISP.
- Open the device enclosure.
- Switch the device to ISP and press reset.
- Connect the USB-TTL adapter to the device serial port and to the PC.
- Open the Dragino STM32 Production Flasher, click Refresh and select the correct serial port.
- Select the Bootloader firmware file and the APP firmware file. The write addresses are handled automatically by the tool (Bootloader at
0x08000000, APP at0x08007800). - Click Detect Device and confirm the device is detected, its DevEUI is shown, and its factory identity is valid.
- Click Start Programming and wait for completion.
- Switch the device from ISP back to normal mode and press reset to start the new firmware.
Do not power off the device or disconnect the USB-TTL adapter during programming. The tool preserves the factory identity page automatically. Do not bypass or ignore an invalid factory identity unless specifically instructed, and do not erase the boot-control page unless you are following a specific recovery procedure.
9.5 Entering upgrade mode (Bootloader)
Press the button 8 times consecutively: the green LED flashes and the node enters upgrade mode. In upgrade mode the node pauses normal data collection and Mesh operation and waits for an upgrade tool to connect.
If no tool connects promptly, the upgrade connection wait times out and the node returns to normal operation. Press the button 8 times again and connect the upgrade tool promptly.
9.6 Bluetooth (BLE) upgrade
FirmwareUpdateUtility can also connect over BLE, from the PC or from the mobile app.
- Put the device into upgrade mode (see 9.5).
- Open FirmwareUpdateUtility and select the BLE connection.
- Scan and select the target device and identify it by its model name.
- Connect, then select the APP firmware file (
firmware.bin). - Start the upgrade and keep the device within ~2 m of the BLE adapter until writing and verification complete.
9.7 Upgrade troubleshooting
| Symptom | Likely cause | How to diagnose / fix |
|---|---|---|
| Serial port opens, but the tool cannot synchronize | TX/RX swapped | Swap TX↔RX and retry |
| Production Flasher: "Device not detected" | Device not in ISP mode | Toggle the ISP switch, then press reset while the tool is scanning |
| The node returns to normal operation shortly after entering upgrade mode | The upgrade connection wait timed out | Press the button 8 times consecutively again and connect the upgrade tool promptly |
| BLE scan shows no device | Device not in upgrade mode | Enter upgrade mode (8 consecutive presses), then scan again |
| BLE connects but upgrade stalls mid-transfer | RF interference or distance | Move within ~2 m; disable other 2.4 GHz radios on the PC; fall back to USB serial |
| The device behaves abnormally after an upgrade | Firmware does not match the product model or shipping Region | Confirm the firmware matches the product model and Region, then rebuild/re-flash the correct file |
Device works but factory identity reads all-FF | The factory identity page was erased | Contact Dragino for re-provisioning |