Society of Robots - Axon

The SOR_Axon module provides a GUI interface to the Axon Microcontroller in conjunction with the Axon .hex program that can also be downloaded here or for the Axon II here. This application provides a quick way to use the Axon MCU to control up to 29 servos without having to write any code for the Axon.

Once you have added power and connected the USB cord to the Axon you can download the above file that includes the source .c file and the entire AVRStudio project file for the Axon servo controller program. Note that RoboRealm uses the specified protocol in that file to communicate in a reliable manner with the Axon MCU to control all 29 servos.

Once you have downloaded and unzipped the above file you will have to locate the Default folder which contains the file Servo_Controller.hex which is the file to be uploaded to the Axon MCU. You will also notice the upload.bat file in that folder. You can edit that file and change the port number in the file to make it easy for you to update the Axon. The parameter -c2 is for the COM port. You will have to update that to 1,2,3,4 based on your system. If your assigned COM port for the Axon is assigned higher than 4 (this happens frequently) you will have to use force the port number to one of those as the boot loader program does not work with any COM ports higher than 4.

To force your COM port:

  1. Right click My Computer and select Manage.
  2. Click on Device Manager in the interface that opens
  3. Open the Ports (COM & LPT) tree
  4. Right click on Axon USB which normally reads "Silicon Labs CP210x USB to ..." and select Properties.
  5. Click on Port Settings tab.
  6. Select Advanced button
  7. Select an appropriate COM Port Number using the provided dropdown menu.
  8. Click ok until all dialogs are gone.

Once you are ready you should just be able to open up a command console (Start Button->Run->type in "cmd") and cd to the Default folder that you unzipped. Switch off you Axon, then run upload.bat, then switch on your Axon. That should hopefully upload the servo controller program to the Axon. Once this is complete you can use this module to communicate to the Axon and control one of 29 servos. Please see Society of Robots if you have issues with how to upload programs to your Axon.



1. COM Port - Select the COM port that the Axon is connected to on your computer. Note that you will only see COM ports that are recognized by your computer.

2. Baud Rate - Select the appropriate baud rate. Note that 115200 is the default and should not be changed unless required.

3. Checkbox - To enable/disable a particular servo channel select the checkbox to change its state. When disabled the servo will not be sent any further position commands and can be manually moved.

4. Scroll Bars - After specifying the COM port and speed you should be able to move your servos by dragging the sliders to the right or left or by specifying a number within the current value text box in the Servo Config area. If the servos do not move check your COM port setting and/or board connections. You should see a small green light flash on the Axon board when any serial communication is present. If you do not see this light flashing when moving the scroll bar around check your connections. If you do see a flashing light with no movement check the channel you plugged the servo into.

5. Variable - Select an appropriate variable that contains or will contain the position value that will be sent to the servo board. This is used to automatically change the servo values based on your VBScript (using the SetVariable function) or Extension based program.

6. Min/Max Limits - You can use the min/max limits to ensure that even if the variables specify large or low values (due to programming errors) that the board does not actually attempt to move the servos above or below the specified limits. This can be used as an additional precaution in case your servos cannot physically move beyond certain limits.

8. Bank # - Select the appropriate bank of servos that you would like to configure. Note the servo port number which corresponds to the port number of the Axon board. Only eight port are visible at any time.

9. Press STOP if you need to quickly disable all the servos and return them to the middle or neutral (128) position.

Note that if you set a servo channel to be positioned using a variable's value you will lose manual control over that servo. Changing the variable value, however, will change that servo's position.

For more information

Society Of Robots - Axon

 New Post 

SOR_Axon Related Forum PostsLast postPostsViews
Axion Servo Controler
I am having trouble geetting a servo to move with my Axion controler. I saw the Servo_controller program and downloaded. Got it...
6 years 7 3831
Roborelm software servo controller
Hi, I just wanted to know how to use the SOR servo controller to make a servo move more than 8 turns. I am using the axon microc...
6 years 2 1806
Serial problems
I am trying to debug with the serial interface and am having some difficulties. Specifically I am t...
8 years 8 2497
SOR_Axon causes RoboRealm to crash
Has anyone had any luck using the SOR_Axon file in RoboRealm? I'm running XP, service pack 2, and...
8 years 5 2617