Feetech STS3215 is a TTL serial-bus servo with a 12-bit magnetic encoder and 4096-step absolute position feedback. Four gear variants cover 9.2 to 30 KG·cm of stall torque in the same 55 g body, which is why it is the standard motor for SO-ARM100 and SO-ARM101 open-source robot arms.










Feetech STS3215 Serial Bus Servo — 12-Bit Magnetic Encoder, TTL Daisy Chain
What the STS3215 is
The STS3215 is a digital serial-bus servo that speaks TTL instead of PWM. Every servo carries its own ID, so a whole robot arm can run on one three-wire daisy chain plugged into a single controller port. Position is read by a 12-bit magnetic encoder that returns 0–4095 counts across the full rotation, and the servo reports speed, load, input voltage, current and internal temperature on request.
Because the loop is closed, the controller always knows where a joint actually is instead of assuming the command landed. That feedback is what makes a low-cost arm repeatable enough to calibrate once and keep.
Key features
- 12-bit magnetic encoder, 4096 steps (0–4095) — absolute position feedback with no contact-type potentiometer to wear out.
- TTL serial bus with independent IDs — several servos share one cable and one controller port.
- Four operating modes — position control, continuous rotation, step mode and multi-turn control.
- Real-time telemetry — read position, speed, load, voltage, current and temperature from the bus.
- Four protection layers — overload, overcurrent, overtemperature and undervoltage cut-outs.
- Uniform body — 55 g and 45.2 × 24.7 × 35 mm across all four models, so one bracket fits every variant.
- Developer support — serial protocol documentation, command list and Arduino wiring reference.
Specifications
| Parameter | ST-3215-C001 | ST-3215-C018 | ST-3215-C044 | ST-3215-C046 |
|---|---|---|---|---|
| Operating voltage | 6–7.4 V | 12 V | 6–7.4 V | 6–7.4 V |
| Stall current | 2500 mA | 2700 mA | 2500 mA | 2500 mA |
| No-load current | 150 mA | 180 mA | 150 mA | 150 mA |
| Speed per 60° | 0.24–0.19 s | 0.22 s | 0.13–0.11 s | 0.11–0.09 s |
| Stall torque | 16.5–19.5 KG·cm | 30 KG·cm | 12.5–16 KG·cm | 9.2–14.4 KG·cm |
| Position encoder | 12-bit magnetic, 4096 steps (0–4095) | |||
| Communication | TTL serial bus, independent servo ID | |||
| Operating modes | Position / continuous rotation / step / multi-turn | |||
| Feedback | Position, speed, load, voltage, current, temperature | |||
| Protection | Overload, overcurrent, overtemperature, undervoltage | |||
| Weight | 55 g | |||
| Dimensions | 45.2 × 24.7 × 35 mm | |||
Which model to choose
The four models share the same body and encoder and differ only in winding and gearing, so the choice comes down to what the joint has to do:
- ST-3215-C001 — balanced speed and 16.5–19.5 KG·cm torque at 6–7.4 V. The default pick for general robotics and the safest all-round arm motor.
- ST-3215-C018 — 30 KG·cm at 12 V, the strongest of the four. Use it for the shoulder or base joint, or any lift where weight is the limit.
- ST-3215-C044 — 0.13–0.11 s per 60° with 12.5–16 KG·cm. Faster response for wrist and elbow joints that move often.
- ST-3215-C046 — 0.11–0.09 s per 60°, the fastest, trading some torque for speed on highly dynamic joints.
Applications
Robot arm joints
Multi-joint arms such as the open-source SO-ARM100 and SO-ARM101 use the STS3215 on every axis. Position feedback lets you calibrate each joint once, then command angles directly from Python or C++ without re-homing on every start-up.
Humanoid and biomimetic robots
Legs, arms and waist joints need coordinated timing across many motors. On a shared bus, each STS3215 keeps a unique ID and answers its own commands, which keeps wiring simple as the joint count grows.
Education and research
University labs and course projects use the servo because the telemetry is readable in a normal terminal. Students can watch torque climb as a payload increases, which turns a chain of commands into something observable.
Automation equipment and DIY builds
Linear slides, grippers, camera gimbals and small conveying mechanisms work well with position or step mode. The four protection layers matter here: a jammed mechanism reports an overcurrent event instead of quietly cooking the motor.
Tools and protocol
The servo is configured over the same bus it runs on. Connect it to a PC with the URT-1 debugging board, open the FD debugging software, then set the ID, baud rate, torque limit and mode before deploying. From there the unit can be driven from an Arduino or any controller with a TTL serial port using the published command list.
What is in the box
One servo, a main servo horn, a secondary shaft horn with its self-tapping screw, nine horn screws, eight body screws, a 15 cm 5264-3P servo cable and the FEETECH bus servo user manual.
FAQ
Is the STS3215 the right servo for an SO-ARM100 or SO-ARM101 build?
Yes. It is the motor the SO-ARM100 and SO-ARM101 reference designs are built around, and the four variants here map directly onto the shoulder, elbow and wrist positions of that arm.
What is the difference between C001, C018, C044 and C046?
Torque and speed. C018 is the 12 V, 30 KG·cm version for heavy or base joints. C001 is the balanced 6–7.4 V general-purpose model. C044 and C046 are progressively faster at lower torque for joints that need to move quickly.
Can I run several servos from one controller?
Yes. They share a single TTL bus and each keeps its own ID, so you address them one at a time. That is how a six-axis arm is wired: one chain, one serial port, six IDs.
Do I need a separate driver board?
No. The servo has the bus logic built in. You need a TTL serial port on the controller plus a power supply sized for the stall current — 2500 mA per servo for C001, C044 and C046, 2700 mA for C018.
What happens if a joint jams?
Overcurrent and overload protection cut in and the event is readable from the feedback registers. The motor reports the condition rather than silently stalling, which is usually how you find a mechanical binding.
Related
Witmoiton sensor
1、Delivery Methods & Delivery Times
We offer two delivery methods, which you can select at checkout based on your needs:
- Standard Shipping: Shipped via economical carriers. Delivery typically takes 2–3 weeks. This option is suitable for orders with no urgent time requirements.
- Express International Shipping: Shipped via international couriers such as DHL or FedEx. Delivery typically takes about 1 week. This option provides faster delivery and full tracking.
2、Free Standard Shipping Policy
We offer free standard shipping on orders totaling $599 USD or more.
3、Customs & Import Fees
- All international shipments are subject to local customs regulations. Your country's customs office may charge import duties, taxes, or other fees when the shipment arrives.
- Our shipping terms are FOB Shenzhen, which means any such fees are the responsibility of the customer. The carrier will assist with the customs clearance process to ensure smooth delivery.
- If a package is returned due to unpaid customs charges, any related return or reshipping fees will be deducted from your refund.
4、Order Processing Time
- Orders are typically processed within 24 hours and shipped on the next business day.
- Orders placed on weekends or public holidays will be shipped on the next business day.
- After your order has been shipped, you will receive a confirmation email containing tracking information.