Home        Store        Learn        Blog

T100 and adafruit pca9685

Hello everyone,

I am working with t100 and adafruit pca9685. I am sending data from my pc to raspberry pi 3b+ over udp and then processing the data to move the ROV. However, I am keep getting this beeping sound from the thruster that I am not sure how to fix it. Below is the link for that sound.

and this is the link for the code I am using.

if you can guide me in the right direction I would appreciate that.

Hi @sidbaloch,

Do you have an oscilloscope? I have personally seen PCA9685 with a clock drift so high that commanding it to 1500us actually made it 1540us, which falls outside the ESC’s accepted center values (1500us ± 25us). If you can, try measuring it. If you can’t, and you know the wiring is right, try changing the 1500 slightly up and down and check if that fixes the issue.

These beeps are indicating the input signal and arming state. The low beep means a pwm signal is detected, the high beep means that a zero-input signal (1500us) is detected and the esc is ‘armed’. So I think @williangalvani is on the right track of looking at your neutral signal. If you don’t have an oscilloscope or logic analyzer, you can try shifting the number 1500 in your code around. Try 1510, 1490, 1480…

Your pwm frequency (60Hz) is a little bit low also. Try 200 or 400 Hz.

Here is the firmware manual: https://bluerobotics.com/wp-content/uploads/2018/10/BLHeli_S-manual-SiLabs-Rev16.x.pdf

Note that Blue Robotics ESCs are programmed differently than most escs where the zero-throttle signal is 1500us rather than the usual 1100us. Did you purchase the ESCs from our store?

Another note, try adding a time.sleep(0.01) to your while loop, that way your python program won’t hog 100% cpu.

1 Like

Thank you @jwalser and @williangalvani for your response.
I have Blue Robotics ESC and I have already tried different stop signals and frequencies but the issue was still there. I ended up going through the whole code for the pca9685 library and realized its not taking pwm signal as micro seconds so I found a different pca9685 library and it fixed the issue.