The Microsoft Azure IoT Developer Kit (AZ3166) board is built for prototyping Internet of Things (IoT) solutions and getting started quickly and easily. As part of this ease of use, the firmware flashing process for the device is extremely simple to do as well. You don’t need any special device drivers, special hardware or anything. If you can connect it to your computer over USB, then you can upgrade the firmware of the AZ3166 board.

Is an Update Available?

Before upgrading the firmware on your Azure IoT Developer Kit (AZ3166) board, you may want to first check if there’s a firmware update available. The board actually makes this extremely simple to do. When you power on the board, and it’s connected to Wifi, the default display will be to show you the Current version of the firmware that it is running. Additionally, since it’s on Wifi and able to connect to the Internet, it will also show you the version number of the latest available firmware too. This makes it extremely easy to tell if there’s an update available that you might want to update to.

Here’s an image of the display that you should see on your device telling you both the Current firmware version the AZ3166 device is running, as well as the Latest firmware version available:

Azure IoT DevKit: Upgrade Firmware - MXChip, AZ3166 2

How to Install Latest Firmware

Installing a new firmware, or upgrading the firmware, of the Azure IoT Developer Kit (AZ3166) board is extremely easy to do. You basically just download the latest firmware binary file, then copy it to the device over USB from your computer. Once copied, the device will automatically reboot and flash the new firmware.

Here’s the simple steps to follow to flash an updated firmware to your Azure IoT DevKit device:

  1. Connect the Azure IoT Developer Kit board to your computer using a USB cable. You can connect to any Windows or macOS computer.
  2. Download the latest firmware from the following URL, or the official documentation page.
  3. Locate a storage device connected to your computer named AZ3166. This is the Azure IoT Developer Kit board that is connected over USB.
    Azure IoT DevKit: Upgrade Firmware - MXChip, AZ3166 3
  4. Once you have downloaded the Firmware Update (it will be a .bin file), simply copy/paste the file to your AZ3166 device.
  5. Once the file is copied, the Azure IoT Developer Kit device will automatically reboot, flash the new firmware to it’s memory, then boot back up again. When it’s completed, your device will be ready to use again.
  6. It will also display the new Current firmware version on the default display after being updated. This helps you ensure that the firmware flash did succeed successfully. Additionally, it won’t show the “Latest” firmware display if there isn’t an update available. So after flashing the latest firmware to your device, it should display similar to the following:
    Azure IoT DevKit: Upgrade Firmware - MXChip, AZ3166 4

The Microsoft team, along with the team at MXChip, working on the Azure IoT Developer Kit board have done a really amazing job at making this board extremely easy to use. While not the most secure in terms of using for Production solutions, it’s a great setup to use for Prototyping and Learning purposes. After all, this isn’t meant to run anything Production anyway, since it’s really all about lowering the barrier to entry when Prototyping and Learning Azure IoT.


Posted by Chris Pietschmann

Chris is a Microsoft MVP and has nearly 20 years of experience building enterprise systems both in the cloud and on-premises. He is also a Microsoft Certified Azure Solutions Architect and developer, a Microsoft Certified Trainer (MCT), and Cloud Advocate. He has a passion for technology and sharing what he learns with others to help enable them to learn faster and be more productive.


  1. […] Azure IoT DevKit: Upgrade Firmware – MXChip, AZ3166 (Chris Pietschmann) […]


  2. Why would you consider the MXChip board “not the most secure” for production?


    1. Chris Pietschmann January 28, 2018 at 6:23 pm

      The Microsoft Azure IoT DevKit (AZ3166) board is built as a prototyping platform, it’s not meant to be used as a securely hardened IoT device to deploy out into Production. As a result, I wouldn’t recommend it be used in a Production environment that requires a secure device.


  3. Hello,is it possible to upgrade firmware remotely? what if deploy hundreeds of mxchip and need to upgrade them?


    1. Chris Pietschmann January 26, 2018 at 11:30 am

      I’m not aware of a way to update the firmware remotely. The Azure IoT Developer Kit (AZ3166) board is built to be a prototyping and learning platform. It’s not really meant to use for Production deployments.


  4. Lewis Harris-Manley January 30, 2018 at 8:41 am

    Hi Chris,
    My device isn’t appearing in my file explorer as a drive… also when I try to reset using A+B buttons, nothing seems to happen…


    1. Chris Pietschmann February 2, 2018 at 6:12 pm

      I’m not sure, it should just work. Are you certain your USB port and/or USB cable is working correctly? Try a different USB device to make sure.


    2. Did you ever fix your issue as my device is having the same problems you listed above?


  5. Can I put the DevKit back to factory default?


    1. Chris Pietschmann February 21, 2018 at 10:32 am

      I believe the “default” app running on the device is in the GitHub repos for the Azure IoT DevKit. I’d have to look again to find it, but you don’t really need to reset back to the “default” app.


  6. Hi, happened the same thing to me. I could not see the az3166 drive in my Win 10 PC, although power was fine, change to a different USB cable and it worked. The brand new USB cable from the box did not work….!


    1. Rodrigo Sanchez March 7, 2019 at 5:58 am



  7. Cable seems a common problem!


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.