bleibt shoulder_pos ja float und wird nocht zum uint8_t oder?
Ja shoulder_pos bleibt float


aber wegen dem Problem format '%f' expects type 'double'...
ich habe bis jetzt bei printf mit floats immer %f verwendet (allerdings nur am PC und nicht am µC!!!)

probier vielleicht einmal statt %f, %g oder %e