Inconsistent Arming T200 ESC

Having issues arming a T200 ESC with raspberryPi5 connected via PWM driver (PCA9685) when I connect my joystick input it work I kinda have to move it around and then it randomly arms and works. Trying to make a function where it arms on start but it doesn’t work.

Hi @SeaMan1
Welcome to the forums!
What model ESC are you using to control the ESC? Often the center point may be slightly different than 1500 microseconds - with ArduPilot this is controlled by the SERVO#_TRIM parameter. Tweaking your “0 throttle” microsecond setpoint +/- 30 microseconds (1470 to 1530) can help find the center point the ESC expects/needs to arm.

We use the Basic ESC from blue robotics (BLHeli_S ESC I believe). Can you help me with raspberrypi specific code? We use PCA9685 library to control the thrusters.

Hi @SeaMan1

It seems there is good documentation on how to control the outputs of that PCA9685 controller.
What are your goals? Trying to operate an ROV via ArduSub / BlueOS is theoretically possible, but would require a pretty big software effort to bring support for that breakout, and you’d still be missing things like your orientation sensors when comparing to a Navigator, the preferred solution!

My goal is to make a functional ROV via PCA9685 with my raspberrypi5 it’s for MATE ROV. I’ve got it to arm sort of? it’s just I have to add in some input on my joystick. My mentor told me that they had better experience with arduino (they only used it), if it continues to stay inconsistent I might send commands from the pi to arduino to control my ROV.

As a note, we use the PCA9685 on our Navigator, but we included an external oscillator because we found the PCA’s internal one to be somewhat inconsistent. That’s perhaps understandable given it’s designed as an LED driver, where small frequency differences would have a negligible impact on LED brightness control, but can make a meaningful difference to servo-style motor control signals where pulse-duration is critical.

An Arduino is a microcontroller with outputs that are designed for precise signalling, so this isn’t surprising. The main drawbacks are around the number of available outputs of the relevant type, and the relative complexity of programming a microcontroller (compared to sending command signals to a PCA chip that can then control 16 PWM signals semi-independently).

1 Like