To setup the WICED Feather on Linux (Ubuntu 14.04 was used here) the following steps are necessary:
UDEV Setup
On Linux you will need to add a small udev rule to make the WICED board available to non-root users. If you don't have this rule then you'll see permission errors from the Arduino IDE when it attempts to program the board.
Create or edit a file called /etc/udev/rules.d/99-adafruit-boards.rules and add the following lines:
# This file is used to gain permission for the WICED Feather module # Copy this file to /etc/udev/rules.d/ ACTION!="add|change", GOTO="adafruit_rules_end" SUBSYSTEM!="usb|tty|hidraw", GOTO="adafruit_rules_end" # Please keep this list sorted by VID:PID # WICED Feather in DFU mode ATTRS{idVendor}=="239a", ATTRS{idProduct}=="0008", MODE="664", GROUP="plugdev" # WICED Feather in Application mode ATTRS{idVendor}=="239a", ATTRS{idProduct}=="0010", MODE="664", GROUP="plugdev" ATTRS{idVendor}=="239a", ATTRS{idProduct}=="8010", MODE="664", GROUP="plugdev" LABEL="adafruit_rules_end"
Depending on your distribution you might need to change GROUP="plugdev"
to a different value like "users"
or "dialout"
. The dialout group should work for Ubuntu.
Then restart udev with:
sudo restart udev
Or on systemd-based systems like the latest Debian or Ubuntu 15.04+ restart udev with:
sudo systemctl restart udev
Install dfu-util
The WICED Feather uses USB DFU to perform firmware updates from the Arduino IDE. To enable to Arduino IDE to talk to the board you will need to install dfu-util.
Many Linux distributions include a binary version of dfu-util in their package management system, but they are often out of date and lower than the 0.8 version required by the WICED Feather.
If you are using Ubuntu 15.04 or higher, you can install dfu-util 0.8 via the following command:
sudo apt-get install dfu-util
If you are using an older version of Ubuntu or if 'dfu-util -v
' displays an older version like 0.5 you will need to buid dfu-util from source, as described below.
Building dfu-util From Source (Ubuntu 14.04 etc.)
Ubuntu 14.04 and several other distributions use dfu-util 0.5 which is too old for the WICED Feather (which requires dfu-util version 0.8 or higher).
To build dfu-util from source run the following commands (Ubuntu 14.04 is assumed here), first install the required build dependencies:
sudo apt-get install git sudo apt-get build-dep dfu-util sudo apt-get install libusb-1.0-0-dev
Then download the git repo containing the dfu-util source:
git clone https://git.code.sf.net/p/dfu-util/dfu-util cd dfu-util
Then build the dfu-util from source:
./autogen.sh ./configure # on most systems make
You can then install and verify dfu-util via the following commands, which should show version 0.8 or 0.9 for dfu-util:
sudo make install hash -r dfu-util -V
Testing the Installation
You can check if dfu-util was installed correctly by running the following command with the WICED Feather connected:
dfu-util --list
This should give you the following output:
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/ Found DFU: [239a:0008] ver=0200, devnum=6, cfg=1, intf=0, path="2-1", alt=0, name="@Internal Flash /0x08000000/02*016Ka,02*016Kg,01*064Kg,07*128Kg", serial="00000000001C"
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/feather_dfu/feather_dfu.py).
To use these Python tools, you will need to have Python available on your system (which most Linux distributions do by default), but you will also need a few additional libraries to make the python scripts work.
Running the following command from the command line will install these dependencies:
sudo pip install --pre pyusb sudo pip install click
Testing the Installation
You can test if Python is setup correctly by going to the '/tools/feather_dfu' folder in the WICED Feather BSP and running the following command with the WICED Feather connected:
cd tools/feather_dfu sudo 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.
External Resources
For further details on setting up Linux for the WICED Feather see the following links:
Page last edited March 08, 2024
Text editor powered by tinymce.