FEATURES · LIVE PARAMETERS · NEW IN 2.7

Tune your controller without reflashing.

Change kp, setpoints or limits in KymoStudio while your device runs. The device confirms every value, and you see at once how the curve reacts.

Live parameters
KymoStudio parameter panel of an ESP32 PI controller: setpoint changed from 20 to 60 °C, confirmed by the device, marker in the chart and the temperature following

The problem

Tuning a controller usually means: change the value in code, compile, flash, wait, watch – twenty times. Every round costs minutes and breaks the link between a change and its effect.

What Kymotrace does

The firmware reports its tunable variables with limits and unit. KymoStudio shows them in a panel next to the source, sends new values back and evaluates the device's answer.

How it works

  1. 1The firmware reports its parametersOne line per variable with limits. KymoStudio asks for the list when the source connects.
  2. 2You set the valueField or slider in the parameter panel. Values outside the limits are never sent.
  3. 3The device confirmsConfirmed, rejected or no answer – never silent. A marker in the chart shows the moment.

In the firmware

With KymoCore 7.1: list the variables, pass on the received bytes, done. The back channel has its own switch; without it, it is not in the code at all, and KymoStudio's receive path stays unchanged.

Full example: PI controller in KymoProbe →

static float kp = 0.2f, setpoint = 45.0f;

static const KymoParameter params[] = {
    KYMO_PARAM(100, kp,       0.0f, 10.0f, ""),
    KYMO_PARAM(102, setpoint, 20.0f, 90.0f, "\xC2\xB0" "C"),
};
static KymoParamReceiver receiver;

// setup()
KymoParam_Init(&receiver, params, KYMO_COUNT_OF(params));
// loop(): pass on the received bytes
KymoParam_Feed(&receiver, rx, n);

Key points

  • Over serial, TCP, UDP and MQTT; CAN with parameters created by hand
  • The firmware checks every value itself and has the last word
  • Answers are normal signals: record, export, compare
  • Through MCP for Claude Code and Codex too: set a value and wait for the confirmation

Honest limits

  • Single numbers (float); several axes together are set by the firmware itself
  • No automatic parameter list over classic CAN
  • UDP only after the device sent its first datagram; MQTT needs a send topic
  • Needs KymoCore 7.1 in the firmware

Try it with the PI controller example.

Download KymoStudio 2.7.0 Quick start