Skip to content

Controller

A mechanical logic box. It reads sensors, compares numbers, and switches things on or off, following a program punched into a Punch Card.

It's the step up from a Timer or Bimetallic Strip: it can watch more than one thing, compare against any number you like, and switch several things at once.

Crafting

P C P
P S P

P is a Copper Plate, C is a Redstone Comparator and S is a Shaft.

Setting it up

  1. Write a program onto a Punch Card at the Programmer.
  2. Right-click the Controller with the printed card to put it in. Right-click with an empty hand to take it out.
  3. Connect the Controller to a turning shaft. It's mechanical, and it only thinks while it's being turned. It connects on any side and takes 2 Su; even a Hand Crank (12 Su) is enough while you're turning it.

If the shaft stops, the controller stops making decisions, and everything it controls stays as it was last set.

What it can read

Anything you can link as a sensor:

What it can switch

Anything that turns on and off:

A true signal switches the target on: clutch engaged, valve open, damper open, engine running, breaker closed. False switches it off.

It controls energy, not machines

A controller never runs a machine. It can only connect to the things that let energy through (a clutch passes rotation, a valve passes air or steam, a breaker passes current) and open or close them. The hammer, the crucible and the bellows don't know it exists.

In a factory those are all on/off switches, so the controller's whole answer is on or off. There's no "half open". If your crucible swings back and forth around the target, that isn't a programming problem. Fix it physically: a heavier vessel, insulation, less air per stroke. See Bimetallic Strip.

Car parts are the other thing it can connect to, and the rule is the same there. An engine's throttle is how much fuel and air the engine gets, so it's a flow of energy too. It just takes a number instead of on/off, which is why a Math card's number can set it (and, later, a car's steering). A number sent to a clutch or valve does nothing.

Holding a band

A single comparison ("bellows on below 1380") flips the switch every time the reading crosses the line, which can be many times a second. That's hard on anything that wears when switched under load, like a Breaker.

The fix is a band (a deadband): turn on below the bottom, turn off above the top, and in between leave it as it is. The controller has no memory, but the switch does, so read it back:

on if (temperature < 1360) OR (temperature < 1400 AND the bellows clutch is already on)

Link an Input card to the clutch itself and it reads yes while the clutch is engaged. Inside the band the clutch keeps doing whatever it was doing.