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 scree - and voila, you're off to the robot races!
Main Window
The main window on the project workspace will display information about active connection 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, then V1 will be used. Also, the communication type must be specified (EZB UART or PC COM Port).Baudrate The baud rate of this skill 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, which is V1 in ARC. If you want to reprogram the servo ID, you need use the SCS15 software V1.6. from here. The software requires connecting the servo to either their USB device or using an Arduino. The Freetech website contains more information.
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 will now be able to move the servo. This includes camera, joystick, scripting, and more. Simply select the virtual servo port and any skill will be able to 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 that we will select. The SCPC-2 or URT-1 work 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 When the skills window is displayed, select Servos and locate the Feetech Serial Bus skill. 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 We will be using the USB COM Port to control the servos in this example. 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 select 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 Min and Max range for the servo 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. Or, alternatively you may right click to enter a range with the keyboard. Keep in mind, 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, a numeric value can be entered by 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 by the virtual port ID.
2 questions. Can this be used on the EZ-B using uart D5 D6?
When might this be updated be to include changing servo ID as described above?
it can use all ezb uart or pc com
I do not have a date for adding the utility to change ids. Right now we use the software provided by the servo manufacturer
Ok thank you for the info.
No prob
They're utility software is really great and has a number of features that would be duplicate effort for us to implement. Makes sense to use the features implemented by their team.
Interesting. The SCS15 SCS20 and SCS25 etc look size and bracket compatible with the HDD servo's. Maybe time to give my old JD robot an overhaul and cut down the wires (especially after the potentiometer hack). Anyone tested these servo's? Do they fit in JD or other ez-robot brackets? The Micro HDD is pretty small 10cm and I can't find a size compatible. SCS009 is 22cm so huge difference. I guess I would need to keep the original HDD servo in the head, neck and hands (or do a redesign).
Why would you want to swap the hdd servos out? Nothing competes in that form factor
Position Feedback, Higher Torque (25kg, 30kg, 35kg), Less Wires ... If you spent some time redesigning the servo brackets / connectors you could also remove wiring all together. I love the Clicbots, they use TTL servo's and no wires.
That clickbot was one of the worst experiences I’ve had with a product. There’s not enough power because the servos connect inline with high resistance of each connection.
I misunderstood your original post about switching the hdd servos because you mentioned potentiometer hack. But I think what you were trying to say is swapping the servos doesn’t mean you have to do the hack.
I haven’t had great experience with these servos coming close to the advertised specs. But they should be ok - maybe not great for a jd but I’d like you to find out worth the trial!
Feetech, just reached out to me today. I must admit I've not spent much time looking into their product line but, today I did and I am very impressed with their offerings. They have some high torque servos, magnetic encoders standard as well as their serial servos. Is there an accessible pic of mapping RS485 on the EZB. I've only used TTL with the EZB so a quick pic of the connections would be great!
Not sure about rs485. But you could use a uart converter. I use the feetech servos with their USB adapter directly to the pc. I think there are rs485 shields for arduino ezbs that would work as well.
when ever I use anything rs485, like robotis dynamixel servos or these I use the USB adapters or controllers from the manufacturer. My time to solder some circuit is much more valuable being spent on robot programming instead hehe
hehehe ok cool..I'll do some testing and poking around...going to have them send me a bunch servo types to test with.
I’ve been happy with their products. Similar specs to dynamixel with a fraction of the price (in some cases).
Yeah and a really solid product line! They say on the site servos are "quiet". I'm curious what they think is quiet. Sounds (pun intended) like a servo-decibel-showdown!
This is Feetechs board for Rs485. Will ARCS plug in drive those servos using a computer/servo/this board?
[url=https://www.feetechrc.com/serial-port-series-steering-gear_50681.html]Driver board
Maybe? Depends on the protocol needed for the servos. I don’t know if they have more than one protocol like robotis dynamixels do.
the controller board looks fine. It has usb and does what it needs. It’ll be up to the communication protocol
Ok cool. They are sending me out a box of stuff. I hope the protocol matches and is the same throughout their product line.
Fingers crossed
From their PDF - Protocol Type: Half duplex Asynchronous Serial Communication!
That's not a protocol. A protocol is something like this: http://grobotronics.com/images/companies/1/datasheets/SCS15&SCS115%20Manual.pdf?1516269264467
Well darn. Ok I'm off to vacation. Prolly be waiting for me when I get back. Find out then...suspense!
Ok I've found this on a data sheet..saying that the three types of servos all use the same protocol. So this particular model uses 12 volts and has 4 wires. I assume the "A and B" are tx and rx? Here is a pic.
No - you’ll need to use a usb adapter or something. You can’t connect the servos directly. See our conversation thread above.
I hate my brain rot.....this isn't going to work...(throws in trash)...sighs...we need powerful, quiet, affordable ($50 to $125 ) actuators that are at least 80 to 120 kg/cm, that work with TTL or PWM...otherwise, there will be no cool full-sized robots in the future...
Why won’t these servos work? They just need the USB adapter that they sell.
Or you should be able to use an adapter like this for an ezb uart: https://www.robotshop.com/ca/en/sfe-uart-to-rs-485-converter.html
Yes, I'm also curious. Looks like you have the power and affordability. are they too noisy?
@dave , yeah much louder than I thought it would be.
@DJ, The Rs-485 servos come with a factory default of 115,200 not 1000000, but easy to change in the software.
Ok I have the motor running..but its just moving erratically. It moves full CW direction and then full CCW direction...when I move servo slider.
Here is the protocol table for this servo.
SM40BL Control Table_190901.zip
Have you tried running it at the factory default of 115,200? Just a shot in the dark from me.
What ttl servos are you using that work fine? Are you saying some of their servos work and some don’t?
I am assuming this skill was created to use the TTL versions of their servos the SCS and the STS series. I do not have the TTL servos. So I cannot say if they work or do not work with this skill. I assume a TTL servo was tested when the skill was created.
I have the RS-485 version and I am using the URT-1. See the above video. I have also included the protocol of this servo in post #28
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.