WIRELESSLY PROGRAM WITH OTA_ WITTY FOX STORM BOARD
The Witty Fox Storm Board is an ESP32 based board which features an on-board battery along with an inbuilt battery charging and protection circuit. In addition to this, breakouts of all GPIO pins, dedicated I2C and SPI ports along with a programming port are also provided. There are multiple options to charge the on-board battery, which includes a DC jack and a micro USB port.
In this tutorial, we will see how to program the Witty Fox Storm Board wirelessly using the Arduino IDE.
What you need for this tutorial:
Witty Fox Storm Board
To begin, power on your Witty Fox Storm Board and you should be able to log in to a new WiFi network with the following credentials:
Connect your computer to this network and open your Arduino IDE. You can install the Witty Fox Storm library from GitHub.
Steps to install the WFStorm library:
1. Go to the link provided above and download the repository as ZIP
2. Open Arduino IDE and click on 'Sketch' menu
3. Click on the 'Include Library' sub menu
4. From the sub menu that opens, select 'Add .zip library' option
5. Navigate to where you downloaded the library and select it
6. Press open
Once the library is installed, you can go to examples and find the WFStorm example code as shown below:
You can make minor changes to the blink function to visually verify that the code has been uploaded successfully to the board.
Once your code is ready, click the "Tools" menu. From the Tools menu select "Port". The ESP32 network port should be listed as shown below:
Select the correct network port and press the upload button. If your Arduino IDE does not show the network port, ensure your computer is connected to the Storm Board hotspot. Restart your Arduino IDE to force a rescan of network ports.
Once you press the upload button, it will look something like this.
Ensure that the wfHandleOTA is called in a non blocking manner so that the Storm Board is always listening to OTA invitations from the Arduino IDE. This means that this function should be called regularly with as minimal delay as possible so that the OTA invites are not missed. The loop function is an ideal place to call this function but in case your application has other blocking loops, you should add calls to the wfHandleOTA function in those loops as well.
Once the uploading is done, the changes in firmware should be reflected on the board.