---
title: "Start PID Controller Calibration"
method: POST
path: "/api/v1/reel/pid-calibration/start"
tags: ["v1", "pid-calibration"]
---

# Start PID Controller Calibration

`POST /api/v1/reel/pid-calibration/start`

Initiates the automated PID controller calibration process for the active hold position feature. 
This endpoint starts an automated calibration routine that optimizes the PID controller 
parameters for maintaining precise motor position control.

The calibration process performs a systematic tuning sequence that oscillates the motor 
position in small increments while automatically determining optimal PID gains. During 
calibration, the reel will move small amounts (a few degrees) as the system tests different 
parameter values. The system will either complete successfully when it finds the ultimate 
gain value or timeout after 45 seconds and cancel the procedure automatically.

This calibration is typically performed at the factory and should not be necessary during 
normal operation. The process requires the motor position encoder to be installed and the 
active hold position feature to be enabled in system settings. Ensure adequate unwound cable 
length (approximately 1 meter minimum) before starting calibration to accommodate the 
automated movement sequence.

## Response `200`

Successful Response

- StartPIDCalibrationResponse — Response from initiating PID controller calibration for active hold position
  - `action` string, required — The action that was requested or performed by the endpoint
  - `error` boolean, required — Indicates whether the operation encountered an error
  - `error_msgs` string[] — List of error messages if the operation failed
  - `result` PIDCalibrationResult, required — PID calibration operation result containing current calibration status
    - `calibrating` boolean, required — Indicates whether the PID controller is currently in calibration mode. True when PID calibration is active and tuning parameters, False when calibration is completed, cancelled, or not running.

## Other responses

- `401` — Could not validate credentials
- `403` — Setup required before using this endpoint
- `500` — Internal server error

---

[API](https://skmtc.net/reach-systems-tech/apis/reelapi-v1.md) · [All operations](https://skmtc.net/reach-systems-tech/apis/reelapi-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reach-systems-tech/reelapi-v1/versions/1dd366a9c6a3/schema)
