Home

HomeChapter 04 / 8BLE · libmapper · UDP

Implemented

215 words · 1 min read · Arsh Shah

Sensing

Many signals, one vocabulary

Devices disagree about transport, timing, and shape. RowSim’s input layer makes those differences disappear before they reach the simulation. Native libmapper, a Python UDP bridge, and Concept2 PM5 BLE all become InputEvents, so stroke arbitration and renderer updates can reason about meaning rather than packet formats.

Transport is not meaning

libmapper, UDP, and PM5 BLE become InputEvents before they touch the field. Adding a sensor is a provider problem, not a solver rewrite. Dourish’s embodied interaction is the reason the conversion happens so early: the host should reason about a stroke, not about a packet.[040] Höök’s somaesthetic design makes the same demand from the other side: the body, not the packet, is the site of meaning.[062] The floor, not a headset, is the mixed-reality register.[081][Th.]

InRouteSinklibmapperNative · 2 msUDPPort 8080PM5 BLELocked snapPython bridgeInputRouterFan-in · 50 Hz logEvent sinkMain-thread meaning

Input vocabulary

Many transports, one event.

Producers disagree about cables and clocks. They agree once they become InputEvent. Dashed satellite: Python bridge → UDP.

01 · ProvidersThree transports, one vocabulary: libmapper, UDP (via the Python bridge), and PM5 BLE all emit InputEvent.

Fig. 04.1

libmapper, UDP (Python bridge dashed), and PM5 BLE converge on InputRouter, then the main-thread sink as InputEvent.

Events converge before state changes

Distinct queues, one main-thread sink. Ingest latency is measured; the display path is not.

ProducersBoundarySinkMapper poll2 ms · bgPM5 BLENotify · lockedUDP listenerPort 8080Copy · normalizeCross to mainMain sinkClock normalize

Event timing

Converge before mutate.

Sensing stays concurrent on the edges. Meaning and cooldown clocks meet only at the sink.

01 · QueuesMapper, BLE, and UDP arrive on different tempos. None may touch Metal from their queue.

Fig. 04.2

Mapper, BLE, and UDP stay on separate queues; copy/normalize hands off to the main sink with clock normalization.

Arbitration before the field

The study used the handle IMU and the PM5 together. Both sensors stayed live. Arbitration picks the fastest source for each pull and drops the duplicate, so one stroke cannot write two drives.

HandleConsoleBoth liveFastestDriveIMUHandle · livePM5Console · liveArbiterFastest sourceOne driveNo duplicate

Stroke arbitration

Pick the fastest. Drop the echo.

Both sensors stay live. The first packet to arrive owns the pull; the slower copy is discarded.

01 · Both liveThe handle IMU and the PM5 stay on. Two clocks, two packets, one pull.

Fig. 04.3

The study used IMU + PM5. Both stay live; the fastest source owns the pull and the duplicate is dropped.

A stroke forks into wake and boat speed

Displacement becomes a trail; boat speed becomes the carrier. Trail strength and force are attenuated on the way to the floor.

InputForkResultStrokeIMU + PM5Wake trailOar displacementBoat speedForce against dragFloorTrail + speed

Trails & physics

One stroke, two jobs.

A stroke paints the wake and drives boat speed on separate paths. They meet again on the floor.

01 · StrokeEvery stroke starts here — same gate as Fig. 4.3. The fastest source already won.

Fig. 04.4

A stroke forks into wake trail (oar displacement) and boat speed (force against drag), then they meet on the floor.

Works cited

Superscripts use the thesis bibliography number. Click a number to return to the first mention.

  1. [040]

    Paul Dourish (2004).

    Where the Action Is: The Foundations of Embodied Interaction.

    MIT Press.

  2. [081]

    Paul Milgram and Fumio Kishino (1994).

    A taxonomy of mixed reality visual displays.

    IEICE Transactions on Information and Systems, E77-D(12), 1321–1329.

  3. [062]

    Kristina Höök (2018).

    Designing with the Body: Somaesthetic Interaction Design.

    MIT Press.

  4. [Th.]

    Arsh Shah (2026).

    RowSim: Designing and Evaluating Ambient Interaction in Mixed-Reality Rowing.

    Master’s thesis, Dalhousie University, Halifax, NS.

    ch. 3hdl.handle.net/10222/86331PDF