Wiki source code of BotBoarduino Manual
Last modified by Eric Nantel on 2023/01/19 11:43
Hide last authors
![]() |
1.1 | 1 | {{html wiki="false" clean="true"}} |
![]() |
17.1 | 2 | <table border="0"> |
![]() |
9.1 | 3 | <tbody><tr> |
![]() |
17.1 | 4 | <td align="center"><span class="headmd">Table of Contents</span></td> |
| 5 | <td align="center"><span class="headmd">Links</span></td> | ||
![]() |
9.1 | 6 | </tr> |
| 7 | <tr> | ||
![]() |
1.1 | 8 | |
![]() |
17.1 | 9 | <td > |
![]() |
9.1 | 10 | <ul class="toc"> |
![]() |
13.1 | 11 | <li><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#bb2lay">BotBoarduino</a> |
![]() |
9.1 | 12 | <ul class="toc"> |
![]() |
13.1 | 13 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#bbufeat">BotBoarduino Hardware Information</a></li> |
| 14 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#aglance">Shorting Bar Jumpers and Connections</a></li> | ||
| 15 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#connections">PS2 / SSC-32 Connections</a></li> | ||
![]() |
9.1 | 16 | </ul> |
| 17 | </li> | ||
![]() |
13.1 | 18 | <li><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#testcont">Troubleshooting</a> |
![]() |
9.1 | 19 | <ul class="toc"> |
![]() |
13.1 | 20 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#trouble">General Troubleshooting</a></li> |
![]() |
9.1 | 21 | </ul> |
| 22 | |||
| 23 | </li> | ||
| 24 | </ul> | ||
| 25 | </td> | ||
![]() |
17.1 | 26 | <td valign="top"> |
![]() |
9.1 | 27 | <ul class="toc"> |
![]() |
15.1 | 28 | <li><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/bbu01.pdf" target="_blank">BotBoarduino Schematic (pdf)</a></li> |
![]() |
9.1 | 29 | </ul> |
| 30 | </td> | ||
| 31 | |||
| 32 | </tr> | ||
| 33 | </tbody></table> | ||
| 34 | <hr width="95%" color="#808080"> | ||
| 35 | <p align="center"><span class="headmd"><a name="bb2lay">BotBoarduino.</a></span></p> | ||
![]() |
12.1 | 36 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/bbduinom02.jpg" width="650" height="478"></p> |
![]() |
9.1 | 37 | <p><span class="headsm"><a name="bbufeat">BotBoarduino Hardware Information.</a></span></p> |
| 38 | <p>The image above illustrates the shorting bar jumpers (the black rectangles) as they are on the board as it is shipped. The jumpers are used to | ||
| 39 | set operating parameters for the board. It should not be assumed that they are correct for your project as changes are likely to be required. Please | ||
| 40 | consult the tutorial for your project for the proper shorting bar jumper positions.</p> | ||
| 41 | |||
| 42 | <p>The BotBoarduino is 3.00" x 2.30" with 0.125" holes set in | ||
| 43 | 0.15" from each edge.</p> | ||
| 44 | <ol> | ||
| 45 | <li>The BotBoarduino is based on the Arduino Duemilanove. In the Arduino programming environment you must select "Arduino Duemilanove w/ ATmega328". Simply plug a USB Mini cable from this plug to a free USB port on your PC for programming the processor and receiving | ||
| 46 | debug information. For help with USB drivers, go to the <a href="http://arduino.cc/en/Guide/Windows" target="_blank">official Arduino page</a>. <font color="#FF0000">To prevent damaging the board's USB port, you must remove the USB cable from a MOBILE robot!</font></li> | ||
| 47 | <li>These four pins are connected to the FTDI's CTS, DSR, DCD, and RI signals. You should never have to worry about these pins. Use them only | ||
| 48 | if you know what you're doing as these pins can prevent the BotBoarduino from being programmed.</li> | ||
| 49 | |||
| 50 | <li>This is a Power Good LED. When you have successfully applied power to the onboard regulator, the yellow LED will turn on.</li> | ||
| 51 | <li>This shorting bar enables the onboard speaker. To use the speaker, send the appropriate sound generating command to Pin 5. Note, the I/O pin | ||
| 52 | drives a transistor amplifier. It does not drive the speaker directly.</li> | ||
| 53 | <li>The 3 LEDs and Pushbuttons use only 3 I/O lines to make a simple user interface for your program. By making the I/O line a low output the LED | ||
| 54 | can be turned on. By briefly making the I/O line an input the I/O line can be read to see if a button is being pressed. <font color="#FF0000">However, | ||
| 55 | do NOT make the I/O line a high output and press a button, as damage to the I/O pin can occur.</font> The shorting bars | ||
| 56 | directly above JA, JB, and JC will need to be | ||
| 57 | installed for these LEDs and Pushbuttons to be used.<br> | ||
| 58 | | ||
| 59 | <table border="1" bordercolor="#000000" width="200"> | ||
| 60 | <tbody><tr> | ||
![]() |
18.1 | 61 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Chip I/O</b></td> |
![]() |
9.1 | 62 | |
![]() |
18.1 | 63 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14" colspan="2"><b>PB/LED</b></td> |
![]() |
9.1 | 64 | </tr> |
| 65 | <tr> | ||
![]() |
18.1 | 66 | <td align="center" bordercolor="#C0C0C0" height="1">Pin 7</td> |
| 67 | <td height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">A</td> | ||
| 68 | <td height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Red</td> | ||
![]() |
9.1 | 69 | </tr> |
| 70 | |||
| 71 | <tr> | ||
![]() |
18.1 | 72 | <td align="center" bordercolor="#C0C0C0" height="14">Pin 8</td> |
| 73 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">B</td> | ||
| 74 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Green</td> | ||
![]() |
9.1 | 75 | </tr> |
| 76 | <tr> | ||
![]() |
18.1 | 77 | <td align="center" bordercolor="#C0C0C0" height="14">Pin 9</td> |
![]() |
9.1 | 78 | |
![]() |
18.1 | 79 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">C</td> |
| 80 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Yellow</td> | ||
![]() |
9.1 | 81 | </tr> |
| 82 | </tbody></table> | ||
| 83 | </li> | ||
| 84 | <li>This is where you connect servos, motor controllers, sensors, etc. to the microcontroller. Use caution when connecting anything the the I/O | ||
| 85 | bus. Never connect anything while the power is on. The outside row is ground, the middle row is power, and the inside row are the IO pins.</li> | ||
| 86 | <li>This is where you configure the I/O bus center row to use VL (+5vdc from the onboard regulator) or VS (direct from the Servo Power Input). | ||
| 87 | This is done in banks of four I/O pins. <font color="#FF0000">Caution, applying the servo voltage to this row with a 5vdc peripheral installed | ||
| 88 | will cause damage to the peripheral.</font> </li> | ||
| 89 | <li>This port is for connecting a Sony Playstation controller to use as a robot controller. | ||
| 90 | The Lynxmotion, Sony, and Madcatz controllers we tested only required a 1K pullup on Pin 6, | ||
| 91 | which is built into the board and must be enabled by installing a jumper on the JPU. Other | ||
| 92 | brands may require a pullup on Pin 9, which is not included. Note, some controllers require the green wire | ||
| 93 | to be connected to 7.5vdc to enable vibrating motors, or wireless operation. The Playstation 2 cables' coloring differs from different | ||
![]() |
13.1 | 94 | production runs. Please refer to the table in the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#aglance">Shorting Bars and Connections section</a> to verify the color coding and |
![]() |
9.1 | 95 | connections for your cable.<br> |
| 96 | | ||
| 97 | <table border="1" bordercolor="#000000" width="200"> | ||
| 98 | <tbody><tr> | ||
| 99 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Pin</b></td> | ||
| 100 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>PS2 Function</b></td> | ||
| 101 | </tr> | ||
| 102 | <tr> | ||
| 103 | <td width="248" align="center" bordercolor="#C0C0C0" height="1">Pin 8</td> | ||
| 104 | <td height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">DAT</td> | ||
| 105 | </tr> | ||
| 106 | <tr> | ||
| 107 | <td width="248" align="center" bordercolor="#C0C0C0" height="14">Pin 7</td> | ||
| 108 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">CMD</td> | ||
| 109 | </tr> | ||
| 110 | <tr> | ||
| 111 | <td width="248" align="center" bordercolor="#C0C0C0" height="14">Pin 6</td> | ||
| 112 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">ATT</td> | ||
| 113 | </tr> | ||
| 114 | <tr> | ||
| 115 | <td align="center" bordercolor="#C0C0C0" height="14">Pin 9</td> | ||
| 116 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">CLK</td> | ||
| 117 | </tr> | ||
| 118 | </tbody></table> | ||
| 119 | </li> | ||
| 120 | <li>This pin group breaks out the ICSP pins. These allow you to burn a bootloader onto the Atmega328 or program the chip with an external programmer. | ||
| 121 | Do not connect anything to these pins unless you know what you are doing.</li> | ||
| 122 | <li>This connecter brings out pins 0 and 1 of the arduino along with ground in such a way that you can connect the BotBoarduino to an SSC-32 with any servo extension cable. <font color="#FF0000">You will need to remove anything connected to these pins while programming.</font></li> | ||
| 123 | |||
| 124 | <li>This allows the VL and/or VS inputs to be connected to two of the AtMega328's analog inputs through a 4:1 voltage divider. For example, if the | ||
| 125 | battery voltage were 9vdc, the analog input would see 2.25vdc.<br> | ||
| 126 | | ||
| 127 | <table width="200" border="1" bordercolor="#000000"> | ||
| 128 | <tbody><tr> | ||
| 129 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Chip I/O</b></td> | ||
| 130 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Use</b></td> | ||
| 131 | </tr> | ||
| 132 | <tr> | ||
| 133 | |||
| 134 | <td align="center" bordercolor="#C0C0C0" height="1">A0</td> | ||
| 135 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="1" align="center">V-Servo | ||
| 136 | / General Purpose</td> | ||
| 137 | </tr> | ||
| 138 | <tr> | ||
| 139 | <td align="center" bordercolor="#C0C0C0" height="14">A1</td> | ||
| 140 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">V-Logic | ||
| 141 | / General Purpose</td> | ||
| 142 | </tr> | ||
| 143 | |||
| 144 | <tr> | ||
| 145 | <td align="center" bordercolor="#C0C0C0" height="14">A2 - A5</td> | ||
| 146 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">General | ||
| 147 | Purpose</td> | ||
| 148 | </tr> | ||
| 149 | </tbody></table> | ||
| 150 | </li> | ||
| 151 | <li>These headers bring out analog pins A4 and A5 for use with the I2C comunication protocol. To use this header | ||
| 152 | you must install jumpers horizontally across the SDA-P and SCL-P headers.</li> | ||
| 153 | <li>This allows you to power the Servos and Logic from the same battery. It simply connects the VS input to the VL input. Caution, when using this | ||
| 154 | option do NOT use the VL input.</li> | ||
| 155 | |||
| 156 | <li>This button will reset the micro when pressed. This can be useful for starting different programs depending on which SUI button is pressed on | ||
| 157 | reset.</li> | ||
| 158 | <li>This is the VS (servo voltage) input. Servo voltage can be 4.8vdc to 7.2vdc. However, some micro servos will not tolerate more than 6vdc. This | ||
| 159 | input is used to provide power for the servos only, or to provide power to both VL and VS using the VS=VL jumper. See Item 13.<br> | ||
| 160 | | ||
| 161 | <table border="1" bordercolor="#000000" width="200"> | ||
| 162 | <tbody><tr> | ||
| 163 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Board</b></td> | ||
| 164 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Input</b></td> | ||
| 165 | </tr> | ||
| 166 | |||
| 167 | <tr> | ||
| 168 | <td width="248" align="center" bordercolor="#C0C0C0" height="1">VS +</td> | ||
| 169 | <td width="248" height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">RED</td> | ||
| 170 | </tr> | ||
| 171 | <tr> | ||
| 172 | <td width="248" align="center" bordercolor="#C0C0C0" height="14">VS -</td> | ||
| 173 | <td width="248" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">BLACK</td> | ||
| 174 | |||
| 175 | </tr> | ||
| 176 | </tbody></table> | ||
| 177 | </li> | ||
| 178 | <li>This is the VL (logic voltage) input. This input is normally used with a 9vdc battery connector to provide power to the microcontroller and | ||
| 179 | anything connected to the 5vdc lines on the board. This input can be used to isolate the VL from the VS (servo voltage).<br> | ||
| 180 | | ||
| 181 | <table border="1" bordercolor="#000000" width="200"> | ||
| 182 | <tbody><tr> | ||
| 183 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Board</b></td> | ||
| 184 | |||
| 185 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Input</b></td> | ||
| 186 | </tr> | ||
| 187 | <tr> | ||
| 188 | <td width="248" align="center" bordercolor="#C0C0C0" height="1">VL +</td> | ||
| 189 | <td width="248" height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">RED</td> | ||
| 190 | </tr> | ||
| 191 | <tr> | ||
| 192 | |||
| 193 | <td width="248" align="center" bordercolor="#C0C0C0" height="14">VL -</td> | ||
| 194 | <td width="248" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">BLACK</td> | ||
| 195 | </tr> | ||
| 196 | </tbody></table> | ||
| 197 | </li> | ||
| 198 | <li>This header selects the Logic Power source for the board. Select USB to power the Logic from the onboard USB port | ||
| 199 | or Select EXT to power the board from the VL terminal.</li> | ||
| 200 | <li>The Low Dropout regulator will provide 5vdc out with as little as 5.4vdc coming in. This is important when operating your robot from a | ||
| 201 | battery. It can accept a maximum of 12vdc in. The regulator is rated for 1.5A.</li> | ||
| 202 | |||
| 203 | <li>These headers are spaced to accept all Arduino compatible Shields and Extensions.</li> | ||
| 204 | <li>Status LEDs.<br> | ||
| 205 | | ||
| 206 | <table border="1" bordercolor="#000000" width="300"> | ||
| 207 | <tbody><tr> | ||
| 208 | <td width="20" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>LED</b></td> | ||
| 209 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Function</b></td> | ||
| 210 | </tr> | ||
| 211 | <tr> | ||
| 212 | <td width="20" align="center" bordercolor="#C0C0C0" height="1">L</td> | ||
| 213 | <td width="248" height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Directly connected to P13 on the Arduino chip</td> | ||
| 214 | </tr> | ||
| 215 | <tr> | ||
| 216 | <td width="20" align="center" bordercolor="#C0C0C0" height="14">TX</td> | ||
| 217 | <td width="248" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Blinks when sending data</td> | ||
| 218 | </tr> | ||
| 219 | <tr> | ||
| 220 | <td width="20" height="14" align="center" bordercolor="#C0C0C0">RX</td> | ||
| 221 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Blinks when receiving data</td> | ||
| 222 | </tr> | ||
| 223 | </tbody></table> | ||
| 224 | </li> | ||
| 225 | <li>This is where the Atmega 328 chip is plugged in. Atmega328 pin map:<br> | ||
![]() |
11.1 | 226 | <br><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/atmega328map.png"> |
![]() |
9.1 | 227 | </li> |
| 228 | </ol> | ||
| 229 | |||
| 230 | <hr width="95%" color="#808080"> | ||
| 231 | <p><span class="headsm"><a name="aglance">Shorting Bar Jumpers and Connectors at a glance.</a></span></p> | ||
![]() |
11.1 | 232 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/bbduinom03.png" width="650" height="447"></p> |
![]() |
9.1 | 233 | The Playstation 2 cables' coloring differs from different production runs. Please refer to the diagram below to verify the color coding on your cable.<br> |
| 234 | |||
![]() |
11.1 | 235 | <p><img border="2" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/wire08s.gif"><br> |
![]() |
9.1 | 236 | </p> |
| 237 | <p><span class="headsm"><a name="connections">PS2 / SSC-32 Connections</a></span></p> | ||
![]() |
11.1 | 238 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/botboarduino-ps2.jpg" width="650"></p> |
| 239 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/botboarduino-ssc32.jpg" width="650"></p> | ||
| 240 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/botboarduino-ssc-32-ps2.jpg" width="650"></p> | ||
![]() |
9.1 | 241 | <hr width="95%" color="#808080"> |
| 242 | <p align="center"><span class="headmd"><a name="testcont">Troubleshooting</a></span></p> | ||
| 243 | <p><span class="headsm"><a name="trouble">General Troubleshooting</a></span></p> | ||
| 244 | <p>The yellow power (PWR) LED should glow if the regulator is getting the proper power. You must make sure to connect the battery or wall pack with | ||
| 245 | the proper polarity. This means the red wire is positive (+) and the black wire is ground (-). <font color="#FF0000">If you connect the battery or | ||
| 246 | wall pack with the polarity reversed, the regulator and the microcontroller can be instantaneously and permanently damaged!</font> Check your wiring | ||
| 247 | carefully before applying power.</p> | ||
| 248 | <p><font color="#FF0000">If SSC-32 is connected to RX/TX/Gnd (hardware serial port on pin 0 and 1) it must be removed while programming! This is because the USB port shares the same IO pins.</font></p> | ||
| 249 | <p>The maximum voltage for VL is 12vdc. If you use a higher voltage the regulator may overheat and you could get burned!</p> | ||
| 250 | |||
| 251 | <p>Confirm that the Atmega 328 chip's notch is aligned with the socket's notch.</p> | ||
| 252 | <p>In the Arduino programming environment, make sure you have selected "Arduino Duemilanove w/ ATmega328".</p> | ||
| 253 | <p>The Lynxmotion PS2 controller has issues with the analog mode on the Lynxmotoin left pad (often displaying 0 rather than analog values). We suggest using the joysticks as alternative analog inputs.</p> | ||
| 254 | </div> | ||
| 255 | |||
| 256 | |||
| 257 | |||
| 258 | |||
| 259 | </body> | ||
![]() |
1.1 | 260 | {{/html}} |


