Update Expansion Board firmware using Windows?
-
Hello,
I've been following the guide on
https://docs.pycom.io/pytrackpysense/installation/firmware.html
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.
-
This worked for me on Win10:
Video
https://www.youtube.com/watch?v=FkycTZvj-ssAccompanying blog post
https://core-electronics.com.au/tutorials/pycom-pysense-pytrack-firmware-update.html
-
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 Done!
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.