Servo library limited range

hi
just an FYI: did you notice that the servo library will cut off the range even if you force the writeMircoseconds? it will not do a full 500 to 2500 range.

The normal range for a servo signal is between 1000 and 2000 microseconds so why are you surprised that it will not do 500 to 2500 ?

i have some really expensive special RC high power servos where the manufacturer tells me to use 500-2500 for the entire range which I really need. I sent them back already thinking there was a problem. I expect the library to do what you tell it so if I say writeMicroseconds 500 I want 500 not some cutoff signal. same at 2500. found out the servo even goes to 2600. I just use my own signal generator script then that works.

I expect the library to do what it is designed to do

What have you got the max and min pulse width values set to in the attach() for the servo

Forego a servo library.

From Servo.h
attach ( pin, min, max ) - Attaches to a pin setting min and max values in microseconds
default min is 544, max is 2400

Try
myservo.attach(servoPin, 500, 2600);
Leo..

Ok tried it. still doesnt work correctly

You can try editing the servo.h file with notepad++
On my win11 machine it's in Program Files (x86)/Arduino/libraries/Servo/scr

#define MIN_PULSE_WIDTH       544     // the shortest pulse sent to a servo  
#define MAX_PULSE_WIDTH      2400     // the longest pulse sent to a servo 
#define DEFAULT_PULSE_WIDTH  1500     // default pulse width when servo is attached
#define REFRESH_INTERVAL    20000     // minimum time to refresh servos in microseconds

Leo..