Zombie Servo, Budget High Torque Servo

I’ve developed a board to drive a budget (~$15) robotic servo a friend found on aliexpress.


It’s electronically functional able to drive the motor, read back from the second magnetic encoder and USB is working.
The repo is here #TODO and assembled by JLCPCB it cost ~$20.
It’s powered by a STSPIN32G4 and the actual power electronics fits in a 35x35mm box should support at least 10A at 24V.

Still a wide range of tweaks need

  • The motor seems slow
  • The CAN needs testing
  • A position controller using the second encoder.
  • Need to build a case for it.
  • The FFC connector is twisted.
  • Get current sense working.
  • USB bootload
  • Choose a power connector
  • ETC

If I can get the USB bootloader working and put it in a nice case it could be quite nice~$40 power servo. Feels like it might have a bit too much reducing for good torque sensing for a quadruped robot and hopefully it doesn’t disappear too quickly

4 Likes

I got the message that the article isn’t available at my location, but I’d like to know more about it. What would I have to search for in aliexpress?

This is an amazing deal for ~13 shipped to the USA, but it looks as if it’s a limited batch of servos removed from existing devices (and not all of them might be in good cosmetic conditions, based on the description in poor English). Very likely these will disappear soon and won’t be available anymore, so if you need them, buy as many as you need plus a few spares.

1 Like

Is there a gearbox inside the motor? How much torque are you getting? listing says 60kg (130lb) - wow! no wonder it’s slow

If you want to check my repo, the g431 has native USB DFU mode (bootloader). You can jump to it with software routine if you didn’t setup hardware to enter DFU mode (or if your CAN pins conflict with it, since you’re using USB, like I was): https://github.com/VIPQualityPost/aioli-foc/tree/canbus/firmware/lib/dfu
if you just copy these files into your project and call jump_to_bootloader() then it should drop you to a USB DFU state where you can reprogram it over USB.


I was looking in your schematic and couldn’t find this weird huge package… then realized it’s 3 mosfets jammed together!
I’m surprised JLC let you do this! Did they tell you it would give you any problems? Does it cause you any problems with thermal dissipation?

Yeah its suppose to be ~5.9 N/m it is moving very slowly at the moment. I hope I can go faster but still going to be slow. The gearbox has surprisingly little back lash although I have not measured it and with the encoder may be able to compensate for it.

Yeah I’ve made some break out pads that hopefully when sorted will enter DFU but haven’t tested it yet and as you say it dose conflict with the CAN so not sure how that will play out. I’ll defiantly have to add your DFU code seems like a great solution not having to short out pins or deal with conflict. Hopefully one day we can roll it into the Arduino boot loader but that’s likely to much work.

Yeah I was surprised two when it got back, defiantly not deliberate got my keep out zones to small. Will have to figure out a better way to spreading them out for the next revision.

1 Like