The espressif ESP32 is a great and very popular processor used on lots of development boards. However, its lack of native USB has kept it from getting a CircuitPython build - for reasons... Until now!

The new web workflow feature being added to CircuitPython 8 has brought the ESP32 back to the scene. For wifi enabled boards, like the ESP32, web workflow allows connecting to a board running CircuitPython over the local network using a web browser. Now it's easy to use the REPL or upload/download files using a browser!

In this guide, we show how to get the CircuitPython web workflow up and running on a supported ESP32 based board.

Remember! There Will Be No CIRCUITPY Folder

It is important to remember that the ESP32 lacks native USB support and therefore no CIRCUITPY folder will show up. Loading CircuitPython firmware and getting wifi setup is done over a serial connection (a.k.a a COM port) instead of a folder.

That's really the whole point of this guide. Because of this, the process for getting things setup on the ESP32 is different and more involved than other boards. So we're giving it some special attention. However, once setup, using web workflow is generally the same as other boards - you will upload library files, assets like fonts and images, and .py files for running your project

Variants with Native USB

Web Workflow can be used on wifi capable boards with native USB, like ones based on the EPS32-S2 or ESP32-S3. However, the native USB also allows for direct editing of code stored on the CircuitPython board, which is the generally easier and "standard" approach. This guide mainly focuses on the non-native USB ESP32 since it is more involved to get setup with CircuitPython and Web Workflow. But this does not mean Web Workflow is only available on ESP32.

This guide was first published on Aug 18, 2022. It was last updated on Apr 01, 2024.

This page (Overview) was last updated on Apr 01, 2024.

Text editor powered by tinymce.