Start here

Connect two things.

One phone is nice. Two phones, or a phone and a board, is where FIELD gets interesting.

This guide picks up after Your First FIELD. It assumes you already know the four words — Actor, Role, Cue, Mechanism — and that you have built at least one small thing.

You will meet three scenarios, then learn how to add even more devices, then build one real project that uses everything.

Two phones

No laptop needed once paired. Good for two people, face to face.

Two boards

No phone, no router. Good for an installation in a corner with no Wi‑Fi.

Phone + board

The normal FIELD way. Everything lives on one canvas, at once.

One thing does not change

However many devices you connect, each one is still just an Actor with senses and reactions. A Cue does not care if it is joining two phones, two boards, or one of each. Learn the pattern once.

scroll · or use back / next below
Scenario 1

Two phones, talking directly.

You and a friend each hold a phone. Tilt yours, and something changes on theirs — with no laptop in the room after you set it up.

FIELD calls this Phone Export. The two phones send data straight to each other, phone to phone, once they've paired.

  1. On your computer, add two Actors — one for each phone — with the senses and reactions you want. Draw the Cues between them like normal.See two Actors joined by a Cue, same as any project.
  2. Open the Connect menu and choose Phone Export. Pick which Actor is Phone A and which is Phone B.See the export panel with two dropdowns.
  3. Click Export HTML.See one file download — a single page, nothing else to install.
  4. Send that one file to both phones (AirDrop, a chat message, anything) and open it in a browser on each.See the same page, on both phones.
  5. On each phone, tap which Actor that phone is holding.See a 4‑letter room code appear on the first phone.
  6. Type that same code into the second phone.See both phones report "connected".
What the laptop is actually for

Both phones need the FIELD server (your computer) only for a few seconds, to trade the room code. After that, sensor data flows phone‑to‑phone directly. You can close the laptop.

Good to know
  • Works for TILT, SHAKE, TOUCH, SOUND, BUTTON, SLIDER, TOGGLE. Other sense types are skipped and the panel tells you which.
  • A CHORUS Cue (many senses feeding one reaction) is not supported in this export — swap it for a simpler mechanism first.
  • Both phones must share Wi‑Fi with the FIELD server during pairing only — not while playing.

The connection type behind Phone Export is called WebRTC. The brief handshake where the phones trade the room code through your computer is called signaling. Once that's done, the link is direct, phone to phone — this pattern is called P2P (peer‑to‑peer). None of these names matter for using FIELD; they're just what the underlying tech is called if you go looking.

Scenario 2

Two boards, no phone, no router.

Two ESP32 boards send sensor data to each other over their own radio — no Wi‑Fi network required at all.

FIELD calls this connection type ESP‑NOW (a feature built into the ESP32 chip itself). Good for outdoor pieces, or any spot where you cannot rely on a router.

Only for ESP32

This trick needs the ESP32 chip specifically — not a classic Arduino, not an ESP8266. Picking it in FIELD switches your board choice to ESP32 automatically.

  1. Set up each board's Actor as usual — one input role, one output role, wired to real sensors and parts.See two Actors, each with its own hardware.
  2. Open Get Code for Board 1. In the connection choice (next to USB and Bluetooth), pick the direct‑radio option, leave the "Peer MAC" field blank, and upload.See the upload log end with "done".
  3. Do the same for Board 2 — direct‑radio option, Peer MAC blank, upload.See both boards now sending and listening over radio.
  4. If this is your only pair of ESP‑NOW boards, you're done — an empty Peer MAC field means "talk to anyone nearby", and there's no one else to confuse it with.See Board 1's sensor drive Board 2's output, immediately.
More than one pair in the room?

With several ESP‑NOW pairs running nearby, an empty Peer MAC field means every board also listens to every other pair's traffic. Lock each pair together like this:

  1. Read Board 1's own address off its Serial output — FIELD's own connection log works, or the Arduino IDE's Serial Monitor. It prints once at startup; you only need to catch it that one time, and this has nothing to do with the ESP‑NOW radio traffic itself.See a short code like AA:BB:CC:DD:EE:FF.
  2. Read Board 2's address the same way.See Board 2's own address.
  3. Paste Board 2's address into Board 1's Peer MAC field and upload again to Board 1. Paste Board 1's address into Board 2's Peer MAC field and upload again to Board 2 — each board needs the other one's address, so both boards get re‑flashed.See two fresh uploads, one per board.

Now each board only accepts messages from the specific address you gave it, ignoring any other pair nearby.

Turn a knob on Board 1, and whatever Board 2's output role controls — a light, a motor, a sound — reacts immediately. It works exactly the same as everything else in FIELD, just carried over radio instead of a wire.

Scenario 3

One phone, one board, both on the same canvas.

This is the way FIELD works most of the time. The laptop stays open and acts as the hub. Nothing needs pairing codes or MAC addresses — you just add both as Actors.

ActorPhone
FIELDyour Cues
ActorBoard
  1. Add a Phone Actor with an input role, and connect it the usual way — the sensor QR code, same as in Your First FIELD.See live values from your phone's motion or touch.
  2. Add a Board Actor. Give it an input role wired to a real sensor (a light sensor, a button) and an output role wired to a real part (an LED, a small motor).See both pins set in the Actor panel.
  3. Upload to the board with one‑click upload, over USB.See the board come alive and report values.
  4. Draw a Cue from the Phone's sense to the Board's reaction. Pick a mechanism.See tilting your phone move the physical part on the board.
  5. Draw a second Cue the other way — from the Board's sense to something on screen, or back to a reaction on the phone's own sketch.See touching the board's sensor change something on your screen.
Why start here, not with the two "no laptop" tricks

This mode is the most flexible: any Actor's sense can drive any other Actor's reaction, you can add a third or fourth Actor any time, and Scenes can turn whole groups of Cues on and off. Reach for Phone Export or ESP‑NOW only once you know you want to leave the laptop behind.

Scaling up

Now add a third, a fourth, a tenth device.

The model never gets bigger than four words. Only the number of Actors and Roles grows.

More senses on one Actor

A single Actor can carry several of the same sense — say, twelve TOUCH roles for twelve buttons on one board. FIELD numbers them for you (first one plain, then "_1", "_2", and so on), and each one is still a normal Role you can draw a Cue from.

More kinds of device, without writing code

  • OSC — bring in values from apps like TouchDesigner, Max, or Ableton.
  • MIDI — use music gear (a keyboard, a fader box) as a sensor.
  • MQTT — bring in a value from anywhere on the internet, like another building or a public weather feed, as if it were a local sensor.
  • Bluetooth (BLE) — connect wireless sensor boards without a USB cable.

Each of these shows up in the same Connect menu you used for the phone and the board. Once connected, it behaves exactly like any other Role, ready for a Cue.

New hardware, without new role types

If you have a sensor chip FIELD does not know yet, a plugin teaches it — a single small file, no install step. A plugin never invents a new kind of sense; it only teaches an existing one (TOUCH, LIGHT, SOUND…) how to talk to one more chip. See Add a Custom Sensor for a full walkthrough.

A real screen as an output

Display Studio lets you design a picture for a small hardware screen — icons, text, bars — and bind pieces of it to your senses or Cues, the same way you would bind a Cue to an LED.

Try this

Take the phone‑and‑board project from the last chapter. Add one more device — a second phone, or an OSC value from a laptop app — and draw one new Cue into it. Notice that nothing about the first two Actors had to change.

Build one · putting it together

The Weather Duet.

One phone, one board, and a screen — three Actors working together, with a Scene that changes the mood.

Here is what you are building: tilt your phone and a cloud drifts across a sketch. The board's real light sensor sets how bright the sky looks. Shake your phone, and a storm begins — the board's LED starts flashing along with it.

The three Actors

You

TILT and SHAKE. Your phone, connected the normal way.

Board

LIGHT input from a light sensor on pin A0. GLOW output to an LED on pin 5.

Screen

MOVE and GLOW outputs, drawn by a p5 sketch.

  1. Add all three Actors with the roles listed above. Connect Board over USB with one‑click upload; connect You with the sensor QR code.See three Actors on the canvas, all reporting live values.
  2. Cue 1: You.TILT → Screen.MOVE, mechanism DIAL.See tilt turn smoothly into movement on Screen.MOVE.
  3. Cue 2: Board.LIGHT → Screen.GLOW, mechanism DIAL.See the room's real light level feed a second value.
  4. Add a Scene named Storm. Cue 3, live only in Storm: You.SHAKE → Board.GLOW, mechanism LATCH, set to trigger the Storm Scene.See a Scene selector appear with two Scenes.

sketch.js

function setup() {
  createCanvas(500, 300);
}

function draw() {
  // Screen.GLOW: real daylight sets how bright the sky looks.
  let daylight = field.get('GLOW');
  background(200 * daylight, 210 * daylight, 235);

  // Screen.MOVE: your tilt slides the cloud left to right.
  let tilt = field.get('MOVE');
  let x = tilt * 500;

  fill(255);
  ellipse(x, 90, 120, 50);       // the cloud

  // The active Scene's name, so the sketch can react to it too.
  if (field.scene() === 'Storm') {
    fill(60);
    text('STORM', 20, 280);
  }
}
Why this counts as "putting it together"

Two different device types (phone, board) drive the same sketch, through the same simple rules. A Scene turns a whole group of Cues on and off at once. And the sketch never asks where a number came from — it just asks for field.get(...).

Take it further

Swap Board.LIGHT for an MQTT subscription to a public weather feed. Cue 2 does not need to change — Screen.GLOW still just receives a number, now from across the internet instead of across the room.

You can wire a room now

Two devices was the hard part. You did it three ways.

Phone to phone, board to board, phone to board — and a project that used two device types and a Scene at once.

  • Export the Weather Duet's phone side with Phone Export, and let a friend hold it.
  • Add a third Actor — another board, another phone, an MQTT value — into the same project.
  • Try a plugin for a sensor chip you own — see Add a Custom Sensor.
  • Design a small screen for the board in Display Studio, bound to Board.LIGHT.

← Back to Your First FIELD  ·  FIELD home

Chapter 1 / 7