update-banner

A warm hello from the Adafruit IO team!

Today we’re excited to show you the improved Adafruit IO firmware installer that makes it easier than ever to get started on IO with a WipperSnapper-compatible device.

Here’s a short video if you prefer to watch, and a detailed blog post follows.

The Story Thus Far…

Last year, we added a firmware installer to IO that walked users step-by-step through the process of flashing the WipperSnapper firmware to their boards. It was great!

firmware-installer-uf2-flow

But, it only worked for boards with UF2 bootloader support, what about boards without?

Browsers + Tools = Browser Tools

We try make things surprisingly simple for WipperSnapper, so we reached for the new Web Serial API and Adafruit’s own @makermelissa ported some key firmware tools to JavaScript (details). In what seemed like no time, we had an experimental web page (source) that could flash the WipperSnapper firmware onto these boards. Hurray!

external-web-serial-firmware-installer

For folks who can’t (or prefered not to) use the web-based tool, we added an option to download the firmware as a file that can be flashed in the traditional manner at the command line.

How Did It Go?

There were a few reasonably concerning things about this experiment:

  • Redirecting users a stand-alone site might be jarring.
  • Connecting to USB ports from a website is new and surprising.
  • No design or UX pass: it’s function over form.

But it turns out it’s pretty good! Measuring by the sheer quantity of these boards we’ve seen connect, it must be working out well for our users.

So we did the natural thing: we built it into IO!

The New, Improved Firmware Installer

Let’s take a quick look at it here.

We select our board and enter our WiFi credentials. In this flow, the credentials (including our AIO Key) are written to the board automatically, along with the firmware.

select-a-board

Web Serial Installer

If the board is compatible with the Web Serial flow (and we’re using a compatible browser), we’ll get step-by-step instructions that guide us straight through the process of installing WipperSnapper: no code or command lines required!

web-serial-step

MergeBin Installer

And if we don’t want to use the Web Serial flow for any reason, the MergeBin-based download flow is also built in, with nice instructions and snappy performance.

merge-bin-step

Guides, Guides, Guides

What would a new feature be without some Learn Guide content to go with it? Here’s the guides for the 5 boards we currently support with this flow:

That’s It (For Now!)

With these updates and lots more to come, we hope to see your project built on WipperSnapper soon!

Technical Footnote:

These are the firmware tools that were ported to JavaScript (and open sourced!) in the creation of this feature:


As always, if you have any suggestions or bugs to report about these new features, please let us know in the forums.