MCU Manager CLI

Clone this repo:
  1. 4ca672d Merge pull request #26 from AudioStreamingPlatform/master by mkiiskila · 5 months ago master
  2. bd841bc Added LICENSE file by Jeppe Frandsen · 5 months ago
  3. 0ba791a mynewt-mcumgr-cli: update to latest newt/newtmgr deps by Naveen Kaje · 1 year, 9 months ago
  4. 62a8136 Update to latest newt/newtmgr deps by Fabio Utzig · 2 years, 11 months ago
  5. 3ba8601 Merge pull request #11 from ccollins476ad/latest-newtmgr by ccollins476ad · 3 years ago


MCU Manager (mcumgr) is the application tool that enables a user to communicate with and manage remote devices running an mcumgr server.

The mcumgr tool is a thin wrapper over the Apache newtmgr tool. Thus, the newtmgr documentation provides some useful help with using the mcumgr tool.


Build the mcumgr tool as follows:

  1. Unpack mcumgr source.
  2. Rename resulting apache-mynewt-mcumgr-1.3.0 directory to $GOPATH/src/
  3. cd $GOPATH/src/
  4. go build


Here are some example mcumgr invocations.

Send an echo command over Bluetooth

The following sends an echo command to a Bluetooth device advertising the name “Zephyr”:

mcumgr --conntype ble --connstring peer_name=Zephyr echo hello

Upgrade firmware over Bluetooth

This series of commands performs an image upgrade over Bluetooth. The device is assumed to be advertising the name “Zephyr”.

# 1. Query device for its current image list.
mcumgr --conntype ble --connstring 'peer_name=Zephyr' image list

# 2. Upload new image to device.
mcumgr --conntype ble --connstring 'peer_name=Zephyr' image upload <filename>

# 3. Tell the device to run the new image on its next boot ("test" the new
#    image).
mcumgr --conntype ble --connstring 'peer_name=Zephyr' image test <image-hash>

# 4. Reboot the device.
mcumgr --conntype ble --connstring 'peer_name=Zephyr' reset

# 5. Query device for its current image list; ensure new image is running.
mcumgr --conntype ble --connstring 'peer_name=Zephyr' image list

# 6. Make the image swap permanent.
mcumgr --conntype ble --connstring 'peer_name=Zephyr' image confirm