Browser
Use Chrome or Edge. Safari and Firefox can't talk to USB boards.
Raspberry Pi Pico
- Hold BOOTSEL while plugging the Pico in. A drive called
RPI-RP2 (Pico / Pico W) or RP2350 (Pico 2) appears in Finder.
- Click Select Pico drive. The picker opens in Documents. That's normal.
- Choose the drive under Locations in the sidebar, or press ⌘⇧G and type
/Volumes/RPI-RP2 (or /Volumes/RP2350).
- Click Select, then Edit files when Chrome asks.
When the Pico reboots, macOS may warn “Disk not ejected properly”. That's expected and harmless.
ESP32
- Click Connect ESP32 and pick the port that appeared when you plugged the board in:
cu.usbserial-…: boards with a CP2102 chip
cu.wchusbserial-…: boards with a CH340 / CH9102 chip
cu.usbmodem…: ESP32-S3 / C3 using their built-in USB
- Nothing listed? In Terminal run
ls /dev/cu.* with the board unplugged, then plugged in. If no new line appears, try another cable. If it still doesn't show, install the
WCH driver (CH340/CH9102) or the
Silicon Labs driver (CP2102).
Browser
Use Chrome or Edge. Firefox can't talk to USB boards.
Raspberry Pi Pico
- Hold BOOTSEL while plugging the Pico in. A drive called
RPI-RP2 or RP2350 appears in File Explorer (e.g. D: or E:).
- Click Select Pico drive, choose This PC in the left pane, pick the Pico's drive and click Select Folder.
- Click Edit files when Chrome asks.
If Chrome won't open the drive, use Download file instead in step 3 and drag the downloaded .uf2 onto the Pico's drive in File Explorer. It does exactly the same thing.
ESP32
- Click Connect ESP32 and pick the
COM port, usually labelled Silicon Labs CP210x, USB-SERIAL CH340, or USB JTAG/serial debug unit (ESP32-S3 / C3).
- Nothing listed? Open Device Manager → Ports (COM & LPT). If the board shows under Other devices with a yellow warning, it needs a driver:
Silicon Labs CP210x or
WCH CH340. Install it and replug the board.
- Windows only lets one program use a COM port at a time. Close Thonny, Arduino IDE, PuTTY or any serial monitor first.
Browser
Use Chrome, Chromium or Edge. Firefox can't talk to USB boards. With the Snap version of Chromium, also run sudo snap connect chromium:raw-usb.
Raspberry Pi Pico
- Hold BOOTSEL while plugging the Pico in. The drive usually mounts at
/media/$USER/RPI-RP2 (or /run/media/$USER/… on Fedora and Arch).
- Click Select Pico drive, open that folder, then allow Edit files.
ESP32
- The board appears as
/dev/ttyUSB0 (CP2102 / CH340) or /dev/ttyACM0 (ESP32-S3 / C3 built-in USB).
- Port missing or “permission denied”? Give your user serial access, then log out and back in:
sudo usermod -aG dialout $USER
(On Arch, use uucp instead of dialout.)
- On Ubuntu, a CH340 board that connects and instantly disappears is being grabbed by the braille driver. Remove it:
sudo apt remove brltty
Browser
The built-in Chrome works. Nothing to install.
Raspberry Pi Pico
- Hold BOOTSEL while plugging the Pico in. It shows up as
RPI-RP2 or RP2350 in the Files app sidebar.
- Click Select Pico drive, choose that drive, then allow Edit files.
ESP32
- Click Connect ESP32 and pick the board from the list.
- School or work Chromebooks can block USB devices. If nothing ever appears, that may be why.
On every computer
- Use a data cable. Many USB cables only charge. This is the most common reason a board “isn't detected”.
- Plug in directly, not through an unpowered hub.
- ESP32 won't connect? Hold BOOT, tap RESET (sometimes EN), let go of BOOT, then click Connect again.
- Pico drive not showing? Unplug, hold BOOTSEL before plugging in, and keep holding until the drive appears.
- Close other serial programs (Thonny, Arduino IDE, serial monitors). Only one app can use the board at a time.