Compatibility of Micro Maestro Servo Controller and ESP32-Devkit-32UE

I was wondering if you knew if the ESP32-Devkit-32UE and Pololu’s Micro Maestro Servo Controller (Pololu item #: 1350) were compatible (especially using the existing Maestro Arduino library - GitHub - pololu/maestro-arduino: Pololu Maestro Servo Controller library for Arduino -, or any other known library)? I was able to compile and upload a program to the ESP32 using Arduino IDE, where the code included the Maestro Arduino library (#include <PololuMaestro.h>) and some other functions:


  #include <SoftwareSerial.h>
  SoftwareSerial maestroTicSerial(16, 17);

MicroMaestro maestro(maestroTicSerial, Maestro::noResetPin, 12);
const int wheelTurnPositionChNbr = 0;

maestro.setSpeed(wheelTurnPositionChNbr, 0);
maestro.setAcceleration(wheelTurnPositionChNbr, 5);
maestro.setTarget(wheelTurnPositionChNbr, wheelTurnPosition);

However, when I go to set the target position, I don’t think I’m seeing any significant change in the max/min voltage on the ESP32’s assigned transmitting output pin (17). Do you know if the Maestro library for Arduino (<PololuMaestro.h>) is compatible with the mentioned ESP32?

The main purpose of the ESP32 was for bluetooth (BLE) connectivity with a PS5 controller, so if they aren’t compatible, I may just send a command from the ESP32 to an Arduino Uno through I2C, and then to the Maestro controller from there, but if I could send directly from ESP32 to Maestro cleanly it would simplify things, so just thought I would ask.

I saw a few other postings that I thought might be related, but wasn’t sure if it was dependent on the specific ESP32 board, other considerations, or just not compatible across the board at this point:

*Can Maestro read 12 bit PWM Output from AS5600?

*Using ESP32CAM Serial to control 18 channel maestro

Just let me know if any other information would be useful.



While we have not tried it, I suspect you can get the ESP32 working fine with our Maestro Arduino library. To my understanding, the Arduino SoftwareSerial library does not work with the ESP32, so if you want to use software serial you might try something like this EspSoftwareSerial library. However, since the ESP32 has hardware serial ports available, I recommend using one of those instead (i.e. MicroMaestro maestro(Serial1);).