Strict Standards: Static function Automattic\Jetpack\My_Jetpack\Product::get_name() should not be abstract in /home/invisib3/ on line 141

Strict Standards: Static function Automattic\Jetpack\My_Jetpack\Product::get_title() should not be abstract in /home/invisib3/ on line 148

Strict Standards: Static function Automattic\Jetpack\My_Jetpack\Product::get_description() should not be abstract in /home/invisib3/ on line 155

Strict Standards: Static function Automattic\Jetpack\My_Jetpack\Product::get_long_description() should not be abstract in /home/invisib3/ on line 162

Strict Standards: Static function Automattic\Jetpack\My_Jetpack\Product::get_features() should not be abstract in /home/invisib3/ on line 169

Strict Standards: Static function Automattic\Jetpack\My_Jetpack\Product::get_pricing_for_ui() should not be abstract in /home/invisib3/ on line 176

Strict Standards: Static function Automattic\Jetpack\My_Jetpack\Product::get_manage_url() should not be abstract in /home/invisib3/ on line 183
Tutorial – Uploading code to your wand | The Wand-Ring Project


To do this, you’ll need:

  • A HUZZAH32 (these instructions assume that yours is part of a fully-assembled Wand-Ring wand – at least the electronic parts),
  • A computer running a relatively modern version of Linux, OS X, or Windows with an active Internet connection, and
  • A cable to connect your HUZZAH32 to your computer. Likely one with a standard male USB connection on one end and a male micro USB connection on the other end.

Step 1: Download and install the Arduino IDE

You need an Integrated Development Environment (or IDE) that can talk to the HUZZAH32. That IDE will let you upload programs to it (and ultimately modify and make your own, if you want to).

Follow the instructions from the official Arduino website to download and install the Arduino IDE on your computer. Ignore the links to the web-based IDE – it can not do what we need it to do.

Step 2: Add the HUZZAH32 to the Arduino IDE’s list of supported boards

The Arduno IDE is (understandably) made to program Arduino microcontrollers. It doesn’t come pre-packaged knowing how to talk to the HUZZAH32 (or any ESP32-based microcontroller). You need to add the board definitions for the ESP32 to the Arduino IDE.

We recommend the following instructions up to, but not including the “Testing the Installation” instructions.

After you do this, you need to tell the Arduino IDE that you’re using the HUZZAH32. In the Arduino IDE, open the Tools menu and hover over “Board.” In the “ESP32 Arduino” section, click on “Adafruit ESP32 Feather” to select it.

Step 3: Download the core Wand-Ring software

We keep all “official” Wand-Ring code on our GitLab project page in the “code” folder:

There are lots of neat, different programs for you to upload to your Wand-Ring wand. Let’s start with the standard multimodal program. Click on the link for “propwing-clicks-and-modes.ino”

In the upper-right corner, just above the code, you’ll see a cloud-shaped Download icon:

Click it to download and save the core Wand-Ring software on your computer. Odds are good that it’ll save it in a “Downloads” folder; you may want to move it somewhere else (like in an “Arduino” folder in your main “Documents” folder). Regardless of what you do, make a note of where it is – you’ll need it in Step 6.

Step 4: Add needed libraries to Arduino IDE

The core Wand-Ring software relies on other pieces of software to function. These other pieces of software are called “libraries.” You need to add these libraries to your Arduino IDE of the core software will not work correctly.

You’ll need the following libraries:

  • PainlessMesh (This is our temporary “good enough for now” networking solution, but we’re implementing a better one!)
  • AsyncTCP (PainlessMesh relies on this library to function.)
  • FastLED (This very clever library makes it easy to create fancy light effects with the LEDs.)
  • Adafruit Unified Sensor (This is Adafruit’s standard base library for gathering and interpreting data from sensors, like the accelerometer.)
  • Adafruit LIS3DH (This library helps gather and interpret data from the accelerometer on the Prop-Maker.)

To add these libraries to your Arduino IDE, you’ll need to use the Library Manager. To open the Library Manager, Open the Tools menu, then click on “Manage Libraries.”

Use the “Filter your search” box in the upper-right to search for each library. For each one you find, click “install” to install it. When you’ve found and installed each one, proceed to the next step.

Step 5: Connect your HUZZAH32 to your computer

Connect your HUZZAH32 to your computer with the USB-to-micro USB cable.

Confirm that the Arduino IDE can see your HUZZAH32: In the Arduino IDE, open the Tools menu and hover over “Port.” You should see an option for “SLAB_USBtoUART.” That’s the connection to your HUZZAH32. Click on it to select it.

Step 6: Open the core Wand-ring software and upload it to your wand

You’re almost there! Just one more step to go!

Find the propwing-clicks-and-modes.ino file you saved in Step 3 and open it. The Arduino IDE should automatically try to open it, but it’ll say it needs to put it in a folder. Let the IDE create a folder for the file and move the file into the newly-created folder.

When the wand-ring-core file opens, its window should have five buttons in the upper left corner. Click the one with the arrow pointing to the right. That’ll transfer (upload) the code from your computer to your wand.

If all goes well, you should see some text that looks like this (the exact numbers may differ) at the bottom of the window:

…and after a few seconds, the wand will begin to flicker at random.

Congratulations! You’ve uploaded the core wand-ring software to your wand!

Next Steps…

The code you uploaded to your wand has several modes. To change from one mode to the next, give the (handle of the) wand a gentle bump. To learn what each mode does, you can play with the wand and learn by experimenting, or you can use our Multimodal Walk-Through.