USC-24 C2B3 USB 24 servo control board details

I see many people requesting information on these boards and the USC-32 version.

 

I got one of these boards to play with a few months back, here is what I have found

These are often advertised with the subject line:

"mini USB 24 road servo control board servo controller servo USC-24(C2B3"

 

All attempts at contacting Torobot have been ignored, so im publishing this to help anyone else out who may have one of these boards

 

Drivers and control software can be found at http://www.torobot.com/download/

The software is primitive, and even though you select English in the Options half of it stays in Chinese

NB The sites does not have any 64bit drivers.

My OS experiences:

Windows 10, 64bit recognised this board and installed drivers no issues

Windows 7 64 bit did not.

Luckily the standard stm32 virtual com port drivers works fine

http://www.st.com/web/en/catalog/tools/PF257938

Ubuntu 14.04 , the Board is recognised without any issues.

 

The main chip on this board seems to be a stm32f10X , exact model unknown, but the pins line up with a stm32f103

 

The advertising says “automatic recognition of baud rate” this is not quite true.

This Chip supports USB ACM (terminology is probably wrong here, I’m not a USB expert) , which effectively runs virtual UARTS over the USB, these ignore the baud rate settings, so in that respect, yes the USB port is auto sensing of the baud rate. But the UART pins (RX and TX) on the board are not, they are standard UARTS and require the baud rate to be set.

 

This board does not directly connect to a PS2 controller, the 32 port version does, even though this board is often sold online with a wireless PS2 controller.  

 

From watching the serial traffic between the control software and the board I was able to identify and document several commands that are badly documented (if at all)

 

All commands are terminated \r \n 

All commands seem to be case sensitive

 

UART Baud Rate

The UART baud rate can be set with the #Baud command. This is static (ie it survives power cycling)

Eg. #Baud=19200

 

Start action group on power up

You can set a action group to auto run on start-up, I use this to set all servos to their start positions, also static

Eg: #Enable#1GC1

This will reply with

#Enable+OK

This example enables action group 1 and sets it to run 1 time.

 

Firmware version

This will reply with the current firmware version of your board

Eg: #Veri

Reply: #VERI+24+OK+20150519

NB the instant the control software does this it removes the "Remote" menu Items.

The remote menu is where you setup a PS2 controller, which PS2 button runs what action group on the 32 port version of this board.

 

Clear action groups

The permanently deletes all action groups (warning, it just does it, no prompts or warnings)

Eg: #Clear

This will reply with lots of lines  #CLEARING..#C+001+OK threw to #C+127+OK #CLEAR+OK

 

Read analog voltages ports

This displays the current analog voltage on the analog pins.

Eg:  #AD[1]    or #AD[2]

 

Execute action group

Eg: #1GC2

This should execute action group 1 and cycle threw it twice, these can also be joined

Eg #1G#3G#1GC2

This prints #CC 's while running and #AGF  when compleated

 

Get number of saved action groups

Eg: #Read

This replies with the current number of action groups Eg: #R+OK+001 , in this case 1 action group

 

Move servos

Eg: #1P1500T1000       

This move the servo on port 1 to position 1500 in 1 second.

NB this is not identical to ssc-32 controller.

The ports are from 1-24, not 0 onwards

The T parameter  is in 1/1000’s of a second (This im not sure on..  my own testing it seems more like 1/100's)

Multiple servos can be concatenated together on the one line

Eg: #1P600#2P900#8P2500T1000

This will move servo 1 to position 600 and servo 2 to position 900 and servo 8 to position 2500, all these moves will complete in 1 second.

Only one T parameter per line.

Responds with "#CC" on compleation of the command

 

 

Reset all setting to defaults

This clears all action groups and resets the baud rate

Eg: #TOROBOT

Reply is similar to clearing all action groups. #CLEAR+ALL+ING, #C+000+OK … #CLEAR+ALL+OK

 

 

Due to lack of time  I didn’t dig into how action groups are uploaded fully, but this is what I’ve seen

A upload to the controller is started with the keyword Down

Eg #Down

The controller then replies with a ‘A’ character, The action group is then upload as a string

More ‘A’ characters are sent, from the controller, finally a #Stop is sent, The controller replies with

“#Down+OK+001”  ie this was saved as action group 001

 

Things still to do..

Find a way to read action groups from the controller

Find out the commands to set which ps2 button launches which action group. (I would need a 32 port version for this) 

Dump out the firmware and find any other commands (stm32 are lockable, so this may not be possable)

 

Hope this helps someone.

Good job

Thank dude. Exactly what i am looking for.

1 Like