Skip to content

Connecting over WiFi

The editor can connect to a board over WiFi instead of USB. Once connected over WiFi, everything works the same as over USB: deploy, the console, Tools → Check status, and clicking an inject node.

What you need

  • A board with WiFi and the ThingStudio runtime. Plain Raspberry Pi Pico and Pico 2 boards have no WiFi.
  • A flow on the board that uses WiFi and has joined your network. The board is only reachable while that flow is running. It starts again by itself after a reset.
  • A board password, set over USB.
  • This computer on the same network as the board.
  • On a Mac, ThingStudio started from Apple's Terminal app. See If it doesn't connect.

Set the password and name

  1. Connect the board over USB.
  2. Choose Tools → Board settings…. The top line names the board these settings apply to: its chip, USB port and current name.
  3. Enter a network name and a password of 8 to 64 characters, then click Save to board.

The name and password are stored on the board, not in the flow. The editor also remembers the password on this computer. A board with no password only accepts USB.

A new name is used from the next time the board joins WiFi. Reset the board to use it straight away.

Connect

Click ⟳ next to the port list. Boards on your network appear in the port menu under WiFi. Pick one and click Connect.

If the board isn't listed, choose WiFi address… and type its name (for example kitchen or kitchen.local) or its IP address.

If this computer has no saved password for the board, the editor asks for it.

A board with no password is listed as no password set. It won't accept a WiFi connection until you set one.

Connected over USB, the console says whether the board can take a WiFi connection now:

[wifi] kitchen is on a network at 192.168.1.42 (kitchen.local): you can connect over WiFi
[wifi] kitchen is not on a network: WiFi connects need a running flow that joins one

Good to know

  • Only one editor can connect over WiFi at a time.
  • Board settings can only be changed over USB.
  • Installing the runtime and Tools → Remove flow… need USB.
  • If the board loses power or leaves WiFi range, the editor shows it disconnected within about 30 seconds.
  • Deploying a flow that doesn't use WiFi takes the board off the network at its next reset.
  • The password is never sent over the network, but the connection isn't encrypted. Use it on a network you trust.

If it doesn't connect

The console says what went wrong:

  • No route to host (Mac): macOS is blocking local network access. The first time ThingStudio reaches for the network, macOS asks whether it may find devices on your local network; choose Allow, then click Connect again (the attempt that raised the question can fail). If you chose Don't Allow, turn thingstudio-python on in System Settings → Privacy & Security → Local Network, then restart ThingStudio. When running from source (thingstudio-backend), macOS may block it without asking: start it from Apple's Terminal app instead, which macOS always allows.
  • No answer: check the board is on, its flow has joined WiFi, and this computer is on the same network. If a .local name doesn't work, try the IP address, shown in the console when you connect over USB.
  • Wrong password: the editor asks again. To change it, connect over USB and use Tools → Board settings….
  • Already has a network session: another editor is connected. Disconnect it first.
  • No password set or Connection refused: the board has no password, so it only accepts USB. Set one over USB in Tools → Board settings…, then click ⟳.
  • Board not listed: click ⟳ again. If it's still missing, check its flow has joined WiFi, or use WiFi address…. If the console says the WiFi scan didn't run, the reason follows; on a Mac it's usually the Local Network permission (see No route to host above).