The Witty Fox Storm Board is an ESP32-based board that features an onboard 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 onboard battery, which includes a DC jack and a micro USB port.


Buy the Witty Fox Storm Board.


Check out our Getting Started with Witty Fox Storm Board blog below, before going further into this tutorial to get your Storm Board up and running.


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: 

  • Arduino IDE
  • 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:

SSID: Storm32

PASSWORD: wittyfox


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.



Tutorial Video Link:




You may also like to read

Frequently Asked Questions

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.

You may also like to read