The firmware (FAIO_Firmware) can be downloaded from the GitHub repository under software directory.
The firmware includes three files:
Note: Make sure all three files are included in your local copy of FAIO_Firmware directory before uploading it to the Adafruit Feather 32u4 Bluefruit LE board.
The downloaded firmware can be uploaded to the Adafruit Feather 32u4 Bluefruit LE board in FAIO Switch using Arduino IDE which you can download from Arduino official website.
There is a great instructions manual on how to use Arduino IDE and Adafruit Feather 32u4 Bluefruit LE board which can help you get started using Arduino IDE and install necessary Adafruit drivers.
FAIO Switch is using nRF51 Bluetooth chip to communicate with host devices. Bluetooth communication might seem complicated but Adafruit has made the bluetooth communication process less challenging by providing Adafruit nRF51 BLE Library which you can download from Adafruit and import it to your locally installed Arduino directory under libraries directory.
The instructions on how to install Adafruit nRF51 BLE Library can be found in following link:
You can go ahead and upload the downloaded firmware (FAIO_Firmware.ino) to Adafruit Feather 32u4 Bluefruit LE board using Arduino IDE once all the necessary libraries are installed.
It’s very important to make sure the correct Board and port number are selected as selecting the wrong board may result problems with bootloader of Adafruit Feather 32u4 Bluefruit LE board.
Here you can see an example of my selected Board and port number.
Note: Your port number won’t be the same
You can now go ahead and upload the firmware. Arduino IDE will show you a “Don uploading” message indicating the firmware is uploaded to your FAIO Switch.
The LED on the FAIO main board blinks two times in red and green to indicate the start of initialization process has been started and it will blink again two times in red and green to indicate end of the initialization process.
You can also open the Serial Monitor in Arduino IDE ON 9600 baud rate to read initialization information.