Ubtech Alpha 1 Bluetooth

by UBTech

Control UBTech Alpha robot via bluetooth

How to add the Ubtech Alpha 1 Bluetooth robot skill

  1. Load the most recent release of ARC (Get ARC).
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Robot Skill from the button ribbon bar in ARC.
  4. Choose the Movement Panels category tab.
  5. Press the Ubtech Alpha 1 Bluetooth icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the Ubtech Alpha 1 Bluetooth robot skill.

How to use the Ubtech Alpha 1 Bluetooth robot skill

Control UBTech Alpha robot via bluetooth and control servos. The Virtual Servos in ARC will control the UBTech Alpha robot servos. Use the configuration button on this skill to configure what servos are to be used. The Vx servos in ARC correspond to the servo IDs of the UBTech Alpha robot.

For example:

  • V1 controls servo ID #1
  • V2 controls servo ID #2
  • V3 controls servo ID #3
  • and so on...

Main Window

User-inserted image

1. COM Port Drop-down Select the Bluetooth COM port that corresponds with the Alpha1 robot connected to your PC.

2. Connect Button Once the proper COM ports is selected, press the Connect button to connect ARC to the Alpha1 3. Init Button Initiates communication with the Alpha1 robot.

4. Status Display Displays text corresponding to what actions are happening with the skill.


User-inserted image

1. Virtual servo Checkboxes Check (enable) each virtual servo that corresponds to the servo ID's you have on your Alpha1. If you would like to control the servo, it will have to be enabled.

How to Use UBtech Alpha1 Bluetooth Skill

  1. Connect your PC to the Alpha1 robot via Bluetooth.

  2. Add the UBtech Alpha1 Bluetooth skill to your ARC project (Project -> Add Skill -> Movement panels -> UBtech Alpha1 Bluetooth).

  3. Select the Bluetooth COM port for the Alpha1 robot and select CONNECT.

  4. Use the configuration menu of this skill to select the servos you wish to control. Place a check in the box beside each servo to control.

  5. Now that you have the skill configured, you may use any skills in ARC that support servos to move the Alpha1 robot. This includes Auto Position, Camera, Joystick, and more.

*Note: When editing scripts in other skills, use the Cheat Sheet or right-click in the editor to see available ControlCommand of this skill. You may connect, disconnect, and control LEDs.


Upgrade to ARC Pro

Elevate your robot's capabilities to the next level with Synthiam ARC Pro, unlocking a world of possibilities in robot programming.

#1   — Edited

User-inserted image

I'm happy to collaborate with you ! I added the plug in . I 'm sending  a photo of the screen. I clicked on com4 and on connect.  "connect" became "disconnect". I don't know if this confirms the existence of an actual  connection. Clicking test 1,2,3 caused no movement in the robot , only"test done" in the control box.

For some  unknown reason the clipboard  below says  "it's windows NT" . Indeed it's win7.  I know win7  is not recommended, but until now i never had problems with ezb with win7. Unfortunately now I  have no win10 PC. I hope this is not a problem.


Do you have a servo connected to the alpha one that is on ID #1?


All 16 servos are connected to alpha native controller. Each servo has a label with its own id number . Numbers  range from ID# 1 to ID#16.  #1 is right shoulder.


I am reflecting about the fact that alpha and ezb work in a very different way.

EZB: frames and actions are programmed  and stored in the PC . When you activate the control, each position is sent , at the right time, by wi-fi, to the robot controller  that actuates each servo as required.

Alpha: frames and actions are programmed and saved in the PC in  special files (.aesx files) that contain all the information required to perform the action.  Such files must be transferred to the  SD card in the robot (via usb cable or bluetooth). The robot controller only reads this card and actuates the servos as required to perform the action. The SD card may even be changed with another one containing different actions. Bluetooth is  used to specify which action is to be activated or to transfer the files.

So how can you move the servos by bluetooth ? The controller can only move the servos executing the .aesx  file in the memory card. I think you have to work around these files and their transfer to the robot.

#5   — Edited

Try the latest plugin please. Report any log messages as per previous instructions. Specifically, try the buttons for servo LEDs ON/OFF and see if the leds turn on or off when pressed.


Hi DJ. Here's what I see on the PC screen. A sequence of bytes is displayed  with turn on, nothing is displayed with turn off. Nothing is added in the  debug window. Nothing  happens to the robot leds. All leds in the servos keep blinking and changing colors , as usual. The blue light in the head is always on. Leds always behave this way whenever  they have 7,4 v power on them , even if non connected to a control signal. . User-inserted image

Have you read my post #4 ?  what about it ?

#7   — Edited

Your post #4 doesn’t apply. The Bluetooth protocol documentation specifies servos can be moved individually, contrary to your experience with their app. The challenge I’m having is the documentation is poor and online examples are open source broken with evident errors that contradict the documentation.

I’ll try new changes with this plugin to see if there’s progress. Stay tuned

btw, that last test is great. The numbers are actually from the alpha. That’s the alpha responding to my commands. I have to take a look and see what they mean.


It seems there’s information that yield left out. Appears to be multiple versions of this robot. Each version has different command protocol. I need to know the version your robot. Is it alpha 1. Alpha 1s. Alpha 2. Alpha pro? Alpha blah blah...


You're too great, DJ. I wanted to help with my experience with the alpha. I confirm that servos can me moved individually when alpha is connected via usb cable for programming frames and action, as it happens with EZB. This seems not  to happen  when it's connected via bluetooth to a tablet with their app. But if you have a specific protocol for that it's surely possible ! I'll stay well tuned awaiting your next plug in. Btw. I noticed that when  it's connected via  bluetooth with a tablet with the  ubtech app, the robot confirms the  connection with  a sound , and the  blue light in its head begins to blink. This doesn't happen when it's  connected to the  PC with the  plug in.


I know there are many versions. I had trouble to download the right software. Even the appearance of the screen is different Mine is alpha 1S


Try this new plugin.

And please do not send screenshots anymore. I added a button (Which i highlighted in green for you) that copies the log to clipboard. Simply paste that clipboard after pressing the button in a message here. Thanks!


OK, I'll let you know  .  After this  test I'll do the  test with ezb .


DJ, You're capable of great things ! Everything seems working. Handshake blinks the head light. Tests 1,2,3 move very slowly servo #1  clockwise less than  90 from rest position and then backwards to rest position (are these these the movements you expected ? ) . All servo lights actually switch on and off. Software version was given. All ok ???

Windows version: Microsoft Windows NT 6.1.7601 Service Pack 1 Screen Resolution: 1280x800 (96x96 dpi) ARC Version: 2020.01.05.00 Handshake 251-191-13-1-65-108-112-104-97-32-49-83-152-237- 251-191-15-49-98-116-95-108-105-110-107-49-50-51-185-237- Test 1 251-191-7-34-1-0-42-237- Test 2 251-191-7-34-1-0-42-237- Test 3 251-191-7-34-1-0-42-237- servo lights on 251-191-6-13-0-19-237-251-191-7-10-3-1-21-237- servo lights off 251-191-6-13-0-19-237-251-191-7-10-3-0-20-237- servo lights on 251-191-6-13-0-19-237-251-191-7-10-3-1-21-237- servo lights off 251-191-6-13-0-19-237-251-191-7-10-3-0-20-237- servo lights on 251-191-6-13-0-19-237-251-191-7-10-3-1-21-237- Test 1 251-191-7-34-1-0-42-237- Test 2 251-191-7-34-1-0-42-237- Test 3 251-191-7-34-1-0-42-237- Test 1 251-191-7-34-1-0-42-237- Test 2 251-191-7-34-1-0-42-237- Test 2 251-191-7-34-1-0-42-237- Test 1 251-191-7-34-1-0-42-237- Get software version 251-191-15-17-50-48-49-54-49-48-51-48-48-49-14-237- Test 2 251-191-7-34-1-0-42-237- Test 3 251-191-7-34-1-0-42-237- Test 1 251-191-7-34-1-0-42-237- Test 2 251-191-7-34-1-0-42-237- Test 2 251-191-7-34-1-0-42-237- Test 3 251-191-7-34-1-0-42-237- EZB 0: 2020/01/16 10:12:40 +01:00 Error uploading log file: Server was unable to process request. ---> Invalid username/password.

EZB 1: EZB 2: EZB 3: EZB 4: Windows version: Microsoft Windows NT 6.1.7601 Service Pack 1 Screen Resolution: 1280x800 (96x96 dpi) ARC Version: 2020.01.05.00


Surely we will early have a complete movement  control ! Have you in mind something to control  the native speaker ?

  1. The speaker can never be used because the controller doesn't work that way. It plays files from an SD card, it doesn't allow streaming audio.

  2. Try the latest plugin update and please describe to me the response and difference of servo Test 1, 2 and 3 buttons


1)Ok.  However,  by the  Android app in  my tablet and  bluetooth, I can start actions and music previously stored  (by ubtch software and/or windows itself )  in the sd card. You might send , by ezb,  the same messages sent by the tablet by  bluetooth, so to have, at least, a limited control of the audio system. The protocol should provide the messages for this purpose.

2) I 'll send another post about servo movements I'm going to examinate.

#17   — Edited

"0" means center position ,"+" means CW, "-" means CCW tests starting at "0" test1: +60 test2:  -45 test3:  +60 test1:  -45 test2:  -50 test3:  -45 test1:  -10 few seconds after this last command it went to "0" by alone  without any  further commands . Command "handshake" resets to center position from any position produced by tests 1 or 2, but , when previous test was test3., sometimes (not always) it doesn't reset . Handshake command execution is confirmed by sound and head led blinking, but  servo doesn't move. Repeating the above sequence   starting  at "0" the results are completely different.

My brain is melting down.....It's hard for me to find some logic reason for these results. You know what you expected  from those  tests. Perhaps you'll  understand. I'm here for any other test.


the Test servo buttons should move into random positions. this appears to be correct.

  1. Are the servos moving faster in this test than the previous when you said they’re moving really slow?

  2. do the servos always go back to center after the servos move with Test servo buttons?

  3. how long before the servos move back to center?


They are quite random, as you say. It was impossible to make a list.

1)they're much faster than before. It looks like a normal servo speed. Perhaps it may be even  faster, as I seem to have seen in ubtech actions.

  1. they don't go back  to "0". After the test  they don't move anymore. But once, only once, after test3, I saw (with surprise) the servo go back to "0" without any command, alone, after 2-3 seconds. " send handshake" command  resets (almost always)  to "0"  from any position ( but sometimes it doesn't ).

  2. speed for the return to center (caused by handsake) is  much slower, it depends on how many degrees it has to go. maximum is  about 3 seconds.


Try this latest plugin and use the trackbar to slide and see if the servo moves. You may need to press the handshake first.


installing the  new plug in  I had this  Dos window, where i don't see  the usual message I've always seen , i.e. :   "installation successful". User-inserted image Is it installed or not this way ?


It’s be use your have the control already added when trying to update.

restart ARC and update the control when it’s not added to the project.


Ok I'll try . Now I can't do it , because I'm testing the servos connected to ezb, without ubtech pcb inside. I'm sending a report in the other thread.


Hi DJ. I installed and tested the  plug- in with a slider. ( your post #21). It works well . Response is very quick.  When robot is switched on, the  servo goes to its  center position (0). No handshake needed. Slider effect : all at left:  -90, CCW all at right : +10, CW Handshake : goes to center position. Moving  the slider now,  the limit positions return as above.

#26   — Edited

Try this latest plugin (Version #9). Connect to the robot and assign Vx servos. Use servo controls to move them.

Tell me if you get the correct range of servo movement.


It doesn't connect !...the button at left of "connect"  button is blank , it can't be written , it only turns blue  or white.  What's it for ?


Oooops - forgot to load the port list in the drop down. Try the latest version #10

#29   — Edited

OK, plug-in works. Servos perform whole range . -90  :  ezb=1 0      :  ezb= 72  (about) +90  :  ezb= 147 . Exceeding this value servo stalls and may release (internal protection ?) Init centers all servos correctly.


previous test was done moving  servos with"real time update " in  auto movement control (frames programming). I created 2 frames and an action with them , but execute, jump, transition don't work.


Try version #11 and let me know about the ranges.


ezb=90 : center (exact) ezb=180 : turns CW  :  + 90  (exact) ezb=0     :  turns CCW : almost -90 ( not exact, maybe  87-88 )

Actions not working, as said in post #30.


The Auto Position currently requires an ezb connection to operate. Connect to either the ezb emulator or an ezb during operation for the time being. I’ll change that Auto Position the next release of ARC

#34   — Edited

OK, I understand. An update is needed to make ez b  work with bluetooth only.  I tested with an ezb connected , all works.

Can you make a refinement for  ezb=0  to  goto 90 exactly (my post #32 ) ? May I suggest (posts 15 and 16.1)  , to have a partial  control on alpha's audio,  to provide a command to start / stop specific  mp3 files already stored in the sd card ? The bluetooth protocol should  have messages for that.

#35   — Edited

Everything that can be done is done with the plugin. The protocol document is incomplete by UBtech. There is no complete information on how to trigger audio files from the sd card. servo positions are done as well. No additional work can be done with the incomplete documentation from ubtech. Contact UBTech to obtain complete command set and perhaps more can be done.

#36   — Edited

Never mind ! This plug-in is a great tool to hack alpha  and its good servos. All other functions can be obtained adding EZB v4 or Iotiny. Please,  provide  in the plug in  a command  for internal leds on/off  (this function is no more in the latest version of plug-in).


DJ, I edited my last post , asking for a command for ubtech leds, that  was in previous test version of the plug in but not in the latest..

#39   — Edited

I'm testing this plug-in.  It's necessary to connect an ezb v4, as you said in a previous post, otherwise actions don't work. Is  a new version  of ezb already available to fix this ? Note 1: init resets all servos. Ezb initial position is 90 for all servos , but servos go to various unpredictable different positions. Note 2: if robot is switched off, ezb crashes, and PC must be restarted.

#40   — Edited


This is the program i'm using to test the plug in. There is an action that  should move servo n.1 between  1 and 180 and then repeat for ever. But it doesn't repeat this exact sequence for ever. After one cycle,  positions aren't  always the same,  for example they are  45 or 135,  sometimes  180, and even pauses seem to be  different in each cycle. The  message sent  to a  servo for going  to a specific position seems  not to have  always  the same effect. Remember  also that, if you switch off the robot for some reason,  EZB crashes and the PC must be restarted.


Hi DJ. I'm sure  you are busy on many issues, but  I hope , when it'll be  possible for you,  you'll go back  working on this  one .


I'm not sure what else can be done. It seems the servos only respond when they want to respond. I'll try another update with experimental settings as usual, and see if that helps. But unless they update the documentation for the robot, i'm shooting in the dark.

#43   — Edited

I understand, there's lack of information about  bluetooth protocol. lt's a non  promising work.


@DJ. A new idea. We have experimented direct command of servos with  bluetooth plug-ins, but they  don't work correctly. As you said, and i agree, further trials  to drive  servos directly are shots in the dark. We might try another path, i.e. using ezb software and also  ubtech software, but  only to move the servos.  The procedure could be:

  1. Actions   are programmed using ubtech PC software. This creates a special ubtech file containing action information. The file is  saved in the PC with its name , and sent to the robot via USB as usual with this robot .
  2. The execution of the action is usually started or stopped  by a bluetooth tablet.  EZB could do the same thing , using the bluetooth protocol  command called  "implementing the action list" that sends  to the robot, via bluetooth, a string with the action file name.
  3. A iotiny on board might perform, under ez-b control, other functions alpha can't  perform (sound, camera, etc.)

I'd  make such experiments .  Do you agree ? I need some tool  to send (and receive) bytes via bluetooth (by ezb or PC).  Please  help with this.


Referring to my previous post, can you help providing or suggesting some tool to send (and receive) bluetooth messages for my experiments ?

United Kingdom

Was this made for Alpha 1s or Alpha 1p?

I have an Alpha 1s and whilst he does connect (flashes lights and plays little tune) I can not make him move. I have read all instructions and all posts here but no joy.

As I have only recently 'adopted' my Alpha, I was hoping to use him as a learning tool before moving up to the EZB and modifying him. I am a mechanical design engineer and was really wanting this to be my first step into robotic programming.

#47   — Edited

Hey Icy - as far as i know, the skill was created to work with the alpha 1s. Unless a recent firmware update has voided the communication protocol, it should still work.

You'll need to select the Vx servos that correspond to the servo IDs of the alpha. Then, you can add other robot skills and ensure you select those Vx servos in those skills as well. Specify the min and max of those servos or they will not move.

There's a dozen or so EZB firmwares available for variety of hardware - while the most popular is the EZ-Robot EZ-B v4, which comes pre-installed with the firmware. The list of EZB compatible hardware is here:

If you're still having trouble and believe a firmware update on the alpha changed some things, we'd be happy to help you out. However, there's limited information available about their communication protocol. It would be a good start for you to contact the manufacturer and request a protocol definition for the bluetooth connection. We can go from there to update the skill appropriately

United Kingdom

Thanks for the quick response, I've figured it out now and have all his servos set up and moving. Im slowly getting my head around the software but its a totally new way of thinking for me.

Now I have him moving, I would like to start programming some routines using Roboscratch. I assume I would have to add the Alpha servo skill to be able to do this, is that correct?


that’s great to hear. Here’s a real quick browse of ARC overview for ya:

the concept is the graphical skills replace large bits of code. Each skill is some sort of function that communicates with one another. In your case the alpha skill is acting as a servo driver.

Roboscratch uses the configuration of alpha. I think you might be beyond RoboScratch though. It’s made mostly for elementary school children. Not to say it isn’t fun, but it isn’t super exciting.

id recommend using the Auto Position skill. It lets you design the movements and such. Now, we have heard reports that the alpha had trouble with having the servo positions sent in rapid concession. Be warned of that limitation apparently. Here’s a link to the Auto Position manual:

United Kingdom

Thanks again for your help, its very much appreciated. I've done a quick test using Auto Position and think I have it straight in my mind as to how it works. I dont appear to be able to control servo speed at the moment, I am tired though so will have another look tomorrow.


I do not believe the speed is supported with those servos. But the speed value in Auto Position is kind of redundant. Because the Auto Position takes care of making sure the servos arrive at the destination frame at the same time. It does that regardless of the speed support

United Kingdom

Been having another play today and to be honest, I'm at the point of giving up. There are just too many unknowns for me to continue. I just cant seem to get any sort of logical response from him.

Am I not understanding the software? Am i using the software incorrectly? Does the software function correctly with this robot? Does my robot function correctly?

I was really hoping for this to be a cheap introduction to robotics and I now think I was wrong. I also dont really want to spend any more money on this as I feel I have already spent enough on what is now effectively scrap.

As I cant answer any of the above questions, I simply cant think how I can continue with him.


I feel it is the robot. We have received a number of poor customer experiences with that robot - and many have returned them or sold them. The trouble is the manufacturer is very quiet and does not reply to customers or help with their product.

My advise is to sell the robot and get yourself something more reliable and cheaper. I do recommend the EZ-Robot JD Humanoid if you want to maintain the humanoid form-factor, because it works very well - and has people learning with it all around the world starting from elementary school. EZ-Robot also has a lot of tutorials for their robots. Here's the tutorials for the JD:

Oh, and here's where you can get a JD:


@DJ. I've been working on Alpha 1S until last february using EZB V4.  I couldn't obtain  reliable servo  control.  I do know that protocol information is missing, but I'm  seeing here a "skill" suggested for that robot  and a "version 19"  (for the plug-in ?) making me hope that some progress has been made since then  . Have  you or  someone else tested with success  these new tools ?


You'd have to try and see - with the very minor amount of information available - and the lack of cooperation of the manufacturer, what you get is what you get with the skill until more information is provided

United Kingdom

I reached out to Ubtech but got no response, which I believe is common for them. I have managed to obtain their servo callibration tool though. If this is any use to anyone, I would be more than happy to send it to you.


Please send the calibration tool. I can test it and see what it can do. I had kind answers from Ubtech whenever I asked  for explanation of their software and hardware problems for the Alpha 1S. I never asked for protocols etc.

United Kingdom

Leonardo46, let me know your email and I will send it. Its 3.8Mb when zipped so should be ok.


Icy, you can attach the file to a message. Press the file button in the editor


Thank you. I'll try to understad what's for

United Kingdom

Well the callibrator certainly hellped me getting his initial standing position correct, he was standing with one foot very slightly raised so have sorted that.

Anyway, Im not sure of the information you used to create this plugin but I found the attached file today and thought it might be usefull. It means nothing to me and may even be the info used to create your plugin.Alpha1 Series Bluetooth.pdf

#63   — Edited

That’s the information (protocol) used to create the robot skill.

Controlling a robot by sending commands is basic effort that we do everyday with tens of thousands of other robots. This causes us to believe that the ubtech alpha robot has a fundamental bug in the protocol design or servo firmware. Because it’s not upgradable, they discontinued the product following these issues. The internet is full of others experiencing the same issues. To the extent that there are people creating replacement PCBs (circuit boards) to make the robot operational by remote commands.

while the robot somewhat works with the command set they published, it seems to be about the best it does. Contacting the manufacturer for support with their product is the best advice. Otherwise, many other Synthiam users have simply sold their alpha robot and upgraded to more cost effective and powerful robots that include cameras and real robot features.


@icy8: I have the Alhpa 1s and I replaced the board with the EZ-B v4/2 Wi-Fi Robot Controller and I use the lewansoul servo addon to control it. I rewired the four connectors arms and legs to one connector and it works!!! Hope this wil help you if the cost is a problem you can try the EZ-B IoTiny


Unknown Country

I found out that 1372 ubtech alpha 1s robots have been modified for use in a commercial.

I verified that the bluetooth module was disabled and a 433Mhz RF module was inserted, probably to start all the robots simultaneously. however, I believe the controller (STM32) firmware have been modified to use the RF module. Could someone explain to me how to reinstall the original firmware? Thank you!!!


hi all

remember the alpha robot shoulder servo's are sitting horizontal in the body . not vertikel as jd . thats why his arms doesn go al the way up but only forwart . just my 2 cents .