Control Feetech serial bus smart servos from UART or PC COM port.
How to add the Feetech Serial Bus Servo robot skill
- Load the most recent release of ARC (Get ARC).
- Press the Project tab from the top menu bar in ARC.
- Press Add Robot Skill from the button ribbon bar in ARC.
- Choose the Servo category tab.
- Press the Feetech Serial Bus Servo icon to add the robot skill to your project.
Don't have a robot yet?
Follow the Getting Started Guide to build a robot and use the Feetech Serial Bus Servo robot skill.
How to use the Feetech Serial Bus Servo robot skill
Control Feetech serial bus smart servos over EZB UART or PC COM port. The selected ARC’s Vx virtual ports must match the servo IDs in the config screen - and voila, you're off to the robot races!
A Bus servo from Feetech has a model number starting with SC, such as SC215.
Main Window
The main window on the project workspace displays information about active connections and errors. To configure the servos, press the ... configuration in the title bar.Configuration Screen
The configuration allows selecting the virtual servo ports that represent the ID's of the Freetech servos. For example, if the servo ID is #1, V1 will be used. Also, the communication type must be specified (EZB UART or PC COM Port).Baudrate This skill's baud rate is 1,000,000 bps, which is also the default baud rate for Feetech servos.
ID All new Feetech servos will have a factory default ID of #1, V1 in ARC. Select the Vx ID that matches the servo's ID.
Changing servo ID
If you want to reprogram the servo ID, you need to use the SCS15 software V1.6. Download it HERE. The software requires connecting the servo to a USB device or an Arduino.
ARC Capabilities
ARC has many parameters that can be assigned to servo movements. When selecting a servo, these parameters are specified by script commands or in the Advanced menu of robot skills. This skill supports the following ARC parameters...- Servo position
- Speed
- Release
- Acceleration
How To Use
These steps will demonstrate how to add the Feetech serial bus skill to a project and use a standard servo skill control to move it. All skill controls that use servos can now move the servo, including the camera, joystick, scripting, and more. Select the virtual servo port, and any skill can move the servo.In this example, we'll be using a USB Feetech servo controller. These controllers will create a COM port on the PC we will select. The SCPC-2 or URT-1 works great for this application. Alternatively, if you wish to wire the servos directly to a custom hardware UART, it will require the option to be selected in the config menu in the steps below and additional hardware.
Step 1 Load the latest version of ARC on your Windows-based PC.
Step 2 In ARC, press Project -> Robot Skills -> Add from the top menu
Step 3 Select Servos and locate the Feetech Serial Bus skill when the skills window is displayed. Press the Download icon to download and install the skill to your project.
Step 4 Locate the Feetech Serial Bus skill on your project workspace. Press the Config button in the title bar to access the configuration menu.
Step 5 In this example, we will use the USB COM Port to control the servos. Select the Use COM Port option and select the COM port for the USB controller.
Additionally, the default ID of a new servo will be #1, which is V1 in ARC. A servo ID of #2 will be V2 in ARC, and so on. Select the V1 so ARC will now map all references of servo V1 to the Feetech servo with ID #1.
Press SAVE
Step 6 Now we will add a basic servo control to test the Feetech servo. Press Project -> Robot Skills -> Add from the top menu. Locate the Servo tab and click the Horizontal Servo to add it to the workspace.
Step 7 Configure the Horizontal Servo skill by pressing the config button in the title bar.
Step 8 Selecting the port for this control. Press the Port button to choose the servo port.
Step 9 The dialog popup for port selection will display. Select V1 from the Virtual Port drop-down list. Press SAVE
Step 10 The servo's Min and Max range can be selected. Each control that uses servos will have its own custom range. Click in the Min and Max value and drag the mouse UP or DOWN to select the range. Alternatively, you may right-click to enter a range with the keyboard. Keep in mind that the servo will move into each range as you change the value. Press SAVE once the range has been adjusted to return to the workspace.
Finished You may now click on the servo value to drag the mouse Left or Right to move the position. If you right-click, you can enter a numeric value on the keyboard. The servo will only move within the range you specify.
Try other robot skill controls, such as the Auto Position or Joystick, with this servo. All robot skills that use servos can now reference this servo using the virtual port ID.
Not a clue. I know it uses the SCPC-2 or URT-1. So If those are ttl then it’s ttl. Those adapter boards are mentioned in the manual for the skill.
the protocol used is what they would have given us to have the robot skill created.
i might have a few minutes to look at the protocol doc you sent and see if it’s different. Who knows - hardware companies do strange things....
That protocol is entirely different. It's crazy how they'd change that much. I have no way to test it but I can publish something. No idea if it will work because their documentation is incredibly poor.
Try this robot skill for feetech rs485 servos: https://synthiam.com/Support/Skills/Servo/Feetech-Serial-Bus-Servo?id=19570
@Athena do these skills also work for Wavetech Serial Servos? The communication protocol is identical
The Feetech Serial Bus servo skill in ARC is specifically designed for Feetech serial bus smart servos. If the Wavetech Serial Servos indeed use an identical communication protocol as the Feetech servos, there is a possibility that the skill could work with them. However, since the skill was created with Feetech servos in mind, there is no guarantee that it will function perfectly with Wavetech servos without testing.
If you want to attempt to use the Feetech Serial Bus servo skill with Wavetech Serial Servos, you should proceed with caution and closely monitor the behavior of the servos during initial tests. If the servos do not respond as expected, it may be necessary to create a custom robot skill tailored to the Wavetech servos. You can use the guide for creating a custom robot skill provided by Synthiam here: https://synthiam.com/Support/Create-Robot-Skill/Overview.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
@Athena will this skill work with waveshare ST3215 serial bus servos?
The Feetech Serial Bus servo skill is specifically designed for Feetech serial bus smart servos. If the Waveshare ST3215 serial bus servos use the same communication protocol as the Feetech servos, there is a possibility that the skill might work with them. However, without specific confirmation that the protocols are identical, it's uncertain whether the skill will function correctly with Waveshare ST3215 servos.
To determine compatibility, you could try the following steps:
Check Protocol Documentation: Compare the communication protocol documentation of the Waveshare ST3215 servos with that of the Feetech servos to see if they match.
Test the Skill: If the protocols appear to be similar, you can test the Feetech Serial Bus servo skill with the Waveshare servos in a controlled environment to see if they respond correctly.
Monitor Behavior: During testing, closely monitor the behavior of the servos to ensure they are operating as expected.
Custom Skill Development: If the servos do not respond as expected, you may need to develop a custom robot skill tailored to the Waveshare ST3215 servos. You can refer to the guide for creating a custom robot skill here: Create Robot Skill.
If you decide to test the skill, please proceed with caution and be prepared to make adjustments if necessary.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
v9 has been updated to read the servo position. This functionality was missing in the previous robot skill version. You can now use robot skills that read the position or scripting commands that read the position. Such as Servo.getPositionRealtime() from https://synthiam.com/Support/javascript-api/Servo/getPositionRealtime