settings.yml
Overview
settings.yml contains configurations for the Winder BLDC motor winding machine and is placed in the root directory.
These parameters can be adjusted based on the specific motor being wound and the desired winding process.
You can calibrate the parameters by running scripts/calib.py with your winding machine.
serial
port
The serial port to which Aotenjo Master is connected. Default is /dev/ttyACM0.
baudrate
The baudrate for the serial communication. Default is 115200.
logging
level
The logging level for the application. Default is INFO.
motor
Common Parameters for all Motors
The following parameters are common to all motors (M0, M1, M2, M3).
direction
The direction of the motor.
velocity
The velocity(rad/s) of the motor in simulation mode.
Common Parameters for M0, M1, and M2
These parameters apply to M0, M1, and M2, which operate under closed‑loop angle control.
The one firmware is based on the SimpleFOC library, which implements a PID controller for angle control.
The parameters below correspond directly to the PID configuration fields in SimpleFOC.
vP
Proportional gain.
Matches the motor.PID_velocity.P parameter in SimpleFOC.
vI
Integral gain.
Matches the motor.PID_velocity.I parameter in SimpleFOC.
vD
Derivative gain.
Matches the motor.PID_velocity.D parameter in SimpleFOC.
The vP, vI, and vD parameters are used to tune the PID controller for each motor.
Adjusting these values can help achieve better performance and stability during the winding process.
For tuning guidance, see:
Quick Reference: Parameter Effects.
pP
Angle‑loop proportional gain.
Matches the motor.PID_angle.P parameter in SimpleFOC.
voltage_limit
Matches the motor.voltage_limit parameter in SimpleFOC.
This defines the maximum voltage applied to the motor.
Increasing this value increases available torque.
Since driver.voltage_power_supply = 24V, the motor behaves as follows:
voltage_limit = 24 ➡️ full power
voltage_limit = 12 ➡️ half power
voltage_limit = 6 ➡️ quarter power
Recommended values:
- M0: 6.0
- M1: 6.0
- M2: 24.0
velocity_limit
Matches the motor.velocity_limit parameter in SimpleFOC.
This sets the maximum allowed motor speed.
Increasing this value allows faster winding, especially for M2.
lpfTf
Matches the motor.LPF_velocity.Tf parameter in SimpleFOC.
This is the time constant for the velocity low‑pass filter.
For more details on PID parameters, see the SimpleFOC documentation.
Motor-Specific Parameters
The following parameters are specific to each motor (M0, M1, M2, M3) and are used to configure the winding process for different motors.
M0
M0 is the motor that controls the linear motion of the stator.

wind_range_end
The position where the arm winds to the end of the slot.
wind_range_start
The position where the arm winds from the root of the slot.
end_to_zero
The distance between wind_range_end and zero of M0.
M1
M1 is the motor that rotates the stator.
zero
The position of M1 exactly aligned with the stator holder.
end_to_rotating_position
The distance between wind_range_end and the rotating position of M1.
M2
M2 is the motor that winds the wire around the stator.
zero
The position of M2 when the arm is at 12 o'clock position.
angle_to_prevent_collision
The angle to prevent collision between the stator and the wire.
M3
M3 is the motor that controls the wire tension.
pull_wire_torque
The torque applied by M3 to pull the wire.
wind_torque
The torque applied by M3 during winding.
winding
turns
The number of turns per slot. Default is 75.
starts_at
The first slot number to wind. Default is 0.
winding_config
The winding configuration string. Default is "AaAabBbBCcCcaAaABbBbcCcC". This string represents the winding sequence for a 24n22p motor.
For more about the winding configuration, please refer to Winding Configuration.
dont_move_m3
Whether to move M3 during winding. Default is false.