ArduinoStudio

Program an ESP32 with blocks, then run it over Wi-Fi

Skip the toolchain, the board packages and the web server sketch. Build with visual blocks, install the firmware from your browser, and press Play.

The short answer

ArduinoStudio programs an ESP32 with visual blocks instead of code. You plug the board in once, install ArduinoStudio-FW from Chrome or Edge and set up Wi-Fi. After that, Play runs your project on the board over Wi-Fi with no cable, from any browser where you are signed in. The browser runs the program, so keep the page open.

Works today

  • Firmware installed from the browser: one click on the classic ESP32.
  • Blocks over Wi-Fi: Standard LED, Servo, Button, Photoresistor, Switch and Potentiometer.
  • Wiring diagrams drawn for the ESP32 DevKit.
  • Dev mode shows the Arduino code your blocks make.
  • Pin checks before a run: an ADC2 pin while Wi-Fi is on, or an input-only pin used as an output, is refused.

Not yet

  • The Relay, RGB LED, Thermometer, IR motion sensor, Piezo buzzer and DC motor blocks over Wi-Fi, and the other blocks marked Not yet below.
  • Brightness, Mode and Color on the Standard LED. Over Wi-Fi it is on or off.
  • Running with the page closed, or without internet.
  • Bench tests on the ESP32-S2, S3 and C3.

No toolchain to install

No Arduino IDE, no board package and no driver hunt on Chrome and Edge. The setup wizard installs ArduinoStudio-FW straight from the tab. On an S2, S3 or C3 with native USB it may ask you to press RESET or to pick the port again.

Three stages: Logic, Wiring, App

Logic holds the sequences of blocks. Wiring draws the breadboard for the ESP32 DevKit and flags pin problems. App is where you design the buttons that run your sequences.

Code when you want it

Dev mode shows the Arduino sketch your blocks make, updated on every change, and downloads it as an .ino file. On ESP32 boards a Servo uses the ESP32Servo library.

How it works

You need

  • An ESP32 DevKit
  • A USB data cable
  • A computer with Chrome or Edge
  • A 2.4 GHz Wi-Fi network
  • A USB charger to power the board

Optional parts

  • LEDs and 220 Ω resistors for your own circuit
  1. 1

    Build the logic

    Add blocks to a sequence in Logic, or start from the ESP32 Wi-Fi Lamp. Press Play to preview it with no board.

  2. 2

    Plug in once

    Connect the ESP32 with a USB data cable in Chrome or Edge, and let the setup wizard install ArduinoStudio-FW.

  3. 3

    Set up Wi-Fi

    Pick a 2.4 GHz network and enter its password. The board joins your account.

  4. 4

    Unplug and press Play

    Power the board from a USB charger. Play and the App buttons now reach it over Wi-Fi through the ArduinoStudio relay.

What runs over Wi-Fi

Every block, on USB direct and over Wi-Fi. Wi-Fi runs the same blocks as USB direct. This table comes from the same list as the components docs.

Where each ArduinoStudio block runs on a real board: USB direct and Wi-Fi
BlockUSB directWi-Fi (ESP32)
Standard LEDWorksWorks
ServoWorksWorks
ButtonWorksWorks
PhotoresistorWorksWorks
RGB LEDNot yetNot yet
DC motorNot yetNot yet
RelayNot yetNot yet
Piezo buzzerNot yetNot yet
ESCNot yetNot yet
SwitchWorksWorks
PotentiometerWorksWorks
Proximity sensorNot yetNot yet
IR motion sensorNot yetNot yet
JoystickNot yetNot yet
ThermometerNot yetNot yet
HygrometerNot yetNot yet
BarometerNot yetNot yet
AccelerometerNot yetNot yet
GyroNot yetNot yet
IMUNot yetNot yet
CompassNot yetNot yet

Notes for the blocks that run over Wi-Fi

Standard LED
On and off only, as over USB direct. A pin the ESP32 cannot drive is refused before the run starts.
Servo
Moves to Angle, then waits for Duration. An input-only pin is refused before the run starts.
Button
Reads the pin once, with the internal pull-up on, when a Check follows. A pin with no internal pull-up (GPIO 34–39 on the classic ESP32) is refused before the run starts.
Photoresistor
Takes one reading each pass from an ADC1 pin (GPIO 32–39 on the classic ESP32). ADC2 pins cannot be read while Wi-Fi is on, so they are refused before the run starts.
Switch
Reads the pin once, with the internal pull-up on, when a Check follows. A pin with no internal pull-up (GPIO 34–39 on the classic ESP32) is refused before the run starts.
Potentiometer
Takes one reading each pass from an ADC1 pin (GPIO 32–39 on the classic ESP32). ADC2 pins cannot be read while Wi-Fi is on, so they are refused before the run starts.

See a Wi-Fi project run, with no board

The Focus Companion app opens with no account and runs in the preview: a 25-minute focus timer made of Standard LED, Wait and Loop blocks. Sign in to open its Logic and change the timings.

Try the Focus Companion app

Quick answers

Do I need the Arduino IDE?

No. The setup wizard installs ArduinoStudio-FW from Chrome or Edge, and your blocks run over Wi-Fi after that. If you want the code, Dev mode downloads an .ino file you can open in the Arduino IDE; uploading it replaces ArduinoStudio-FW on the board.

Which blocks run over Wi-Fi?

The Standard LED, Servo, Button, Photoresistor, Switch and Potentiometer blocks, the same blocks that run over USB direct. If a sequence holds any other block, Play names that block and runs nothing.

Can I see the code?

Yes. Dev mode shows the Arduino C++ sketch your blocks make, updated on every change, and Download .ino saves it. On ESP32 boards a Servo uses the ESP32Servo library, which you install once in the Arduino IDE.

Which browsers work?

Chrome or Edge on a computer for the one-time USB setup, because it uses Web Serial. After that, Play and the App buttons work from any browser where you are signed in to the same account.

Is my Wi-Fi password safe?

It is stored on the board itself, together with the board’s account key, where anyone holding the board can read them. Before you give the board away, hold its BOOT button for 10 seconds or more while it runs: it erases its saved Wi-Fi networks and its account key, then restarts.

Written for ArduinoStudio v6.0, released 2026-10-18.