Datasheet
TMC2209 DATASHEET (Rev. 1.03 / 2019-JUN-26)   70 
www.trinamic.com 
OTP programming
Determine stand still current 
settings (IHOLD, IHOLDDELAY) and 
sense resistor type (internal_Rsense)
Find nearest value fitting for 
PWM_GRAD initialization from 
table OTP_PWM_GRAD
Determine chopper settings 
(CHOPCONF and PWMCONF)
spreadCycle only 
mode?
Go for 
otp_en_spreadCycle=1
Y
N
Mix spreadCylce 
and stealthChop?
Find nearest value fitting 
for TPWMTHRS from 
table OTP_TPWMTHRS
Y
N
Note all OTP bits to be set 
to 1.
Are all OTP bits 
programmed?
N
Y
Choose a bit to be programmed and write 
OTP byte and bit address to OTP_PROG 
including magic code 0xbd
Finished
Wait for 10ms or longer
All bits set in 
OTP_READ?
Y
Re-Program missing bits 
using 100ms delay time
N
Figure 16.4 OTP programming 










