To setup the WICED Feather on Windows, the following steps are necessary:

This page assumes you have already installed the WICED Feather BSP, as detailed earlier in this guide.

Install Adafruit Windows Drivers

If you are using a Windows based system, you will need to install a set of drivers for the USB DFU, USB CDC and other USB interfaces used by the WICED Feather to perform fimware updates and communicate with the device.

Adafruit provides a convenient Adafruit Windows Drivers installer that takes care of the details for you.  Simply download and install the package below:

Once the installation process is complete, you should be able to plug your WICED Feather into your system and it will be recognized thanks to the signed drivers you just installed.

Install libusb 0.1 Runtime

To use libusb (which is required to communicate with the WICED Feather), you will first need to install a pre-compiled libusb runtime.

You can install this by downloading and running libusb-win32 driver, taking care to select the file named libusb-win32-devel-filter-

Make sure to DISABLE the 'Launch filter installer wizard' option at the end of the installation process!

Install Python 2.7

Python is used by the WICED Feather for a number of cross-platform tools and scripts, meaning that you will need to install Python 2.7 (ideally 2.7.9 or higher) on your system in order to communicate with the board.

Depending on whether you are running a 32-bit (x86) or a 64-bit (AMD x64) version of Windows, download the installer linked below and start the installation process:

During the installation process make sure that you enable the option to add Python to the system path (the option is disabled by default). This is required for the Arduino IDE to be able to access the python scripts it needs to communicate with the WICED Feather:

Testing the Python Installation

Once the installer is finished you can open the command line and enter the following command to test the availability of Python on your system:

python --version

You should see something like this:

Python 2.7.11

Install Python Tools

Update: Recent versions of the BSP now include a pre-compiled version of the feather_dfu tool in the '/tools/win32-x86/feather_dfu' folder, which should run on most systems once the libusb dependencies above are installed. You will still need python for the pycert tool though.

The WICED Feather BSP uses a few Python based tools to allow the Arduino IDE to talk to the hardware in a platform-independent manner (specifically tools/source/feather_dfu/

To use these Python tools, you will need a few additional libraries to make the python scripts work.

Running the following command from the command line will install these dependencies:

pip install --pre pyusb
pip install click

This will display some basic progress data on the installation process, and you should end up with something resembling the following output:

C:\Users\me>pip install --pre pyusb
Collecting pyusb
  Downloading pyusb-1.0.0rc1.tar.gz (53kB)
    100% |################################| 57kB 1.3MB/s
Installing collected packages: pyusb
  Running install for pyusb
Successfully installed pyusb-1.0.0rc1

Testing the Installation

You can test if Python is setup correctly by going to the '/tools/source/feather_dfu' folder in the WICED Feather BSP and running the following command with the WICED Feather connected:

This step assumes you have already installed the Arduino IDE and the WICED Feather BSP, detailed earlier in this learning guide.
cd \tools\source\feather_dfu
python info

This should display something resembling the following output:

Mar  8 2016
If you don't see any output when running this tool and you are using a new board, you may need to flash a user sketch to the module via the Arduino IDE. See the 'Arduino IDE Setup' page in this guide for details on how to flash a user sketch.

Optional: Install AdaLink

If you ever need to reflash the USB DFU bootloader on the WICED Feather (which will require either a Segger J-Link or an STLink/V2), you will also need to install a utility called AdaLink.

AdaLink acts as a simple python-based abstraction layer between various HW debuggers, and the different ARM MCU families that we use at Adafruit.

For installation instructions on AdaLink see the Readme file in the git repository.

Setup Problems

If you are having problems after running through all of the setup steps above, you may find the following information useful:

I can get my device in DFU mode (fast blinky on the red LED), but the two USB CDC (COM) ports never enumerate. I have the USB drivers installed, though. What's wrong?

On Windows, you can check if the device is enumerating properly with the following free tool:

If everything is working correctly, and the WICED Feather is plugged in and enumerating properly, the 'Adafruit Industries' devices will be highlighted in green:

If your board isn't connected, the Adafruit Industries devices options above should still appear in gray, which means that the drivers are at least installed correctly.

If you can only get your board to work in DFU mode (either every time it starts up, or by forcing DFU mode by setting the DFU pin to GND and resetting), you probably need to reflash FeatherLib as well as a valid sketch, which is described in this FAQ. However, you can also update FeatherLib directly from the Arduino IDE as follows:

  • Set the DFU pin to GND on your WICED Feather
  • Reset the device with DFU connected to GND, which will force it to enter USB DFU mode, and you should see a fast blinky pattern on the RED LED, indicating that you are in DFU mode.
  • Disconnect the DFU pin from GND.
  • With Adafruit WICED Feather selected as the Board Target, changed the section to Feather Lib (Release).
  • Now compile any simple sketch, and flash it to the device. This will compile the sketch, but Feather Lib will actually be flashed, not the sketch you just compiled.
  • Once the flashing process is done, change the section back to User Code and then flash your sketch again, which will now flash a simple sketch. A blinky example is best since you can see the results.
  • When you reset your device, you should now have an updated FeatherLib as well as a valid user sketch, meaning that the two USB CDC ports can enumerate, since a valid code entry point has been found in the valid user sketch.

If you continue to have problems, please post to the Adafruit Support Forum with the following information:

  • A screenshot from the USB Device View tool showing the Adafruit Industries entries if present (to validate driver installation)
  • Indicate whether you can successfully enter DFU mode by connected the DFU pin to GND and resetting.
  • The results of running the dfu-util -l command with the WICED Feather connected, which will let us know if the USB DFU device was detected

This guide was first published on Mar 23, 2016. It was last updated on Mar 26, 2024.

This page (Windows Setup) was last updated on Mar 08, 2024.

Text editor powered by tinymce.