Hardware and Software Setup Flashing Canvas firmware to MG100 with default firmware Our latest Canvas device management firmware is open source and available on our Github. It can be used without being managed by Canvas, and integrates both LWM2M and MQTT support in the same firmware package. The following guide contains instructions for how to flash the MG100 from its default firmware to Canvas DM enabled firmware. If you would like your device to utilize the Canvas DM web UI (based on EdgeIQ) please visit us at https://www.ezurio.com/contact. Requirements: TC2030-CTX 6-Pin Cable for ARM Cortex - Normal Orientation https://www.tag-connect.com/product/tc2030-ctx-6-pin-cable-for-arm-cortex USB-SWD 453-00062-K1 https://www.ezurio.com/wireless-modules/programming-kits/usb-swd-programming-kit USB SWD Firmware must be latest version as demonstrated in section 12 of the following guide: Application Note - Using the USB-SWD Programmer (software v2.0) A PC workstation with Python installed MG100 Gateway https://www.ezurio.com/iot-devices/bluetooth-iot-devices/sentrius-mg100-gateway-lte-mnb-iot-and-bluetooth-5 A micro usb cable (with data lines) to connect with the MG100 UART. Hardware Configuration Remove the 4 screws from the back side of the MG100. Remove the top clamshell, disconnect the NFC antenna, and place the screws in the top clamshell for safe keeping. Using the pins on the Tag-Connect cable, align and then attach the cable over J5 on the MG100. Attach the other end of the cable to the “Debug” header on the USB-SWD. Set “sense supply” switch to “out”, and tty voltage switch to “1.8v”. Caution: setting this switch to 3.3v can damage the board Software Configuration Download our latest firmware (at the time of this writing, v1.1.0): https://github.com/CanvasDM/ble_gateway_dm_firmware_manifest/releases/ Select the file conaining the string “mg100” and the protocall you would like to use (MQTT, LWM2M, or None). Extract the .zip file on your workstation, locate the file with name ending in “_full_image.hex” Install pyocd: https://pyocd.io/docs/installing.html Flashing Firmware: With pyocd and the firmware installed on your workstation, switch the gateway power switch to the ON position, open a terminal, and execute the following command: pyocd flash <path_to_hex> -e chip -t nrf52840 for example: pyocd flash 480-00043-R1.1.0.1676051627_mqtt_0cc2acd8_-mg100-_full_image.hex -e chip -t nrf52840 Verify: With the flashing process completed, connect to the UART of the MG100 using your prefered terminal emulator. Run the command “attr show” for details of the device’s status.