********************** Building the OrbShield ********************** Inventory ========= Take stock of your parts: .. image:: inventory.* 1. OrbShield board 2. DB9 Serial Connector socket 3. 20-pin IC DIL socket 4. 2-position DIP switch 5. 2x 68 Ohm resistors 6. 2x 3.6v 0.5w zener diodes 7. 2.2K Ohm resistor 8. USB B socket 9. 2x 8-pin male PCB headers 10. 6-pin male PCB header 11. Max233CPP Serial-to-TTL driver IC You will also need: * Soldering iron * Solder * Flush-cut cutters (such as electronics diagonal cutters) Add DB9 Socket ============== Put the DB9 socket in place. I'm using a Panavise Jr to hold the circuit board, and if you do much small construction, I do recommend it, but there are plenty of other choices. .. image:: as1_db9.* Flip the board over and hold the DB9 in place. If yours came with small bolts to hold it in place, attach them; sadly the ones I bought (and provided with the kits) do not have these, and I had to use something else (in this case a "helping hands" device to hold it in place. .. image:: as2_db9bot.* Solder the DB9 in place. I recommend tacking down alternate corners first, for stability (if you bolted this in place, that won't be an issue) .. image:: as3_db9bot2.* Add the 20-pin DIL socket ========================= You could get away without a socket, and just solder the MAX233 directly in place. I encourage otherwise for two reasons: first, it's awfully permanent and you may wind up reusing the MAX233 in another project, but second, you ensure you won't damage the chip with excess heat, etc (and can replace it easily if it gets damaged in the future). Add the socket to the board in the correct orientation, with the small cutout at the end of the chip matching the cutout in the silkscreen of IC1... .. image:: as4_sockettop.* ...then flip it over. A handy trick to hold these in place is to note that the pins are generally fairly fragile, so you can bend out the pins on opposite corners to hold the socket in place while you tack it down, then solder all the pins .. image:: as5_socketbot.* Solder the DIP switch ===================== The DIP switch allows you to select whether the computer is talking to the Arduino switch (dip switch OFF) or whether the orb is talking to it (dip switch ON). Switch #1 is *input* (to the orbshield) and switch #2 is *output* (from the orbshield). With the SpaceOrb 360 (which never needs input from the computer) you can safely leave switch #2 off, turning switch #1 off to program it and on when the orb is connected. For now, add the DIP switch to the top of the board with switch #1 toward the DB9... .. image:: as6_diptop.* then flip over and solder. As with the socket, bending opposite corners a bit will hold it in place while you solder. Add Resistors R1 and R2 ======================= Find the two 68 Ohm resistors (the color pattern should be blue, grey, black on one end). To help fit the board, bend the leads sharply with a pair of needlenose pliers at a right angle: .. image:: as7_bendresist.* Fit the resistors into the slots labeled R1 and R2. Orientation does not matter on resistors, so just put them in place: .. image:: as8_resisttop.* On the other side of the board, bend the leads outward to hold the resistors in place while you solder: .. image:: as9_resistbot.* Now take some flush cutters and trim the ends. On version 1.0 of the Orbduino board, the resistor cluster sits too close to the Arduino's USB socket and the ends of the resistors can contact the socket, grounding them out. Trim these as short as reasonably possible. .. image:: as10_cutresist.* Watch your eyes! The wire will tend to fly off at high velocity; it helps to hold the free end of the wire with your free hand to avoid this. Once all ends are cut you should have relatively little metal protruding from the bottom of the circuit board: .. image:: as11_cutresist2.* Add R3 and Diodes D1 and D2 =========================== In a similar manner, add resistor R3 (the 2.2k Ohm resistor, with red/red/black on one end) and the zener diodes D1 and D2. **Important:** unlike resistors, diodes must be placed in the correct orientation. The black stripe on the diodes must be oriented with the horizontal stripe on the diode icon (the "stairstep" line that the arrow points to). .. image:: as12_resist_diodestop.* Solder and clip as above. Add the USB socket ================== The USB socket has spring clips which fit through the large holes and hold it in place. .. image:: as13_usbtop.* As a result, soldering the bottom is straightforward. However, if you have revision 1.0 of the OrbShield, once the USB header is soldered in place, you may wish to flatten one of these connectors, as it will hit the power connector on the Arduino if the boards are docked all the way. .. image:: as14_usbbot.* Add the headers =============== The two 8-pin headers and the 6-pin header may fit into place with enough friction to be fairly stable: .. image:: as15_headersbot.* However, they must be soldered from the top of the board. Since they have a tendency to slip out, I had good luck resting the board on them and just soldering them in place as if the shield were "standing" on the table. Add the MAX233 ============== The MAX233CPP serial interface chip should fit fairly easily into the socket. You may need to bend the pins slightly to ease the insertion; bending an entire side at a time (against a table, say) works fairly well: .. image:: as16_bendchip.* Insert the chip into the header. As with diodes, this chip has a correct orientation, and inserting it incorrectly will certainly cause the OrbShield not to work--as well as probably damaging the MAX233 and other components. The half-round cutout in the top of the chip denotes the end, and a small dot next to that shows pin 1. Match the cutout with the silkscreen (and, assuming you soldered the socket correctly, the socket; if you soldered the socket backward, don't worry--just make sure you insert the chip matching the silkscreen). .. image:: as17_insertchip.* Dock the board with the Arduino =============================== The OrbShield docks with the Arduino in this orientation: .. image:: as18_dock.* If you have version 1.0 of the OrbShield, I recommend placing a small piece of paper over the Arduino's USB port, so that the solder points of the resistors do not contact the Arduino's USB port and short out: .. image:: as19_done.*