A-Pod 3DoF Bot Board II / BASIC Atom Pro Tutorial

Last modified by Eric Nantel on 2023/01/26 11:55

A-Pod Bot Board II / BASIC Atom Pro Tutorial.

Updated 08/10/2010. Phoenix code v2.0.

Safety first! Wear eye protection and never touch a powered robot!

  - Basic Micro Studio
  - Basic Atom Pro program

Image of A-Pod.

I. SSC-32 Configuration: Registers


Step 1.
Place the robot on top of a CD spindle or similar to hold the legs off the ground.

Download and install the latest version of LynxTerm.

Figure 1.

Step 2.
Connect the SSC-32 to the PC's serial port. This can be recognized by the 9 pins that stick out. Apply power, and the green LED should light and stay on until it receives a valid serial command. Run the LynxTerm program.

To test basic communications, do a "ver" test: type "ver" into the terminal then press "Enter". You should see the proper firmware version returned.

Please consult the serial troubleshooting guide if you have difficulties with this.

Figure 2.
Step 3.
Download the 2-07EGP_A1A.abl firmware or higher. Make sure the baud rate is set to 115.2k before attempting to update. Refer to the manual if you need more information regarding baud rate.

Click on "Firmware" along the bottom of the LynxTerm screen.

Click on "Open" and browse to the firmware file you just downloaded.

Make sure the SSC-32 is powered, and click on "Begin Update".

Figure 3.

Step 4.
When the firmware has been successfully updated, click "Ok" then "Exit".

Now do another "ver" test: type "ver" into the terminal then press "Enter". You should see a new firmware version returned.

Figure 4.


Step 5.
Place the robot in a position as close to neutral as possible. Click on "All=1500" in the bottom right portion of the screen. Your robot should go to and hold the neutral position, and should resemble figures 7 through 13. If the joints are off by more than 15° you may have made an error in assembly. To correct this, remove the center screw from the round servo horn, pull the servo horn off the servo, rotate until it's aligned, then reattach the servo horn.

Caution! You are about to power up the servos. When this is done immediately make sure all of the moving parts are not tangled or hung up and no joints are positioned beyond their range of motion. If anything looks wrong, power down and look for mechanical problems with the build. This is bot has long, apendeges. You must periodically allow the servos to cool down if left on for more then 5 minutes at a time. Take care with the vertical servos, especially the head and tail. They should be monitored to prevent overheating during the calibration.

Figure 5.

Step 6.
From the main screen, click on "Reg" to open the Registers page.

Click on "Default" to initialize default values.

Figure 6.

Refer to this servo channel number guide for the following configuration steps.

Do the most accurate alignment as possible! The robot can only operate as well as as it is aligned. In other words, a poorly aligned robot will walk poorly!

Servo Channel Numbering.

Step 7.
You need to adjust the robot's horizontal hip servos. Select servo #04, then adjust the "Offset" slider until the leg is perpendicular to the robot's chassis as shown.

Do this for servos #04 and 20.

Note, the mouse's scrollwheel or keyboard's arrow keys can be used to make fine adjustments.

Figure 7.

Step 8.
You need to adjust the robot's remaining horizontal hip servos. Select servo #00, then adjust the "Offset" slider until the tibia is at a 45° angle from the robot's chassis as shown.

Do this for servos #00, 08, 16, 24.

Note, the mouse's scrollwheel or keyboard's arrow keys can be used to make fine adjustments.

Figure 8.

Step 9.
Now adjust the robot's vertical hip servos. Select servo #1, then adjust the "Offset" slider until the robot's femur is parallel to the ground as shown.

Do this for servos #01, 05, 09, 17, 21, 25.

Figure 9.

Step 10.
Now adjust the robot's knee servos. Select servo #2, then adjust the "Offset" slider until the tip of the robot's foot is directly underneath the knee servo pivot point. From the servo's pivot point to the tip of the foot should be perpendicular to the ground as shown.

Do this for servos #02, 06, 10, 18, 22, 26.

Figure 10.

Step 11.
Now adjust the robot's mandible servos. Adjust #13 and #14 until the mandibles are level with the ground, both from the front and side.

Figure 11.

Step 12.
Now adjust the remaining mandible servos. Adjust servo #12 until the mandibles are inline with the chassis. Adjust the two gripper servos (#28 and #29) so that they just barely touch each other, as shown. It is important for the gripper servos to not be straining against each other.

Figure 12.

Step 13.
Now for the robot's abdomen servos. Adjust #30 until the abdomen is inline with the chassis. Adjust #31 until the abdomen is parallel to the ground.

Figure 13.


II. Bot Board II Configuration

Step 14.
To connect the Bot Board II to the SSC-32, you will need to modify a 12" servo extender cable. Remove the header pins from the cable so you have two female ends. Then use an exacto knife to gently pry the tab up to pull the red wire free on one end. Cover the exposed female connector with heat shrink to avoid accidental shorts.

Remove the TX and RX jumpers from the lower-right corner of the SSC-32, and plug the unmodified end of the cable in. Yellow on TX, red on RX, and black on ground.

Plug in some extra lengths of 18-24awg wires to VL on the SSC-32, with the 9vdc battery clip. These will be used to run power to the Bot Board II.

See Tables 15-2 through 15-4, and the schematic below for connection information.

Figure 14.

Step 15.
Plug the modified end of the servo to the Bot Board II. The yellow and black part goes on pin 10 with the black wire toward the outside of the Bot Board II. Plug the red wire in on Pin 11, on the header pin nearest the center of the Bot Board II.

Plug in the PS2 cable as shown in Figure 15-1. Plug in the power wires from the SSC-32 to VL.

Note: Refer only to Figure 15-1 for connection information. The cable colors in the picture may be outdated. If your cable's colors do not match the diagram, you can find a complete listing of possible colors here.

See Tables 15-2 through 15-4, and the schematic below for connection information.

Install the BASIC Atom Pro as shown.

Atom Pro Orientation:

Figure 15-1.

Connection Information Tables.

SSC-32 Connection Information
What Where
Jumper installed VS1=VS2
Jumper installed 38.4 Baud Rate
Unmodified Servo Cable End TX / RX / GND
Black wire on GND
9vdc Battery Clip VL
Power Wires VL to BBII's VL
Battery Wiring Harness VS1
Bot Board II Connection Information
What Where
Power Wires SSC-32's VL to VL
Modified Servo Cable End
Black and Yellow wires
Pin 10, Black wire toward outside of board
Modified Servo Cable End
Red wire
Pin 11, toward center of board
Power jumper for I/O group 12-15 5vdc
PS2 Cable I/O Group 12-15
(see diagram above)

Table 15-2

Table 15-3

Servo Channels and Schematic Label Explanations
RRH / 00 Right Rear Horizontal Hip LRH / 16 Left Rear Horizontal Hip RM / 28 Right Mandible
RRV / 01 Right Rear Vertical Hip LRV / 17 Left Rear Vertical Hip LM / 29 Left Mandible
RRK / 02 Right Rear Knee LRK / 18 Left Rear Knee AP / 30 Abdomen Pan
RMH / 04 Right Middle Horizontal Hip LMH / 20 Left Middle Horizontal Hip AT / 31 Abdomen Tilt
RMV / 05 Right Middle Vertical Hip LMV / 21 Left Middle Vertical Hip HP / 12 Mandible Pan
RMK / 06 Right Middle Knee LMK / 22 Left Middle Knee HR / 13 Mandible Rotate
RFH / 08 Right Front Horizontal Hip LFH / 24 Left Front Horizontal Hip HT / 14 Mandible Tilt
RFV / 09 Right Front Vertical Hip LFV / 25 Left Front Vertical Hip  
RFK / 10 Right Front Knee LFK / 26 Left Front Knee

Table 15-4




Step 16. Download the Program
Download the Basic Micro Studio. Install and run the IDE to allow programming the chip.

Download the .zip file, and unzip it. Open the .prj file in Studio (File->Open->*.prj), and verify that the files listed in the Workspace are in the order shown in Table 16. Install the PS2 controller receiver into the PS2 cable on the robot, make sure your PS2 controller is turned on, and then apply power to the robot. Program the Atom Pro. If all is well, you will hear a beep after power up. Press Start and the legs should snap to position. At this point, if you properly calibrated the servo offsets, the legs should be perfectly aligned.

Note: The software switches the controller to analog mode. However, some controllers may need to be put into analog mode manually. If you hear a continuous beeping, the PS2 controller is not connected to the Atom properly or is not functioning. If you hear beeping, you can try pressing Reset on the Bot Board II. You can also test the controller with a Playstation 2 to verify that it is working.

A-Pod BASIC Atom Pro Program

Zip file contains:

  • apod_ps2.prj
  • Phoenix_Config_3DOFAPod.bas
  • Phoenix_Control_ps2.bas
  • Phoenix_Core.bas
  • Phoenix_Driver_SSC-32.bas
Table 16.
Step 17. Controlling the Robot with PS2 Controller
The default is Walking mode 1. Use the Left joystick to move the robot around without turning (this is called "translation"), and the Right joystick rotates the robot as it moves. Up and Down on the D-Pad increases or decreases the height of the body. The Triangle button puts the body at 35mm from the ground. The Triangle swaps between a walking stance and a 'resting' position.

There are two special "body moves" functions that are triggered by pressing Circle, or X. While in one of these modes, the hexapod does not walk. The joysticks and some buttons change function depending on which mode is toggled on; see Table 17 for details.



Common Controls

Start Turn robot on/off
R3 Toggle full/half head rotation range
L1 Open Mandibles
L2 Close Mandibles
L2 + D-Pad left Decrease gripper torque
L2 + D-Pad right Increase gripper torque
O Circle Toggle Rotate mode
X Cross Toggle Shift mode
[] Square Toggle Balance mode
(Balance mode: Lifts and lowers body along with moving legs.)
/\ Triangle Switch between body at 35mm from ground (walking default) and body lowered to ground
D-Pad Up Body up 10mm
D-Pad Down Body down 10mm
D-Pad Left Decrease speed by 50mS
D-Pad Right Increase speed by 50mS

Walk Mode Controls
(Default is Walk mode 1)

Select Change gaits
Left Joystick Walk mode 1: Walk/strafe
Walk mode 2: Disabled
Right Joystick Walk mode 1: Rotate
Walk mode 2: Walk/rotate
R1 Toggle double gait travel height
R2 Toggle double gait travel length



Shift Mode Controls
(Special mode)

L1 Turn Shift mode off
Left Joystick Shift body X/Z
Right Joystick Shift and rotate body Y

Rotate Mode Controls
(Special mode)

O Circle Turn Rotate mode off
Left Joystick Rotate Y/Translate Z
Right Joystick Rotate Z/X
Select Cycle rotate function (Head tracking, fixed head, head only)
R1 Move center of rotation to head (when held)
R2 Move center of rotation to tail (when held)
L3 Reset body rotations
PS2 Controls
Table 17.
Created by Eric Nantel on 2023/01/26 11:42
Copyright RobotShop 2018