nRF OTA Firmware Update

Updating firmware on nRF-based repeaters and room servers (RAK4631, T114, T-Echo, etc.) is done wirelessly using the Nordic DFU app. No USB cable required.

This guide is based on the official MeshCore blog post by Scott Powell (Lead Firmware Developer).

Contents


Step 1: Download the Firmware .zip

  1. Go to the MeshCore Web Flasher
  2. Find your device and select the Repeater or Room Server role
  3. Select the latest version
  4. Click the Download button in the bottom-right, then select .zip file

Alternatively, download directly from the GitHub releases page and find the artifact for your specific device.


Step 2: Put the Device into OTA Mode

  1. Open the MeshCore client app and log in to your repeater as admin
  2. Switch to the Command Line view
  3. Enter the command: start ota
  4. You should see a reply like: OK - mac: FF:AA:BB ...

The device is now in OTA mode and ready to receive the firmware update over Bluetooth.


Step 3: Install the Nordic DFU App

If you don't already have it, install the nRF Device Firmware Update app:


Step 4: Configure DFU App Settings

Before running the update, apply these recommended settings in the nRF DFU app:

Setting Value
Packet receipts notification ON
Number of packets 8
Request high MTU (Android only) OFF
Disable resume ON
Prepare object delay 0 ms
Force scanning ON

Step 5: Run the Update

  1. In the nRF DFU app, select the .zip file you downloaded in Step 1
  2. Select your device from the list
  3. Tap Start
  4. Wait for the update to complete — do not close the app or move away from the device during the process

Step 6: Finishing Up

Once the update completes:

  1. Log out of the repeater and log back in via the MeshCore client app
  2. Enter the clock command to check if the time is correct
  3. If the clock is wrong, run clock sync to sync it from your phone
  4. Enter the ver command to confirm the firmware version has updated successfully

Troubleshooting

Update stalled or failed?

Enter the following command from the MeshCore app or a standalone device: reboot

Then repeat the process from Step 2.