I just bought one of the Mini Maestro 12 servo controllers and it works well (once i finally got it working). I am currently controlling it from a Arduino and had a few issues getting the code working. I am not sure if the mini and the micro use different command bytes, or i just have a newer firmware then the post i tried to model my code from (https://forum.pololu.com/t/additional-chassis-level/41/1 - didn’t work for me)
Point is, this works for the Mini Maestro 12:
void setup()// run once, when the sketch starts
{
Serial.begin(9600);// set up Serial library at 9600 bps
pinMode(13, OUTPUT); //for test led
}
void loop()// run over and over again
{
put(0,3000);
digitalWrite(13, HIGH);
delay(1000);
put(0,4000);
digitalWrite(13, LOW);
delay(1000);
}
void put(unsigned char servo, unsigned int angle){
//servo is the servo number (typically 0-7)
//angle is the absolute position from 500 to 5500
//Send a Pololu Protocol command
Serial.print(0xAA,BYTE); //start byte
Serial.print(0x0C,BYTE); //device id
Serial.print(0x04,BYTE); //command number
Serial.print(servo,BYTE); //servo number
//Convert the angle data into two 7-bit bytes
Serial.print(((angle>>7)&0x3f),BYTE); //data1
Serial.print((angle&0x7f),BYTE); //data2
}
Now i am trying to get the set speed function to work, but I’m running into the same issue. is there a full list of commands available for this hardware?