This PID control simulator allows you to try out a PID controller interactively by adjusting the tuning parameters in realtime. Also, you can adjust the process model by Javascript code below. This simulator was developed by porting the Arduino PID library and the Arduino-PID-AutoTune-Library to Javascript.
time: tune step tune noise tune start tune loopback (sec)

Process example:

Sample time (ms):
Setpoint:
Noise:
Kp (proportional gain):
Ki (integral gain):
Kd (derivative gain):

Process function (model): control input = function(time, input, noise, output, user):

Process function parameters:
output: control output
function return value: control input
noise: user-defined process noise
input: last control input (optional)
user: custom variable to store long-term data (optional)
time: current time (ms) (optional)

Manual tuning hints

Further links