← Projects

Project — Hardware & console integration

spotmon

A remote followspot system. Operators point a moving light by hand from a station built out of a dead one, and the whole spot look — levels, iris, diffusion, which character each spot is on — lands on a single magic sheet at the console.

Arduino DMX512 ETCnet ETC Eos Magic sheets
The spot magic sheet showing intensity and iris faders beside the cue list, with the camera monitor at left and the stage below
The magic sheet on the right, the operator’s camera monitor on the left, stage below.
01 The operator’s station

A dead moving light you can point by hand

Not every room has a followspot position. This puts the operator anywhere with a sightline and the fixture anywhere in the rig.

How it works

The station is the carcass of a Martin MAC 250+ — head, yoke and base, gutted. The operator takes the two grips and pans and tilts it exactly as they would a real spot. Absolute encoders on the pan and tilt axes read that movement, an Arduino in the yoke turns it into DMX, and a live moving light hanging somewhere else in the room follows.

There is a fader on each grip for intensity and iris, and a camera on the live fixture feeds the monitor mounted on the head. The op frames the shot from the light's own point of view rather than their own — which is the whole trick, because it means the station does not have to be anywhere near the beam.

The remote followspot station: a monitor mounted on the yoke showing the stage from the fixture's point of view, with a grip handle either side
The crosshair is exactly where the beam is pointing.
System diagram: MAC 250+ head with monitor and two grips with faders, encoders and Arduino Uno on the mount, 5V supply in the base, DMX out to a node, and a camera on the live mover feeding the monitor over BNC
SPI from the encoders, RJ15 from the grips, DMX out to a node, BNC back from the camera on the live fixture.
ChassisMartin MAC 250+ head, mount and base, stripped and retrofitted
PositionTwo 12-bit SPI absolute encoders — 4096 counts per revolution — on the pan and tilt axes
BrainArduino Uno with a Conceptinetics DMX shield, running as a DMX master
Output16-bit pan and tilt as coarse/fine channel pairs, plus intensity and iris from the grip faders
VisionCamera on the live fixture, BNC back to a monitor on the remote head
Power & data5 V supply in the base, 12 V for camera and monitor, DMX out to an ETCnet node

Making it hold still

The interesting engineering is not reading the encoders — it is getting the beam to stop twitching. At 16-bit resolution a single count of encoder dither is visible on a face at thirty feet, and absolute encoders dither constantly.

  • Seven samples, take the most frequent. Each axis is read seven times per pass and the mode wins, which throws out one-off jitter without the lag of a rolling average.
  • Then a deadband. Inside a small window the last value is simply held, so a stationary spot is dead solid. Outside it, movement tracks immediately — no smoothing, no float.
  • The faders get the same treatment — oversampled ADC reads, their own deadband, and an endpoint snap so full off and full on always latch. A followspot fader that cannot quite reach 100% is worthless.
  • Encoders are allowed to fail. The SPI read gives up after a few milliseconds, deselects to resync the bus, and reuses the last known good position. A spot that lags one frame is survivable; a spot whose control loop has hung is not.

The travel is mapped rather than raw: pan is clamped to a window either side of centre and spread across the fixture's useful range, and tilt runs from level down to its bottom stop. The physical throw of the yoke then matches what the light can actually do, so the op is never fighting a dead zone at the end of the movement.

Wider view of the remote followspot station at the back of house
The station sits where there is a sightline, not where the light is.
Detail of the retrofitted hardware inside the yoke
Inside the yoke — encoders, wiring and the DMX run out.
02 Into the console

Two paths, on purpose

The obvious way to build this is to run everything through the desk. That is the wrong answer for framing: the op needs the light to move the instant their hands move, and putting a console in the middle of that loop buys nothing. So the signal splits.

  • Pan and tilt go direct. Straight from the station to the node feeding the mover. The desk never sees them.
  • Iris and intensity go through the console. The Arduinos send them into ETCnet nodes, the nodes hand them to Eos, and Eos maps them onto faders — so the desk treats the op's grip faders as real, visible, recordable values.

That split is what makes the rest possible. Framing stays immediate and entirely in the operator's hands, while everything the board operator and the designer actually need to see is live on the console.

The magic sheet

Rather than a separate monitor application, the spot display is an Eos magic sheet — which means it is built in the same show file as everything else and needs nothing extra on the network.

It carries a fader for iris and one for intensity per spot, plus the state the op cannot read off a number: whether the spot is diffused or on a hard edge, and which character it is currently picking up. Both of those are driven by palettes, so changing a look is a palette update rather than a rebuild.

The Eos magic sheet showing Spot 1 intensity at 100 percent and iris at 44 percent beside a labelled cue list
Iris and intensity beside the cue list, so the standby is visible before it is called.

Spots get their own cue lists

Spot intensity and colour run on cue lists of their own, separate from the main LX list. Keeping them apart means the entire spot look sits in one consolidated view instead of being scattered through a show's worth of cues — and it can be moved, retimed or rewritten without touching the rest of the design.

The magic sheet reporting the spot as diffused and named to a character, with the operator's camera monitor alongside
Palette-driven state on the sheet — the spot reading as diffused, and named to the character it is on.

It unplugs

The whole rig can be disconnected from the system. On a show with no followspot cues the movers go back to being ordinary console-controlled fixtures, with the board operator driving them exactly as they would any other unit in the plot. Nothing about the installation forces a venue to keep it in the signal path.

Get in touch

Want one of these in your room?

It is a weekend of soldering, a moving light nobody misses, and an afternoon of magic sheet work at the desk.