To setup the WICED Feather on Windows, the following steps are necessary:
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-1.2.6.0.exe.
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
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/feather_dfu.py).
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 setup.py 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:
cd \tools\source\feather_dfu python feather_dfu.py info
This should display something resembling the following output:
Feather ST32F205RGY 353231313533470E00420037 FF:FF:FF:FF:FF:FF 1.0.0 3.5.2 0.5.0 0.5.0 Mar 8 2016
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:
On Windows, you can check if the device is enumerating properly with the following free tool: http://www.nirsoft.net/utils/usb_devices_view.html
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
Page last edited March 08, 2024
Text editor powered by tinymce.