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.