Maestro to Maestro

Greetings,
I have enjoyed several of your components for 15 years now.
2 of the most useful and often employed components in my collection are my 2 Mini Maestro 12s.
Just love those things.

A current project has me completely out of my understanding.
In the end, I would like to connect the two in a direct Input/Output relationship.
Meaning, I have successfully built a device consisting of potentiometers which I plugged in to all 12 inputs on one Maestro. I can view the successful connections in the Command Center… Now I wish to have that pushed to the other Maestro as outputs to RC Servos…

But for some reason I just cant make it work. and I cannot find anyone who has done it. I was also told I might not be able to do it directly, but might need an Arduino board in the middle… I have a few MEGA boards laying around but I am not really coding-smart.

If you can point me to maybe a tutorial or give some advice…
Any help would be greatly appreciated!!

Hello.

I have moved your thread to the “Servo controllers and servos” section of the forum since it seems more appropriate.

There are a few options you could consider:

  1. If each of your inputs controls a separate servo, you might consider just connecting 6 potentiometers and 6 servos to each Maestro, to avoid the complexity of having them communicate with each other.

  2. If that is not practical in your setup for some reason, since you are using Mini Maestros you could write a script that reads all 12 of the analog inputs and sends TTL serial signals to the other Maestro to update the servo positions using the “SERIAL_SEND_BYTE” command. The script for that would look something like this:

0xAA serial_send_byte #send 0xAA to automatically detect baud rate if necessary

begin
  analog_read_all_channels  #reads the analog input on the specified channel and scales it to approximately 4000-8000
  update_all_servos # set associated servo based on the value of the analog input
repeat


sub analog_read_all_channels #reads analog inputs on all channels and scales them to approximately 4000-8000
  11 begin dup -1 greater_than while
    dup get_position    # get the value of the pot, 0-1023
    4 times 4000 plus # scale it to 4000-8092, approximately 1-2 ms
    swap 1 minus repeat
  drop
return 

sub update_all_servos # sends "Set Multiple Targets" command with compact protocol for all 12 channels
  
  0x9F serial_send_byte
  0x0C serial_send_byte
  0x00 serial_send_byte

  0 begin dup 12 less_than while
    swap
    dup 0x7F bitwise_and serial_send_byte
    7 shift_right 0x7F bitwise_and serial_send_byte
    1 plus repeat
  drop

return

For that to work, the second Maestro (with the servos connected to it) would need to be set to the one of the UART serial modes, and you would need to connect the TX pin of the first Maestro to the RX pin of the second, as well as a common ground connection.

  1. Lastly, you could use something like an Arduino like you mentioned to read the analog inputs and send serial commands to a Maestro with the servos connected to it. If you choose this option, I recommend using our Maestro Servo Controller Arduino Library to help make the programming easier. Additionally, if you give it a try and have problems, you can post what you have so far here, and I would be happy to help.

Brandon

HOLY #%@&!!!
It WORKS!!!

You and I are gonna have a Beer some day!!!

1 Like