Uno R4 minima myservo.writeMicroseconds

I was trying to perform a sweep of a new servo using an UNO R4 Minima. While using the writeMicroseconds function, I noticed that the servo was moving in intervals of about 27 degrees (Servo 270°). Implementing some debug serial.print in the code, I noticed that the servo only moved when the microseconds reached multiples of 100. For example, from 500 to 599, it didn't move, then at 600, it moved by 27 degrees and remained still until 699. By connecting an oscilloscope to Arduino's pin 9, I observed that the PWM signal didn't change until it exceeded 100 microseconds. Thus, the output signal took fixed values of: 500, 600, 700, 800, 900... When loading the same code into a classic Arduino UNO R3 Atmega328p, the code works, and the servo sweep is correct.

Funny you should mention that.

Two hours ago, I did a comment on the open Servo library issue:

Servo/src/renesas at master · arduino-libraries/Servo (github.com)

Which described that.

Note: there is another recent thread that talks about jitters and not smooth:
UNO R4 WIFI - Unexpected servo movements - UNO R4 / UNO R4 WiFi - Arduino Forum

1 Like