The easiest way to build WipperSnapper firmware on your computer is by using a combination of Microsoft Visual Studio Code (VSCode) and PlatformIO

Navigate to https://code.visualstudio.com and install the latest version of the VSCode editor. 

Once downloaded and installed, open VSCode and navigate to the Extensions tab (If you do not have this tab, you can find it using the toolbar by navigating to Settings->Extensions).

Search for the PlatformIO extension.

Select the PlatformIO extension and click Install.

Fork WipperSnapper Firmware

To contribute to WipperSnapper, you will need to create a copy of the WipperSnapper project's repository. This copy is called a fork and you will use it to make changes to WipperSnapper before submitting them to the official project repository.

Sign in to your Github.com account and navigate to the WipperSnapper firmware repository.

Click the "Fork" button to fork your own copy of the adafruit/Adafruit_Wippersnapper_Arduino repository.

Click "Create Fork" and wait a few seconds for GitHub to create a copy of the WipperSnapper repository on your account.

Clone WipperSnapper Firmware

Next, let's clone your fork of the Wippersnapper firmware so we can download it, make changes locally, compile it, and eventually send your changes up to the official repository.

On the page for your forked repository, click the green Code button. The dropdown should present a link like the one below:

https://github.com/brentru/Adafruit_Wippersnapper_Arduino.git

Copy the link to your clipboard.

Using a terminal program, enter the following command to clone the forked repository to your computer. Be sure to replace youruserid with your GitHub user ID, and paste the URL from your clipboard. 

git clone -o youruserid https://your-fork-URL

Now that the WipperSnapper firmware is local on your computer, check out a new branch and move on to the new step - building WipperSnapper.

If you are unfamiliar with how to check out a new branch, Kattni wrote a great overview of the process here...

Open WipperSnapper Firmware in PlatformIO

Open Visual Studio Code and click Open to bring up the file explorer.

Navigate to the Folder containing your local copy of Adafruit_Wippersnapper_Arduino and click Open.  

VSCode should open to WipperSnapper's platformio.ini file. A notification on the bottom-right of your VSCode instance shows a message that PlatformIO is configuring the project and installing the required libraries to build WipperSnapper.

When the libraries finish installing, you should see a notification (or terminal output) that the "Project has been successfully updated!".

Click the PlatformIO logo (it looks like an alien's head) on the left-hand side of the VSCode editor to open PlatformIO.

Under PlatformIO's Project Tasks tab, every board WipperSnapper supports is listed as a folder.

Select the board you'd like to build for. For example, I have an Adafruit Feather ESP32 v2 and I will select the featheresp32v2 board from the dropdown.

When PlatformIO is loading tasks for a new environment, a blue clock appears on top of the logo. Wait until the blue clock disappears before continuing the build process.

When PlatformIO loads the featheresp32v2 environment, you should see a Build step underneath featheresp32v2->General->Build. 

Click Build and PlatformIO should begin to build WipperSnapper firmware for the Feather ESP32 V2.

Once WipperSnapper builds successfully, the terminal will show SUCCESS along with the time it took to build.

Congrats- you've successfully built WipperSnapper locally! 

Upload Locally-Built WipperSnapper Firmware

To upload and test WipperSnapper on your device, you will need to specify the upload_port belonging to your device.

Within VSCode, open the platformio.ini file and navigate to the board you are using. Using this guide as an example, we previously compiled for the Adafruit Feather ESP32 V2. The build environment looks like the following.

Next, add the upload_port for your board. This port name varies but will take the form of:

  • /dev/ttyUSB0 - Serial port (Unix-based OS)

  • COM3 - Serial port (Windows OS)

On the VSCode sidebar, click the PlatformIO logo.

Under Project Tasks-> Your Board (for this example, the board is featheresp32v2), click Upload to upload WipperSnapper firmware to your development board.

After the PlatformIO upload succeeds, press the RESET button on your board and navigate to https://io.adafruit.com/devices

If the upload was successful, you should see your board connected to Adafruit IO!

This guide was first published on Mar 10, 2022. It was last updated on Jul 16, 2024.

This page (Build WipperSnapper with PlatformIO) was last updated on Mar 08, 2024.

Text editor powered by tinymce.