Can you offer a RoboSkill for controlling serial Waveshare servos, e.g. type ST3215? Or are there already skills for serial servos that are compatible. E.g. Feetech serial servos
Asked
3 Participants
Skill For Serial Waveshare Servos
Related Hardware (view all EZB hardware)
Arduino With PCA9685 Servo Controller
by Adafruit
PCA9685 Servo Driver for Synthiam ARCx adds 16 hardware-timed servo outputs for hexapods, animatronics, and pan/tilt arrays.
USB
Servos
16
Camera
Audio
UART
✕
I2C
ADC
✕
Digital
✕

Today I received this response from WaveShare in response to my request for a WaveShare servo Skill in ARC.
This means, that the results of my tests (see table) have also been confirmed by WaveShare.
I will test the debug function later today and post the results.
It would be great if this could lead to progress.
Here is the feedback on debugging.
Test was carried out with 2 X Waveshare ST3215 and 1 X Feetech STS3215-12V.
All servos went into relay mode. No problem
Debug feedback:
V12 = Feetech STS3215-12V V4 = servo A WaveShare ST3215 V1 = servo B WaveShare ST3215
Is there anything else I can do? Please let me know. Anytime!
I hope it helps.
Hello ARC development team, thank you for the great update to the Feetech/WaveShare servo skill. It is now possible to achieve 100% servo control within ARC, and the power-on jerk is a thing of the past.
Great job!
I have developed a small test app that allows you to perform key servo operations and access (read/write) the servo's EEPROM. The app is public and stored in the cloud.
By the way, GPT-6 Astra created that little test app almost entirely on its own on my PC-not just the scripts, but also the selection of skills and the GUI layout. It’s a huge step forward that Astra can now work directly with the user's hardware and software, without needing any interfaces or plugins.
The only thing that could be improved further is the addition of a variable baud rate. That would allow other Feetech servos to be controlled as well.
That's great to hear
About variable baud rate - you can't have multiple baud rates on a single uart. You'd need to install multiple robot skills (one for each separate port/ezb with a unique baud rate). Serial communication doesn't allow multiple speeds over the same wire because it'll garble the other receivers and be interpreted as something unintended. Plus, hardware switching baud rates takes time, and oh boy, there are a million reasons that can't be a thing with serial communication.
Perhaps "variable" wasn't the right word; what I meant was "adjustable." I understand the underlying concepts and am very familiar with serial data communication.
Currently, I handle it this way:
I have two Feetech skills running in parallel in my program. One skill is connected to the 1 MBaud servo controller, while the other initially writes to a virtual COM port. Then, outside of ARC, the baud rate is reduced to 115k, and the data is sent to a real COM port and the servo controller.
It runs stably, but it doesn't feel particularly clean. If the baud rate could be adjusted within the skill itself, that extra step wouldn't be necessary.
Of course, you would still need one skill per baud rate.
Sorry DJ, I just realized that it is already possible to set the baud rate.
That wasn't the case before, was it?
Great, then the Feetech servo skill is perfect!
That is wonderful to hear!