``` ```

Shape Former Manager

Control heater, pump, stepper, loadcell — and run cycles with live feedback.

```
-
Serial
0.000 mm
Local displacement

Cycle Monitor

Live machine state
STATUS
IDLE
STEP
-
REPEAT
-
REMAINING
-
TARGET TEMP
-
CURRENT TEMP
-
TARGET FORCE
-
CURRENT FORCE
-
HEATER
-
PUMP
-
CONTROL MODE
-
WAITING FOR
-

Temperature

Live from sensor
TEMP
-

Weight / Force

Live from loadcell
WEIGHT
-

Position

Live from stepper
POS_STEPS
-
POS_MM
-

Heater & Pump

Manual control
-
Port
Last Error
-

Stepper

Move relative steps

Loadcell

Tare & zero

Cycle

Run your configured steps

Current Steps

Stored in current_steps.json
[]

Cycle Charts

Force / Displacement / Temperature over time

Saved Cycles

Stored in cycles.json
{
  "cycles": [
    {
      "created_at": "2026-01-24T12:25:27.607983",
      "id": 1,
      "steps": [
        {
          "displacement": 20.0,
          "force": 20.0,
          "temp": 20.0,
          "time": 20.0
        },
        {
          "displacement": 10.0,
          "force": 20.0,
          "temp": 80.0,
          "time": 20.0
        }
      ]
    },
    {
      "created_at": "2026-01-24T12:25:33.118520",
      "id": 2,
      "steps": [
        {
          "displacement": 20.0,
          "force": 20.0,
          "temp": 20.0,
          "time": 20.0
        },
        {
          "displacement": 10.0,
          "force": 20.0,
          "temp": 80.0,
          "time": 20.0
        }
      ]
    },
    {
      "created_at": "2026-01-24T12:27:02.312254",
      "id": 3,
      "steps": [
        {
          "displacement": 20.0,
          "force": 20.0,
          "temp": 20.0,
          "time": 20.0
        },
        {
          "displacement": 10.0,
          "force": 20.0,
          "temp": 80.0,
          "time": 20.0
        }
      ]
    },
    {
      "created_at": "2026-02-03T09:34:47.326641",
      "id": 4,
      "steps": [
        {
          "force": 0.0,
          "temp": 60.0,
          "time": 10.0
        }
      ]
    }
  ]
}