# Waveshare ST3025 bus servo (40 kg-cm): specs

> A metal-case serial bus servo with a brushless motor and a 360 degree magnetic encoder, documented by Waveshare as the ST3025. It is addressed by ID…

[HTML version](https://soldr.ai/docs/components/waveshare-st3025-bus-servo)

[Docs](https://soldr.ai/docs) / [Components](https://soldr.ai/docs/components)

A metal-case serial bus servo with a brushless motor and a 360 degree magnetic encoder, documented by Waveshare as the ST3025. It is addressed by ID on a TTL serial bus, can be daisy-chained, and reports position, load, speed, voltage, current and temperature back to the controller.

Every value cites its sourcePinout not published

[Buy on Compoden](https://compoden.com/products/waveshare-40kg-cm-metal-serial-bus-servo-high-precision-and-large-torque-with-programmable-360-degrees-magnetic-encoder-and-brushless-motor)

## Specs

| Spec | Value | Source |
|---|---|---|
| Input voltage | 6 V to 12.6 V (typical 12 V) | source Specification |
| Locked-rotor torque | 40 kg.cm | source Specification (Locked Rotor) |
| Idle speed | 0.117 s/60 degrees (85 RPM) at 12 V | source Specification |
| Current | Static 6 mA; non-load 380 mA; rated 1.5 A; locked-rotor 4.4 A | source Specification |
| Control interface | TTL serial bus servo interface; baud rate 38400 bps to 1 Mbps (1 Mbps default) | source Specification; page header |
| Angle resolution | 0.088 degrees (360/4096); 360 degree absolute control in servo mode, continuous rotation in motor mode | source Specification |
| ID range | 0 to 253; up to 253 servos on one bus in theory, provided enough power | source Specification; Feature |
| Feedback | Position, load, speed, input voltage, current, temperature | source Specification |
| Torque constant | KT 9 kg.cm/A | source Specification |
| Size | 40 mm x 20 mm x 40 mm | source Specification |

## Power

| | Value | Source |
|---|---|---|
| Supply | 6 V to 12.6 V (12 V recommended on the wiki&#x27;s driver board DC port); a 2S or 3S lithium battery range | source Specification; How to Use the Software, servo ID setup |
| Current | 380 mA non-load; 1.5 A rated; 4.4 A locked rotor | source Specification; How to Use the Software, servo ID setup |

## Pinout
We don't publish a pin table for this part: no official source we could verify gives one. Check the labels printed on your module, and see the notes below.

The wiki does not list the pins of the servo&#x27;s two connectors in text; it refers to a schematic of the serial bus servo drive circuit. No pin table is given here. Use a Waveshare driver board and cable so the connectors match.

## Build with it
Project ideas for the Waveshare ST3025 bus servo (40 kg-cm). Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.

- [A one-joint robot arm test that turns a bus servo to set angles typed over serial using a Waveshare bus servo adapter board and an ESP32](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20one-joint%20robot%20arm%20test%20that%20turns%20a%20bus%20servo%20to%20set%20angles%20typed%20over%20serial%20using%20a%20Waveshare%20bus%20servo%20adapter%20board%20and%20an%20ESP32): The wiki lists ESP32 as a UART host for the adapter. Power the adapter at 12 V on its DC port: that is inside both the servo&#x27;s 6 V to 12.6 V and the adapter&#x27;s 9 V to 12.6 V range. One servo draws 380 mA unloaded and up to 4.4 A if the arm is blocked, so keep it from stalling and use a 12 V adapter whose barrel plug fits the driver board&#x27;s DC5521 (5.5 x 2.1 mm) power header, or its green power screw terminal; do not wire a bare mains supply. The driver board&#x27;s DC input current rating is not published, so keep the total draw well below 5 A.
- [Servo load and temperature monitor](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20servo%20health%20monitor%20that%20logs%20the%20load%2C%20voltage%2C%20current%20and%20temperature%20a%20bus%20servo%20reports%20while%20it%20moves%20a%20small%20weight%2C%20using%20an%20ESP32%20and%20an%20OLED): The servo returns position, load, speed, voltage, current and temperature, which the ESP32 reads over the adapter&#x27;s UART and shows on the OLED. Keep the test load light so the servo stays well under its 1.5 A rated current. Learning project.
- [Two-joint arm on one cable](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20two-joint%20arm%20where%20two%20bus%20servos%20share%20one%20cable%20and%20move%20to%20stored%20poses%20using%20a%20Waveshare%20bus%20servo%20adapter%20board%20and%20an%20ESP32): Each servo has two connectors so they can be chained, and each needs its own ID. At 12 V each servo idles at 380 mA and can reach 4.4 A if blocked, so two servos could approach 8.8 A in a stall; a 5 A supply is enough for moves but not for both stalled, so design the poses to avoid blocking. Learning project. The 12 V supply plugs into the driver board&#x27;s DC5521 (5.5 x 2.1 mm) power header or connects to its green power screw terminal; the board&#x27;s DC input current rating is not published, so keep the total draw well below 5 A.

## Common mistakes

- Under-sizing the supply: the locked-rotor current is 4.4 A per servo and the rated current is 1.5 A, so several servos need a supply that can give the sum, and the wiki says a large number of servos needs enough current at the driver board&#x27;s DC port (source: [link](https://www.waveshare.com/wiki/ST3025_Servo), Specification and servo ID setup).
- Giving the driver board a voltage below its range: the wiki&#x27;s Bus Servo Adapter (A) lists a 9 V to 12.6 V input that should match the servo voltage, while the servo itself is rated 6 V to 12.6 V, so a 12 V supply fits both ([source](https://www.waveshare.com/wiki/Bus_Servo_Adapter_(A)), Specification).
- Having two servos with the same ID on one bus: set a distinct ID on each servo with only that servo connected, since the factory ID is shared and the new ID is stored permanently (source: [link](https://www.waveshare.com/wiki/ST3025_Servo), servo ID setup).

## Not covered by the official source

- The model name (ST3025) is inferred from the specifications: Waveshare&#x27;s ST3025 page matches the 40 kg.cm figure, 6 V to 12.6 V range and brushless magnetic-encoder description. Confirm it against the servo&#x27;s label.
- Connector pin order and wire colours are not given in the wiki&#x27;s text.
- Operating temperature and the temperature at which the servo&#x27;s protection acts are not stated in the wiki&#x27;s specification list.

## Sources

- [link](https://www.waveshare.com/wiki/ST3025_Servo) (Waveshare wiki, ST3025 Servo; maker host)
- [link](https://www.waveshare.com/wiki/Bus_Servo_Adapter_(A)) (Waveshare wiki, Bus Servo Adapter (A); maker host; used for the adapter&#x27;s input range and UART/USB use)
