Close

Found them!

A project log for Cracking comms for a cheap Chinese servos

finding a way to control a servo without any datasheet

EloiVilaltaEloiVilalta 05/27/2022 at 15:270 Comments

Guys and girls!
I found where they come from!
But no way I'm going to spend 1200USD-3000USD with the robot to test them... (details in a few!)

UBTECH have many diferent robots and doing image search of their robots i found this (on just two webpages), look closely to the arms...

The servos looks exactly like ours!!! So I well think that this cheap servos from Aliexpress are from units not sold, because of the high price for such a small device to learn. I only found it to buy here:

1200€ with tax - https://www.generationrobots.com/en/403524-alpha-mini-humanoid-educational-robot.html 

1170€ excl. tax - https://marketplace.ednology.co.uk/product/ubtech-alpha-mini/

2450€ incl. ship. - https://es.aliexpress.com/item/4000070477083.html

This robot was firstly created through a Indiegogo project called ALPHA 2! 

Here is the link in case you want to check it: https://www.indiegogo.com/projects/alpha-2-the-first-humanoid-robot-for-the-family#/updates/all Also looks like xiaomi worked with them: 

After this robot was made, probably this one was developed, it's called ALPHA MINI! It's such a great pece of art! Front camera, two LCD screens as eyes, IA, and much more!

I wonder if what found "Nick777 on the #27 coment" can be implemented with the Mini, as it was for the ALPHA 2 robot and this looks like the next version.

I think I found him, but I cannot send him a message via Twitter. I made a tweet, let's see if he can answer "us".

I don't think I can use a logic analyser like Alex did with another servos from UBTECH, because we don't have the brain to send messages to the servo.

Any hint on how to use this library from Dynamixel to send the same messages like Alex and Nick777 did?


Another thing I found is pictures from the internals at FCC certification webpage:

This is the company at FCC.

And found all these robots and motors (Internal photos of each link):

Alpha 2:

JR1601:

03H16006:

Alpha 1 Pro:

UKITERE/UKITERU:

IM050 (Ironman):

YANSHEE:

AAG001:

JRA0101:

IPSWSTS:

There could be many many more motors around!
Next steps: try to implement this plugin fro the ALPHA servos with the EZ-B! (I don't think I'll buy one, as it's really expensive (shipping cost) for me. I'll try to use the halfduplex code for Arduino from above)

BTW: SkywalkerF34 also found part of the communication protocol (Comment #107). Just asked him trough email any hint to test them.

This is what he found:

Hi all, 
here is my research and what I found :

Baud rate:115200
Data bit:8
Stop:1
Check:0
Flow control:NONE TTL multi-layer connection,shared-bus
ID:1-240
Feedback:position:deviation adjustment,version information

Serial parameter:115200,8,n,1,1

Protocol analysis

EMBEDDED LED
// FA AF 01 04 00 00 00 00 05 ED switch on led light // no LED on mine
// FA AF 01 04 01 00 00 00 06 ED switch off led light// no LED on mine
RESPONSE AA + id // not tried yet as I cannot see with my proto board

GET VERSION
FC CF {id} 01 00 00 00 00 {sum} ED            // not tried yet 
RESPONSE FC CF {id} {V-1} {V-2} {V-3} {V-4} {sum} ED
this can be used to check if servo exist in a loop "for id"

MOVE  servo
// FA AF {id} 01 {angle} {time} {T1} {T2} {sum} ED whre T1=0 and T2= {time}= TIME to execute in ms / 20 0 to 255(FF) ie 5.12 second to execute
RESPONSE AA + id // not tried yet as I cannot see with my proto board

GET POSITION
// FA AF {id} 02 00 00 00 00 {sum} ED // not tried yet
REPONSE FA AF {id} 00 {angle} 00 {real} {sum} ED // not tried yet as I cannot see with my proto board

SET OFSET ANGLE
// FA AF {id} D2 00 00 {A1} {A2} {sum} ED where A1 adjValue/256 and A2 adjValue%256  // not tried yet
RESPONSE FA AF {AA + id} 00 00 00 00 {sum} ED

GET OFSET ANGLE
// FA AF {id} D4 00 00 00 00 {sum} ED   // not tried yet
RESPONSE FA AF {AA + id} D4 00 00 {A1} {A2} {sum} ED where A1 adjValue/256 and A2 adjValue%256

All works now, just think to cross wire in the daisy chain, else GND become DATA on next servo and block all transmission....

Discussions