Update Expansion Board firmware using Windows?

  • Hello,

    I've been following the guide on


    to upgrade the firmware for the Expansion Board 3.0 using Windows. However, the guide is not really precise when stating if the Zadig software should be used or not. It guide states that the Zadig software should be used only for the PySense/Pytrack. Not for the Expansion Board. So, I just followed the instruction under the heading "Using DFU-util with Pytrack, Pysense and Expansion Board v3" which basically only says "hold down S1, plug in USB, wait 1 second, release button, run dfu-util -D.

    But the application terminates very early and returns

    "No DFU capable USB device available"

    Should I install Zadig and follow the guide form there? Even if I don't have PyTrack/PySense?

    Which application should I be using? dfu-util or dfu-util-static?

    Using Windows 10.

  • I am answering my own question.

    I never got it to work on Windows. My computer only had USB 3.0 ports and that could have been the issue.

    Running dfu-util on a somewhat old Mac-Mini did the trick:

    ...-Mini:iot ...$ dfu-util -D expansion3_0.0.9.dfu 
    dfu-util 0.9
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2016 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
    Match vendor ID from file: 04d8
    Match product ID from file: ef99
    Deducing device DFU version from functional descriptor length
    Opening DFU capable USB device...
    ID 04d8:ef99
    Run-time device DFU version 0100
    Claiming USB DFU Runtime Interface...
    Determining device status: state = dfuIDLE, status = 0
    dfu-util: WARNING: Runtime device already in DFU state ?!?
    Claiming USB DFU Interface...
    Setting Alternate Setting #0 ...
    Determining device status: state = dfuIDLE, status = 0
    dfuIDLE, continuing
    DFU mode device DFU version 0100
    Device returned transfer size 64
    Copying data from PC to DFU device
    Download	[=========================] 100%        16384 bytes
    Download done.
    state(2) = dfuIDLE, status(0) = No error condition is present

    People have had success also running the dfu-util on Linux instead of Windows and then going back to windows for development. But I guess nowadays people are more comfortable with Mac.

Log in to reply

Pycom on Twitter