Connect to a Thread network

A Thread board does not join Wi-Fi. It joins a mesh, and something on that mesh carries its traffic to the internet. Setup needs the credentials for that mesh.

You need a border router

Thread devices talk to each other, not to your router. A border router is the one device that bridges the mesh onto your home network — an OpenThread Border Router on a Raspberry Pi, or a commercial hub that acts as one. Without it a perfectly configured board joins a mesh that goes nowhere.

Setting up a border router is outside Warblet. If you do not have one yet, the OpenThread project's own guide is the place to start.

The dataset is the credential

A Thread network is described by an Active Operational Dataset: the network name, channel, PAN ids and the network key, packed into one hex string. It is what setup asks for, and it is the whole configuration in one field.

On an OpenThread border router, the command that prints it is:

ot-ctl dataset active -x

It answers with a long line of hex. Copy the whole thing. A commercial hub usually exports the same value from its app, sometimes as a QR code or a “credentials” export.

Treat a dataset like a password. It contains the network key, and anyone holding it can join your mesh. Nothing here prints a real one, and neither should anything you paste into a chat or an issue.

Entering it in setup

  1. 1Find Thread network dataset. It is in the setup card's Network section, which is open on the card for every board — one installing a Thread demo and one keeping the firmware it already has.
  2. 2Paste the hex into the dataset field. When that field is filled it is the whole configuration and the separate name, key, channel and PAN id fields are ignored.
  3. 3Press Set up device. The review's Network row will say the Thread network is what goes down the cable.

Setup checks the shape before it sends: a dataset is hex, an even number of characters, and at most 508 of them. If you prefer the discrete fields, the network key is 32 hex characters, the PAN id is 4, the extended PAN id is 16, and the channel is 11 to 26.

Checking it worked

  • On the border router, ot-ctl child table and ot-ctl neighbor table list what has actually joined. A board that joined appears there.
  • On Warblet, the device page is the answer that matters: a stored message means the board joined, reached the border router, and got out.
  • A board that joined but sends nothing is usually a routing problem beyond the mesh, not a Thread one. No data yet walks that.

Setup cannot read what the board already stores, so it never claims a network is joined. It says what it sent, and the first stored message is the proof.