Public | Automated Build

Last pushed: 3 months ago
Short Description
A tool that facilitates over-the-air firmware uploads for the MySensors bootloader.
Full Description


A Firmware Uploading Tool for the MYSBootloader via MQTT


Via Docker

docker run -d --name="mysb" -v /the/path/to/config_folder:/config -v /etc/localtime:/etc/localtime:ro mannkind/mysb

Via dotnet

git clone
dotnet build -c Release mysb
mysb/bin/Release/mysb */the/path/to/config_folder/config.yaml*


Configuration happens in the config.yaml file. A full example might look this:

    clientid: 'GoMySysBootloader'
    broker:   'tcp://mosquitto:1883'
    subtopic: 'mysensors_rx'
    pubtopic: 'mysensors_tx'

    autoidenabled: true   
    nextid: 12
    firmwarebasepath: '/the/path/to/config_folder/firmware'
        default: { type: 1, version: 1 }
        1: { type: 1, version: 1 }
        2: { type: 3, version: 1 }
        3: { type: 1, version: 2 }
        4: { type: 1, version: 1 }
        5: { type: 2, version: 3 }

The firmware a node is using is a combination of a type and a version. The priority of the firmware used is based on the following:

  1. A type/version assigned to the node in the config.yaml file
  2. The requested type/version sent in the configuration request
  3. The default firmware setup in the config.yaml file

The location of the firmware picked is relative to the control['firmwarebasepath'] setting in config.yaml.

E.g. /path/to/config_folder/firmware/type/version/firmware.hex

$ find /path/to/config_folder/firmware
Docker Pull Command
Source Repository