Wiki source code of The Complete T-Hex 3DoF Tutorial (Bot Board II)
Last modified by Eric Nantel on 2026/04/02 17:25
Hide last authors
![]() |
26.1 | 1 | {{html wiki="false" clean="false"}} |
| 2 | <style> | ||
| 3 | .asm { font-family: Verdana, Helvetica, sans-serif; font-size: 14px; max-width: 960px; } | ||
| 4 | .asm-step { background: #fff; border: 1px solid #ddd; border-radius: 8px; margin-bottom: 1.5rem; overflow: hidden; } | ||
| 5 | .asm-step-header { background: #F5A800; display: flex; align-items: stretch; justify-content: space-between; } | ||
| 6 | .asm-step-name { padding: 0.6rem 1rem; font-weight: bold; font-size: 15px; color: #2C1A00; } | ||
| 7 | .asm-step-num { background: #1a1a1a; color: white; padding: 0.6rem 1.1rem; font-weight: bold; font-size: 15px; display: flex; align-items: center; white-space: nowrap; } | ||
| 8 | .asm-step-body { display: flex; flex-wrap: wrap; gap: 1.25rem; padding: 1rem; align-items: flex-start; } | ||
| 9 | .asm-step-text { flex: 1 1 250px; font-size: 13px; line-height: 1.6; } | ||
| 10 | .asm-step-figure { flex: 0 1 280px; text-align: center; } | ||
| 11 | .asm-step-figure img { max-width: 100%; height: auto; border: 1px solid #ccc; border-radius: 4px; } | ||
| 12 | .asm-step-figure span { display: block; font-size: 12px; color: #666; margin-top: 0.3rem; } | ||
| 13 | .asm-fullwidth { padding: 1rem; border-top: 1px solid #eee; font-size: 13px; overflow-x: auto; } | ||
| 14 | .asm-info { background: #f9f9f9; border: 1px solid #ddd; border-radius: 8px; padding: 1rem; margin-bottom: 1.5rem; font-size: 13px; line-height: 1.6; } | ||
| 15 | .asm-info h2 { font-size: 15px; margin: 0 0 0.5rem 0; color: #2C1A00; } | ||
| 16 | .ref-table { border-collapse: collapse; width: 100%; font-size: 12px; } | ||
| 17 | .ref-table th { background: #ccc; border: 1px solid #aaa; padding: 0.3rem 0.6rem; text-align: center; } | ||
| 18 | .ref-table td { border: 1px solid #ddd; padding: 0.3rem 0.6rem; text-align: center; } | ||
| 19 | .ref-table tr:nth-child(odd) td { background: #f9f9f9; } | ||
| 20 | .ref-table tr:nth-child(even) td { background: #fff; } | ||
| 21 | h1 { font-size: 18px; margin-bottom: 0.25rem; } | ||
| 22 | </style> | ||
![]() |
1.1 | 23 | |
![]() |
26.1 | 24 | <div class="asm"> |
![]() |
18.1 | 25 | |
![]() |
26.1 | 26 | <!-- Header --> |
| 27 | <div style="padding: 0.5rem 0 1rem 0;"> | ||
| 28 | <h1>The Complete 3DOF T-HEX Tutorial</h1> | ||
| 29 | <p><b>Updated January 5, 2011</b></p> | ||
| 30 | <p>This guide follows the T-HEX assembly guide. The purpose is to calibrate the servos and control the robot with a PS2 remote control.</p> | ||
| 31 | <div style="text-align:center; margin-top:0.75rem;"> | ||
| 32 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/tutorial00.jpg" style="max-width:320px; border:1px solid #ccc; border-radius:4px;"> | ||
| 33 | <p style="font-size:11px; color:#666; margin-top:0.3rem;"><b>Image of 3DOF T-HEX.</b></p> | ||
| 34 | </div> | ||
| 35 | </div> | ||
| 36 | |||
| 37 | <!-- Requirements --> | ||
| 38 | <div class="asm-info"> | ||
| 39 | <h2>Hardware & Software</h2> | ||
| 40 | <p><b>Hardware:</b> 3DOF T-HEX Hexapod | SSC-32 | Bot Board II | BASIC Atom Pro 28 | PS2 Cable | PS2 Wireless Controller</p> | ||
| 41 | <p><b>Software:</b> Basic Micro Studio</p> | ||
| 42 | </div> | ||
| 43 | |||
| 44 | <!-- Step 1 --> | ||
| 45 | <div class="asm-step"> | ||
| 46 | <div class="asm-step-header"> | ||
| 47 | <div class="asm-step-name">T-HEX Tutorial — SSC-32 Firmware Update</div> | ||
| 48 | <div class="asm-step-num">Step 1 / 16</div> | ||
| 49 | </div> | ||
| 50 | <div class="asm-step-body"> | ||
| 51 | <div class="asm-step-text"> | ||
| 52 | <p>Place the robot on top of a CD spindle or similar to hold the legs off the ground.</p> | ||
| 53 | <p>Download and install <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/ses-software/lynxterm/" target="_blank">LynxTerm</a>. Connect the SSC-32 to the serial port and apply power. The green LED should light and stay on until it receives a valid serial command.</p> | ||
| 54 | <p>Please consult the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/support/serial-usb-serial-port-troubleshooting/" target="_blank">serial troubleshooting guide</a> if you have difficulties.</p> | ||
![]() |
18.1 | 55 | </div> |
![]() |
26.1 | 56 | <div class="asm-step-figure"> |
| 57 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/tutorial01.jpg"> | ||
| 58 | <span>Figure 1.</span> | ||
![]() |
18.1 | 59 | </div> |
![]() |
26.1 | 60 | </div> |
| 61 | </div> | ||
| 62 | |||
| 63 | <!-- Step 2 --> | ||
| 64 | <div class="asm-step"> | ||
| 65 | <div class="asm-step-header"> | ||
| 66 | <div class="asm-step-name">T-HEX Tutorial — Update Firmware</div> | ||
| 67 | <div class="asm-step-num">Step 2 / 16</div> | ||
| 68 | </div> | ||
| 69 | <div class="asm-step-body"> | ||
| 70 | <div class="asm-step-text"> | ||
| 71 | <p>Download the 2.04GP Beta firmware. Remove power from the SSC-32 and make sure the baud rate is set to 115.2k.</p> | ||
| 72 | <p>Apply power again, ensure it's connected to the PC, and click "Firmware" at the bottom of the LynxTerm screen. Click "Open" and browse to the firmware file. Click "Begin Update".</p> | ||
| 73 | </div> | ||
| 74 | <div class="asm-step-figure"> | ||
| 75 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/reg07.jpg"> | ||
| 76 | <span>Figure 2.</span> | ||
| 77 | </div> | ||
| 78 | </div> | ||
| 79 | </div> | ||
| 80 | |||
| 81 | <!-- Step 3 --> | ||
| 82 | <div class="asm-step"> | ||
| 83 | <div class="asm-step-header"> | ||
| 84 | <div class="asm-step-name">T-HEX Tutorial — Verify Firmware</div> | ||
| 85 | <div class="asm-step-num">Step 3 / 16</div> | ||
| 86 | </div> | ||
| 87 | <div class="asm-step-body"> | ||
| 88 | <div class="asm-step-text"> | ||
| 89 | <p>When the firmware update is complete, click "Ok" then "Exit". Do the "ver" test: type "ver" into the terminal and press Enter. You should see the proper firmware version returned.</p> | ||
| 90 | </div> | ||
| 91 | <div class="asm-step-figure"> | ||
| 92 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/reg08.jpg"> | ||
| 93 | <span>Figure 3.</span> | ||
| 94 | </div> | ||
| 95 | </div> | ||
| 96 | </div> | ||
| 97 | |||
| 98 | <!-- Step 4 --> | ||
| 99 | <div class="asm-step"> | ||
| 100 | <div class="asm-step-header"> | ||
| 101 | <div class="asm-step-name">T-HEX Tutorial — SSC-32 Registers — Enable Servos</div> | ||
| 102 | <div class="asm-step-num">Step 4 / 16</div> | ||
| 103 | </div> | ||
| 104 | <div class="asm-step-body"> | ||
| 105 | <div class="asm-step-text"> | ||
| 106 | <p>Place the robot as close to neutral position as possible. Click "All=1500" in the bottom right of the screen. The robot should hold the neutral position, resembling Figures 6, 7, and 8.</p> | ||
| 107 | <p>If joints are off by more than 15°, remove the center screw from the servo horn, pull the horn off, rotate until aligned, then reattach.</p> | ||
| 108 | </div> | ||
| 109 | <div class="asm-step-figure"> | ||
| 110 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/reg09.jpg"> | ||
| 111 | <span>Figure 4.</span> | ||
| 112 | </div> | ||
| 113 | </div> | ||
| 114 | </div> | ||
| 115 | |||
| 116 | <!-- Step 5 --> | ||
| 117 | <div class="asm-step"> | ||
| 118 | <div class="asm-step-header"> | ||
| 119 | <div class="asm-step-name">T-HEX Tutorial — Initialize Registers</div> | ||
| 120 | <div class="asm-step-num">Step 5 / 16</div> | ||
| 121 | </div> | ||
| 122 | <div class="asm-step-body"> | ||
| 123 | <div class="asm-step-text"> | ||
| 124 | <p>From the main screen, click "Reg" to open the Registers page. Click "Default" to initialize default values.</p> | ||
| 125 | </div> | ||
| 126 | <div class="asm-step-figure"> | ||
| 127 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/reg02.jpg"> | ||
| 128 | <span>Figure 5.</span> | ||
| 129 | </div> | ||
| 130 | </div> | ||
| 131 | </div> | ||
| 132 | |||
| 133 | <!-- Step 6 --> | ||
| 134 | <div class="asm-step"> | ||
| 135 | <div class="asm-step-header"> | ||
| 136 | <div class="asm-step-name">T-HEX Tutorial — Align Horizontal Hip Servos</div> | ||
| 137 | <div class="asm-step-num">Step 6 / 16</div> | ||
| 138 | </div> | ||
| 139 | <div class="asm-step-body"> | ||
| 140 | <div class="asm-step-text"> | ||
| 141 | <p>Adjust the robot's horizontal hip servos. Select servo #00, then adjust the "Offset" slider until the tibia is perpendicular to the robot's chassis as shown.</p> | ||
| 142 | <p>Do this for servos <b>#00, 04, 08, 16, 20, 24</b>.</p> | ||
| 143 | <p>Note: the mouse scrollwheel or keyboard arrow keys can be used for fine adjustments.</p> | ||
| 144 | </div> | ||
| 145 | <div class="asm-step-figure"> | ||
| 146 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/tutorial06.jpg"> | ||
| 147 | <span>Figure 6.</span> | ||
| 148 | </div> | ||
| 149 | </div> | ||
| 150 | </div> | ||
| 151 | |||
| 152 | <!-- Step 7 --> | ||
| 153 | <div class="asm-step"> | ||
| 154 | <div class="asm-step-header"> | ||
| 155 | <div class="asm-step-name">T-HEX Tutorial — Align Vertical Hip Servos</div> | ||
| 156 | <div class="asm-step-num">Step 7 / 16</div> | ||
| 157 | </div> | ||
| 158 | <div class="asm-step-body"> | ||
| 159 | <div class="asm-step-text"> | ||
| 160 | <p>Adjust the vertical hip servos. Select servo #01, then adjust the "Offset" slider until the robot's femur is parallel to the ground as shown.</p> | ||
| 161 | <p>Do this for servos <b>#01, 05, 09, 17, 21, 25</b>.</p> | ||
| 162 | </div> | ||
| 163 | <div class="asm-step-figure"> | ||
| 164 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/tutorial07.jpg"> | ||
| 165 | <span>Figure 7.</span> | ||
| 166 | </div> | ||
| 167 | </div> | ||
| 168 | </div> | ||
| 169 | |||
| 170 | <!-- Step 8 --> | ||
| 171 | <div class="asm-step"> | ||
| 172 | <div class="asm-step-header"> | ||
| 173 | <div class="asm-step-name">T-HEX Tutorial — Align Knee Servos</div> | ||
| 174 | <div class="asm-step-num">Step 8 / 16</div> | ||
| 175 | </div> | ||
| 176 | <div class="asm-step-body"> | ||
| 177 | <div class="asm-step-text"> | ||
| 178 | <p>Adjust the knee servos. Select servo #03, then adjust the "Offset" slider until the foot is parallel to the ground as shown.</p> | ||
| 179 | <p>Do this for servos <b>#02, 06, 10, 18, 22, 26</b>.</p> | ||
| 180 | </div> | ||
| 181 | <div class="asm-step-figure"> | ||
| 182 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/tutorial08.jpg"> | ||
| 183 | <span>Figure 8.</span> | ||
| 184 | </div> | ||
| 185 | </div> | ||
| 186 | </div> | ||
| 187 | |||
| 188 | <!-- Step 9 --> | ||
| 189 | <div class="asm-step"> | ||
| 190 | <div class="asm-step-header"> | ||
| 191 | <div class="asm-step-name">T-HEX Tutorial — Adjust Corner Hip Servos</div> | ||
| 192 | <div class="asm-step-num">Step 9 / 16</div> | ||
| 193 | </div> | ||
| 194 | <div class="asm-step-body"> | ||
| 195 | <div class="asm-step-text"> | ||
| 196 | <p>One final leg adjustment is needed. Remove the center screws on the four corner hip servos (front right, front left, rear right, rear left). Pull the servo horn off and rotate the leg outward 3 clicks (45°). Replace the screws when finished.</p> | ||
| 197 | </div> | ||
| 198 | <div class="asm-step-figure"> | ||
| 199 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/tutorial10.jpg"> | ||
| 200 | <span>Figure 9.</span> | ||
| 201 | </div> | ||
| 202 | </div> | ||
| 203 | </div> | ||
| 204 | |||
| 205 | <!-- Step 12 (original numbering) --> | ||
| 206 | <div class="asm-step"> | ||
| 207 | <div class="asm-step-header"> | ||
| 208 | <div class="asm-step-name">T-HEX Tutorial — Set Up Bot Board II</div> | ||
| 209 | <div class="asm-step-num">Step 10 / 16</div> | ||
| 210 | </div> | ||
| 211 | <div class="asm-step-body"> | ||
| 212 | <div class="asm-step-text"> | ||
| 213 | <p>Modify a 6" servo extender cable: remove the header pins so you have two female ends. Use an exacto knife to gently pry the tab up and pull the red wire free on one end. Cover the exposed connector with heat shrink to avoid accidental shorts.</p> | ||
| 214 | <p>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, black on ground.</p> | ||
| 215 | <p>See the schematic below for detailed information.</p> | ||
| 216 | </div> | ||
| 217 | <div class="asm-step-figure"> | ||
| 218 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/scmod01.jpg"> | ||
| 219 | <span>Figure 12.</span> | ||
| 220 | </div> | ||
| 221 | </div> | ||
| 222 | </div> | ||
| 223 | |||
| 224 | <!-- Step 13 with schematic --> | ||
| 225 | <div class="asm-step"> | ||
| 226 | <div class="asm-step-header"> | ||
| 227 | <div class="asm-step-name">T-HEX Tutorial — Install Bot Board II & PS2 Cable</div> | ||
| 228 | <div class="asm-step-num">Step 11 / 16</div> | ||
| 229 | </div> | ||
| 230 | <div class="asm-step-body"> | ||
| 231 | <div class="asm-step-text"> | ||
| 232 | <p>Install the Playstation 2 cable as illustrated in Figure 13-1. Remove the ABC buttons / LED jumpers. Install the speaker enable jumper. Install the DC-01 to I/O P8 with black toward the outside and yellow on the I/O pin. Consult the Bot Board II manual if needed.</p> | ||
| 233 | <p>Note: refer only to Figure 13-1 for PS2 connection information — cable colors may be outdated. A complete listing of possible colors is available <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/bot-board-ii/#aglance" target="_blank">here</a>.</p> | ||
| 234 | </div> | ||
| 235 | <div class="asm-step-figure"> | ||
| 236 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/tutorial14.jpg"> | ||
| 237 | <span>Figure 13-2.</span> | ||
| 238 | </div> | ||
| 239 | </div> | ||
| 240 | <div class="asm-fullwidth"> | ||
| 241 | <div style="display:flex; flex-wrap:wrap; gap:1.5rem; align-items:flex-start;"> | ||
| 242 | <div style="flex:0 1 260px; text-align:center;"> | ||
| 243 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/wire08s.gif" style="max-width:100%; border:1px solid #ccc; border-radius:4px;"> | ||
| 244 | <p style="font-size:12px; color:#666; margin-top:0.3rem;">Figure 13-1.</p> | ||
| 245 | </div> | ||
| 246 | <div style="flex:1 1 280px;"> | ||
| 247 | <p><b>Schematic.</b> Double check your connections against the schematic below.</p> | ||
| 248 | <table class="ref-table" style="margin-bottom:0.75rem; width:auto;"> | ||
| 249 | <tr><th colspan="3">Servo Letter Definitions</th></tr> | ||
| 250 | <tr> | ||
| 251 | <td style="text-align:left;"><b>L</b>eft<br><b>R</b>ight</td> | ||
| 252 | <td style="text-align:left;"><b>R</b>ear<br><b>M</b>iddle<br><b>F</b>ront</td> | ||
| 253 | <td style="text-align:left;"><b>K</b>nee<br><b>V</b>ertical<br><b>H</b>orizontal</td> | ||
| 254 | </tr> | ||
| 255 | </table> | ||
| 256 | <div style="text-align:center;"> | ||
| 257 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/thexsch4.gif" style="max-width:100%; border-radius:4px;"> | ||
| 258 | <p style="font-size:12px; color:#666; margin-top:0.3rem;">Schematic.</p> | ||
| 259 | </div> | ||
| 260 | </div> | ||
| 261 | </div> | ||
| 262 | </div> | ||
| 263 | </div> | ||
| 264 | |||
| 265 | <!-- Step 14 --> | ||
| 266 | <div class="asm-step"> | ||
| 267 | <div class="asm-step-header"> | ||
| 268 | <div class="asm-step-name">T-HEX Tutorial — Mount PS2 Receiver</div> | ||
| 269 | <div class="asm-step-num">Step 12 / 16</div> | ||
| 270 | </div> | ||
| 271 | <div class="asm-step-body"> | ||
| 272 | <div class="asm-step-text"> | ||
| 273 | <p>Use double-sided foam tape to secure the PS2 receiver to the robot's chassis as desired. Plug the receiver into the cable.</p> | ||
| 274 | </div> | ||
| 275 | <div class="asm-step-figure"> | ||
| 276 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/tutorial15.jpg"> | ||
| 277 | <span>Figure 14.</span> | ||
| 278 | </div> | ||
| 279 | </div> | ||
| 280 | </div> | ||
| 281 | |||
| 282 | <!-- Step 15 --> | ||
| 283 | <div class="asm-step"> | ||
| 284 | <div class="asm-step-header"> | ||
| 285 | <div class="asm-step-name">T-HEX Tutorial — Download & Program</div> | ||
| 286 | <div class="asm-step-num">Step 13 / 16</div> | ||
| 287 | </div> | ||
| 288 | <div class="asm-step-body"> | ||
| 289 | <div class="asm-step-text"> | ||
| 290 | <p>Download the latest version of BASIC Micro Studio and the 3DOF T-HEX code <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/3dofthex.zip" target="_blank">here</a>. Install and run to program the BASIC Atom Pro chip.</p> | ||
| 291 | <p>Consult the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/support/serial-usb-serial-port-troubleshooting/" target="_blank">serial troubleshooting guide</a> and the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/support/basic-micro-studio-programming/" target="_blank">Basic Micro Studio Programming Guide</a> if you have difficulties.</p> | ||
| 292 | <p>When programming is complete, you should hear a few short beeps. The legs will not snap to position until the START button on the PS2 remote is pressed. If you properly calibrated the servo offsets, the legs should be perfectly aligned.</p> | ||
| 293 | </div> | ||
| 294 | <div class="asm-step-figure"> | ||
| 295 | <img src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-robots-kits/ses-v1-robots/ses-v1-3-4-dof-hexapods/the-complete-t-hex-3-dof-tutorial/WebHome/BAStudio.jpg"> | ||
| 296 | <span>Figure 15.</span> | ||
| 297 | </div> | ||
| 298 | </div> | ||
| 299 | </div> | ||
| 300 | |||
| 301 | <!-- Step 16 — PS2 Controls --> | ||
| 302 | <div class="asm-step"> | ||
| 303 | <div class="asm-step-header"> | ||
| 304 | <div class="asm-step-name">T-HEX Tutorial — PS2 Controller Reference</div> | ||
| 305 | <div class="asm-step-num">Step 14 / 16</div> | ||
| 306 | </div> | ||
| 307 | <div class="asm-step-body"> | ||
| 308 | <div class="asm-step-text"> | ||
| 309 | <p>If you hear continuous beeping when powering on, the PS2 controller is not connected properly or not functioning. Test it with a PlayStation 2 to verify.</p> | ||
| 310 | </div> | ||
| 311 | </div> | ||
| 312 | <div class="asm-fullwidth"> | ||
| 313 | <div style="display:flex; flex-wrap:wrap; gap:1.5rem;"> | ||
| 314 | <div style="flex:1 1 280px;"> | ||
| 315 | <table class="ref-table"> | ||
| 316 | <tr><th>Button</th><th>Walking Mode (default)</th></tr> | ||
| 317 | <tr><td>Select</td><td>Cycle through gaits</td></tr> | ||
| 318 | <tr><td>Right Joystick (Walk Mode 1)</td><td>Rotate</td></tr> | ||
| 319 | <tr><td>Left Joystick (Walk Mode 1)</td><td>Walk / Strafe</td></tr> | ||
| 320 | <tr><td>Right Joystick (Walk Mode 2)</td><td>—</td></tr> | ||
| 321 | <tr><td>Left Joystick (Walk Mode 2)</td><td>Walk / Rotate</td></tr> | ||
| 322 | <tr><td>L1</td><td>Toggle Shift mode</td></tr> | ||
| 323 | <tr><td>L2</td><td>Toggle Rotate mode</td></tr> | ||
| 324 | <tr><td>R1</td><td>Toggle double gait travel speed</td></tr> | ||
| 325 | <tr><td>R2</td><td>Toggle double gait travel length</td></tr> | ||
| 326 | <tr><td>R3</td><td>Switch between walking modes</td></tr> | ||
| 327 | <tr><td>Start</td><td>Turn robot on/off</td></tr> | ||
| 328 | <tr><td>D-Pad L/R</td><td>Increase/Decrease speed by 50mS</td></tr> | ||
| 329 | <tr><td>D-Pad U/D</td><td>Body up/down 10mm</td></tr> | ||
| 330 | <tr><td>△ Triangle</td><td>Toggle body between 35mm walking height and ground</td></tr> | ||
| 331 | <tr><td>O Circle</td><td>Toggle Single Leg mode</td></tr> | ||
| 332 | <tr><td>X Cross</td><td>Toggle GP Player mode</td></tr> | ||
| 333 | <tr><td>□ Square</td><td>Toggle Balance mode</td></tr> | ||
| 334 | <tr><th colspan="2" style="background:#ccc;">GP Player Mode</th></tr> | ||
| 335 | <tr><td>Select</td><td>Switch sequences</td></tr> | ||
| 336 | <tr><td>R2</td><td>Play sequence</td></tr> | ||
| 337 | </table> | ||
| 338 | <p style="text-align:center; font-size:12px; color:#666; margin-top:0.3rem;">Table 16-2.</p> | ||
| 339 | </div> | ||
| 340 | <div style="flex:1 1 280px;"> | ||
| 341 | <table class="ref-table"> | ||
| 342 | <tr><th>Button</th><th>Shift Mode</th></tr> | ||
| 343 | <tr><td>Right Joystick</td><td>Shift body Y and rotate body Y</td></tr> | ||
| 344 | <tr><td>Left Joystick</td><td>Shift body X/Z</td></tr> | ||
| 345 | <tr><th>Button</th><th>Rotate Mode</th></tr> | ||
| 346 | <tr><td>Right Joystick</td><td>Rotate body X/Z</td></tr> | ||
| 347 | <tr><td>Left Joystick</td><td>Rotate body Y</td></tr> | ||
| 348 | <tr><th>Button</th><th>Single Leg Mode</th></tr> | ||
| 349 | <tr><td>Select</td><td>Switch leg</td></tr> | ||
| 350 | <tr><td>Right Joystick</td><td>Move leg Y (absolute)</td></tr> | ||
| 351 | <tr><td>Left Joystick</td><td>Move leg X/Z (relative)</td></tr> | ||
| 352 | <tr><td>R2</td><td>Hold/release leg position</td></tr> | ||
| 353 | </table> | ||
| 354 | <p style="text-align:center; font-size:12px; color:#666; margin-top:0.3rem;">Table 16-1.</p> | ||
| 355 | </div> | ||
| 356 | </div> | ||
| 357 | <p style="font-size:12px; color:#555; margin-top:0.75rem;">This robot design was inspired by the original T-Hex by Kåre Halvorsen (Zenta). The Phoenix code was written by Jeroen Janssen (Xan). A big thanks to Kåre and Jeroen!</p> | ||
| 358 | </div> | ||
| 359 | </div> | ||
| 360 | |||
| 361 | </div> | ||
![]() |
1.1 | 362 | {{/html}} |


