Maestro 18 and 24 - requires sudo to run MaestroControlCenter


FYI - I believe I have achieved partial resolution to this, but I retained all the information in case it helps: (see bottom for partial resolution)

I have a robot running either a Raspberry Pi 3A+ and the Zero. They are both set up the same. HDMI monitor, Pololu maestro controller.

On the 3A+, I installed the Linux driver, but not on the Zero. I don’t think this should matter, but just FYI.

On either Pi (3A+ or Zero), when I plug in the Pololu Maestro 18 with a test servo, it works with python code. When I use the exact same set up, but with the Pololu Maestro 24, the python code does not work. The code (simple code just to read the position) just indefinitely sticks in the terminal on the Maestro 24. The blue jumpers on the Pololu also seem to be in the same configuration.

I am under the impression you do not even need the drivers, but perhaps I have to update firmware on the Maestro 24? I honestly do not recall what I did when I first set up the Maestro 18, but I don’t recall doing much and it worked right away.

When I try to open the Maestro Control Center, I get this error message on either device (Maestro 18 and 24):

There was an error while starting up. Error connecting to device to get serial number (3 of 5, 026fe6a0). Access denied.

On the Maestro 24, I tried the shorting (hard reset) of the bootloader. After I did this, I got the double green flashing LED, then updated the firmware of the 24 and I am back to where I was. The green LED is on, the Yellow is flashing steady in a single pulse, but I cannot connect to the Maestro GUI control center, not control or even read servos from the python script. (The python script does work on the Maestro 18, but not for the 24).

FYI - I am pretty sure the Maestro 18 was previously recognized in the Maestro Control Center, but now I am getting the ‘access denied’ on both. Perhaps something bad happened when I added the 24 to the situation? Is it possible the rules need to be refreshed or something? (NOTE: Later I figured out, I may have changed SD Cards and forgot…)

Also, with the Maestro 18 and 24 plugged in, I ran the Maestro Control Center as “sudo” and it gives the following pop up message when opening (perhaps I used a different SD card initially and forgot I change it?)

The current script for this device could not be found.
This could be because it was programmed on another computer.
When you click the ‘Apply settings to device’ button, the script currently in the device will be replaced.
To avoid this problem, save a settings file on the other computer.

I was able to resolve this by applying the settings while in sudo. This worked on both the 18 and 24 and now they both react to the python script and work in the GUI MaestroControlCenter.

Is there a reason I need to use ‘sudo’? Did I put the rules in the wrong place or do something wrong or is this expected?

The goal is to use the Pi Zero with the Maestro 24 to control servos.


If you get permission denied errors when trying to use the Maestro from Linux, then it probably means you need to follow these instructions from the README.txt file that is included with the Maestro Linux software:

The Maestro Linux software is available in the “Installing Linux Drivers and Software” section of the Maestro User’s Guide.

By the way, we do not expect the Maestro Control Center software to work on a Raspberry Pi and therefore cannot support that very much. (As mentioned in the “Supported Operating Systems” section of the Maestro user’s guide, on ARM-based Linux machines such as the Raspberry Pi, it does not work due to some problems with Mono’s implementations of WinForms on those systems.) But, if you’re getting it to work, that’s great!

Please let me know if you have any further questions.