Installing the Software | Testing | Troubleshooting
Assembly Instructions
Before you begin...
READ ALL OF THESE INSTRUCTIONS BEFORE STARTING. It will help you avoid trouble during assembly.Note: These instructions were written with the assumption that you already know how to solder. While this document contains some general tips and goes fairly deep into the details, it isn't a substitute for a basic soldering tutorial.
Several of the components in this kit -- the LCD module in particular -- can be damaged by static electricity. Work in a static-free environment and ground yourself before starting work.
Tools required:
- Soldering iron
- Fine-gauge electronics solder
- Flush cutters
- Needle-nose pliers
- Tweezers
- Magnifying glass
Recommended:
- PC board vise or 'helping hands'
- Multimeter
For testing:
- Isopropyl alcohol (a/k/a rubbing alcohol, not denatured alcohol!)
- Cotton swabs
- An Arduino Uno, Duemilanove, or an ATMega328-based derivative. GAMBY is currently not compatible with other models of Arduino.
An overview of the board
To the right is a color-coded image of the printed circuit board as seen from the front, with various pads color-coded by function:- LCD Backlight (yellow): installed in
Step 1.
- LCD Capacitors (green): installed in
Step 2.
- Audio (blue): installed in Step 3.
- Buttons and D-Pad (red): installed in
step 4.
- Arduino pin headers (violet): installed
in Step 5.
- "Hacking Pads" (dark gray): These extra
pads are for customizing your Gamby hardware. You won't install
anything in them for now; there are a lot of them, and they are close
to other pads, so take care not to install things in them by accident.
Step 0: Inventory the parts
Before you start, take a minute to locate, identify and count the components. It can save you a headache later.
Name on Board | Part Name | Notes |
---|---|---|
PC Board | The printed circuit board, also called PCB in these instructions | |
LCD Module | Leave this in its packaging until you are ready to install it |
|
C1 - C8 | 4.7µF capacitors | |
Q1 | 2N3415 NPN transistor | |
Speaker | Piezo speaker | |
DPad | 4-Way D-Pad | |
S1-S4 | Pushbuttons (white) | |
S5 (Reset) | Pushbutton (black) | |
JP4 | 3 pin male header | |
|
6 pin male header (x2) | Arduino power and analog pins. Not actually labeled on the
board. |
8 pin male header (x2) | Arduino Digital I/O 0-7; 8-13, GND and AREF. Not actually labeled on the board. | |
Jumper | Goes on J4; don't add until soldering is done. The style and/or color may vary. | |
R1 | 620Ω ¼W resistor | Stripe colors: blue / red / brown |
R2 | 1KΩ, ¼W resistor | Stripe colors: brown / black / red |
R3 - R6 | 180Ω, ¼W resistor | Stripe colors: brown / gray / brown. The body color may vary; it's the stripes that count. |
LED1 - LED4 | Surface-mount LEDs |
Packaged in a strip of plastic tape. An extra LED is included. |
When the kits were packaged, care was taken to err on the side of providing too many parts rather than too few; still, mistakes happen.
- If you have too many parts: Put the extras to one side. You may discover that you need them. If not, you have some free parts for your own projects!
- If you have too few parts: First, make sure none were stuck inside the LCD's packaging. If parts really are missing, contact us and we'll see about getting you the missing parts.
Step 1: The LCD Backlight (optional)
GAMBY uses tiny, surface-mount LEDs for illuminating the LCD. These can be difficult, but they can be considered optional; the LCD is very readable in daylight. You can opt to install them later, although it will be somewhat easier to do them now.
The LEDs come packaged in a strip of tiny plastic trays covered by plastic film. You should have five in total; if you have fewer than five, one has probably fallen out of its packaging. Carefully search the bag and other components, particularly the LCD module, where the missing LED could have become stuck.
1.1 LEDs
1.1.1 Apply a tiny amount of solder to one of the pads. Do this by heating the pad with the soldering iron and then melting the solder against the pad. The effect should be an almost invisible 'pillowing' over the entire surface of the pad. If you have a ball of solder you've either used too much or did not heat the pad enough.
1.1.2 Open the plastic tape by peeling back the
transparent top layer enough to extract one LED. Place it
upright on your work surface and pick it up with your tweezers. Use
as little pressure as possible when picking it up with the
tweezers. Squeeze too hard and the LED will pop out of your grasp
and you'll probably never find it again.
1.1.3 Using the magnifying glass, look closely at the bottom of the LED. There will be a tiny triangle printed on the bottom; this marks the LED's polarity. The blunt end of the triangle is the positive. On the GAMBY board, the triangle should point left, away from the + mark.
1.1.4 With the tweezers, gently place the LED on the board. Gently keep hold of the LED with the tweezers. Then, with the soldering iron, press one end of the LED onto the pad to which you applied the solder. Remove the iron and let the solder cool for a second before releasing the LED. At this point, if you have a multimeter, I recommend you check the polarity of the LED. Most multimeters have a 'diode test' setting; if not, just use the 2KΩ setting. With the red lead on the right side of the diode and the black on the left, you should get a reading. If not, you may have the diode reversed. Try swapping the leads: if you then get a reading, the diode is backwards. If not, you may have a bad LED. In either case, you can remove the LED by heating the one soldered end and carefully lifting it with your tweezers.
1.1.5 Apply solder to the other end of the LED. Heat both the LED's copper and the pad, then melt the solder against the point where they meet. You do not need very much solder at all. Think of it more like plating rather than gluing.
1.1.6 Repeat steps 1.1.2 through 1.1.5 for the remaining three LEDs: LED2, LED3, and LED4.
1.2 Backlight Resistors
Note: install these on the back of the board! Your soldering should be on the same side as the LEDs.
1.2.1 Find the 4 180Ω resistors. These have
stripes colored brown/gray/brown.
There is a slim chance that the body color may differ between them,
but ignore that: it's the color of the stripes that count.
1.2.2 Bend both leads of one resistor 90 degrees and
insert it through the holes labeled R3 on the back
of the board.
1.2.3 On the front of the board, bend the leads slightly outwards to keep the resistor in place when you solder it.
1.2.4 Solder the resistor into place. Apply the soldering iron to the lead where it meets the board then melt the solder against the lead and board.
1.2.5 Repeat 1.2.1 through 1.2.4 for the remaining resistors, R4-R6. You can put all resistors in place before soldering them; you don't need to finish one before doing the next.
1.3 Backlight Jumper
Note: Install this on the front of the board, soldering on the back.
1.3.1 With a pair of pliers, gently bend the short
ends of the outermost pins inward. This will help it stay in place
while you solder. Don't overdo it! If you bend them too much, you
can damage the board when trying to force it into place. You just
want it to 'grab' enough not to completely fall out.
1.3.2 Solder the top pin into place. Apply the
soldering iron to the pin where it meets the board then melt the
solder against the pin and board.
1.3.3 If the header is not flush with the board, carefully hold the header with the pliers, melt the solder, and gently push it into place.
1.3.4 Solder the remaining 2 pins as described above.
Step 2: LCD capacitors (C1-C8)
The capacitors go on the front of the board, the same side as the LEDs. These capacitors are non-polarized; they do not have a specific positive or negative lead. They are also all the same value, so one is no different from the others. Just make sure they are installed 'vertically,' fitting in the box printed on the front of the board.
2.1 Insert a capacitor's leads through the holes on the front of the board.
2.2 On the back of the board, bend the leads outwards to keep it in place when you solder it.
2.3 Solder the capacitor into place. For each lead, apply the soldering iron to both the lead and pad and then melt the solder against the point where they meet.
2.4 Repeat 2.1 through 2.3 for the remaining 7 capacitors.
Step 3: Audio Components
The audio portion of the board consists of a transistor, a piezo
speaker, and a pair of resistors.
3.1 Transistor
3.1.1 Take the transistor and place its leads through the holes on the front of the board, with its flat edge matching the picture printed on the board. You may want to gently bend the middle pin a bit to better fit the staggered holes.
3.1.2 On the back of the board, bend the pins slightly outward to hold the transistor in place when you solder it.
3.1.3 Solder the transistor into place. For each lead, apply the soldering iron to both the lead and pad and then melt the solder against the point where they meet.
3.2 Resistors
3.2.1 Locate resistor R1 (with stripes
colored blue/red/brown)
and place it in its holes, located slightly right of center.
3.2.2 Solder resistor R1 into place. For each lead, apply the soldering iron to both the lead and pad and then melt the solder against the point where they meet.
3.2.3 Locate resistor R2 (colored brown/black/red) and place it in its holes, located slightly left of center, next to R1.
3.2.4 Solder resistor R2 into place. For each lead, apply the soldering iron to both the lead and pad and then melt the solder against the point where they meet.
3.3 The Speaker
The speakers arrive from the factory without the leads bent; you will need to shape the leads before you install the speaker. Otherwise, the speaker's leads are too close together.
3.3.1 Remove the cardboard strip from the speaker's
leads. You can either peel off the cardboard or snip the leads
where they attach to the cardboard; peeling off the cardboard
sometimes leaves residue.
3.3.2 Looking at the bottom of the speaker, notice that each lead comes out of the center of a cylindrical bump in the plastic. Note that these bumps have a little wire-sized channel in them.
3.3.3 Bend the leads flat against the back of the speaker, pressing them into the little channels.
3.3.4 With pliers, bend each lead where the channel ends. If done correctly, the speaker will now fit into its holes on the PCB. The TDK logo on the front of the speaker will be squarely aligned with the board, either horizontally or vertically.
3.3.5 Insert the speaker into the board. On the back, bend the leads outward to hold it in place. The speaker is non-polarized: its orientation does not matter.
3.3.6 Solder the speaker into place. Apply the soldering iron to both the lead and pad and then melt the solder against the point where they meet.
Step 4: The Buttons and D-Pad
4.1 The Game Buttons
4.1.1 For each of the four identical pushbuttons, insert it into the PC board on top of one of the printed circles, labeled S1 through S4. These should snap into place. Orientation does not matter: there is no right side up or upside down.
4.1.2 If necessary, bend each pushbutton's pins inward. The pre-formed shapes of the legs should hold them in place, so this is optional.
4.1.3 Solder each of the button's four legs into place on the back of the board. For each leg, apply the soldering iron to both the leg and pad and then melt the solder against the point where they meet.
4.2 The Reset Button
4.2.1 With the remaining pushbutton, insert it into the PC board on top of the printed circle labelled S5. Like the other pushbuttons, there is no right side up or upside down.
4.2.2 Solder it into place as you did with the first four buttons.
4.3: The D-Pad
4.3.1 Take the directional switch (D-Pad) and insert it into the PC board over the printed box labeled D-Pad. Its legs are spaced so that it can only be installed in one direction.
4.3.2 Solder the D-Pad into place like you did for the pushbuttons.
Step 5: Arduino Pin Headers
Note: be sure to insert these from the back, soldering on the front! As obvious as it might seem, putting a header on the wrong side of a board is a mistake that everyone I know has made at least once.
5.1 The Digital I/O Side
5.1.1 Take one of the 8-pin headers and, with the pliers, gently bend the short ends of the first and last pins inward as described in Step 1.3 (the backlight jumper's 3-pin header, JP4).
5.1.2 Insert the header into the holes on the lower right side of the board, in the holes corresponding to the Arduino's Digital I/O pins 0-7. Be sure to use the set of holes furthest to the right, the ones with the oblong pads. Remember that these pin headers go on the back of the board, opposite the side in which the backlight jumper's header was installed.
5.1.3 Solder the header in place, as described in Step
1.3.
5.1.4 Repeat 5.1.1 - 5.1.3 for the second 8-pin
header, which goes in the holes corresponding to the Arduino's
Digital I/O pins 8-13, GND and AREF. Use only the holes with the
elongated pads. Newer Arduino boards have additional pin sockets,
but GAMBY does not use them.
5.2 The Analog In and Power Side
5.2.1 Take a 6-pin header and gently bend the pins as described in 5.1.1.
5.2.2 Insert the header into the holes on the lower
left side of the board, in the holes corresponding to the Arduino's
Analog Input pins 0-5. Be sure to use the holes furthest to the
left, the ones with the oblong pads.
5.2.3 Solder it in place as described in 5.1.3.
5.2.4 Repeat 5.2.1 - 5.2.3 for the second 6 pin
header, which goes in the holes corresponding to the Arduino's power
pins: Vin, GND, GND, 5V, 3.3V and RESET. Again, use only the holes
with elongated pads. Newer Arduino boards have additional pin
sockets, but GAMBY does not use them.
Step 6: Inspect Your Work and Trim the Leads
6.1 If you installed the surface-mount LEDs, the solder on either side should be shiny and look like a slight bulging of the rectangular pad. If it looks like a ball sitting on top of the pad, re-melt it with your soldering iron.
6.2 Inspect each of the through-hole parts' solder joints. They should be shiny and conical. If they don't look right, re-melt them with your soldering iron
6.3 Cut the resistor, capacitor and transistor leads from the back of the board. You don't really need to trim the buttons or D-Pad.
6.4 Check the entire board for any stray specks of solder or 'bridges' between pads -- i.e. solder and/or bent leads connecting things they shouldn't.
6.5 Clean any residual solder flux (brownish stains near the solder points) from your board using a cotton swab and isopropyl alcohol. Denatured alcohol is not recommended.
Step 7: Installing the LCD
7.1 Remove the LCD from its packaging.
7.2 Look at the back of the LCD. In a slot in the transparent plastic at the bottom of the screen there should be a rubbery elastomeric 'zebra strip' connector. Every LCD had it when tested, but there is a remote chance that it could have fallen out.
7.2.1 If the zebra strip is not there, check
the LCD's packaging and the antistatic bag. Once you locate it, you
can carefully press it back into the slot on the back of the LCD.
Some of the strips are slightly shorter than the slot; if so, try to
center it as best you can. You do not need to press very hard.
7.3 Make sure the LCD's connector on the PC board is clean: no specks of solder, dried flux, et cetera.
7.4 Line up the LCD's metal tabs with the corresponding
slots on the board and snap it into place. It will only fit in one
orientation; the top tabs are further apart than the bottom ones.
Installing the Software
Note: These instructions assume that you have already have the Arduino software installed and working.
1. Download
the latest code from GitHub. This will arrive as a single ZIP
file with a name like logicalzero-gamby-ab452b6.zip
;
depending on when you download it, the last part, the 7 digit
hexadecimal number, may differ.
2. Unzip the file you downloaded. Unzipping this file
should create a folder with the same name as the ZIP file. Change the
name of the folder to simply Gamby
(first letter capitalized, the rest lowercase).
3. Locate your Arduino sketches folder. The specific location and/or name of the folder varies by operating system:
- MacOS X: The folder is called
Arduino
and is in yourDocuments
folder (~/Documents/Arduino/
)
- Windows: The folder is called
Arduino
and is in yourMy Documents
folder (My Documents\Arduino\
) - Linux: The folder is
~/sketchbook/
4. Within your Arduino sketches folder, create a
sub-folder named libraries
(all lower-case) if one
doesn't already exist. Copy your Gamby
folder into this.
The next time you launch the Arduino software, you should see a Gamby
item in the File->Examples
menu, and Gamby
should also appear in the Sketch->Import Library...
sub-menu.
Alternatively, if you are already familiar with git and GitHub, you
can use git to download the software, replacing steps 1 and 2.
Testing
If everything looks okay, you are ready to attach GAMBY to your Arduino. The bottommost pins on GAMBY should fit into the bottommost sockets on the Arduino; newer Arduino boards have additional sockets at the top of each side but GAMBY does not use these.
Note that GAMBY's pins are slightly longer than standard: When plugged into your Arduino, there will be a gap between the headers' plastic bases and the tops of the Arduino's sockets. This is supposed to be this way; it keeps the LCD module's metal tabs from hitting the power and USB jacks. Don't try to force the pins any deeper into the sockets.
Once GAMBY is attached to your Arduino, connect your Arduino to your
computer, then open and upload the example sketch FirstTest
from the Files->Examples->Gamby
menu. If it
uploads correctly and all is well, you should see something like this:
Troubleshooting the Hardware
If the test sketch uploads successfully but your GAMBY does not appear to work, there are a number of things you can check:
- If you were holding your Arduino/GAMBY, place them on the table and try again without touching them. Both GAMBY and the Arduino are naked circuit boards, and your hands can short out connections, producing erratic results. Make sure there's nothing conductive under your Arduino -- bits of wire, clipped leads, solder, et cetera.
- Try simply re-seating the LCD. If you gently pry apart the bottom pair of clips, the springy zebra strip will pop the bottom of the module away from the board; press it back into place and see if that's worked.
- Gently press downward on the bottom corners of the LCD's metal frame and reset your Arduino. Use very little force; too much may make things worse. If the LCD works when you are pressing on it, you will know that the problem is mechanical (the way the LCD is physically attached) and not electronic (bad components, soldering problems, etc.).
- Re-check all your soldering as described in Step 6. If you need to fix a solder joint, remove the LCD before doing so to avoid damaging it.
- Clean the LCD connector. Remove the LCD module and wipe the zebra strip with a cotton swab and isopropyl alcohol. Start from the center of the strip and wipe outwards, doing one half and then the other. Repeat twice. Clean the pads on the PC board with alcohol, wait for both to dry, and snap the LCD back into place.
- Adjust the LCD clips to improve the connection with the board. Remove the LCD and try bending the bottom tabs slightly inward. You may also try very slightly flattening the 'barbs' on the inside of each tab, the part that actually hooks onto the board, to make the connection tighter. Do this very carefully, particularly if you try to flatten the barbs: if you flatten them completely, it will be difficult to undo.
- Clean the other side of the LCD connector. With tweezers, gently pull the zebra strip out of its slot on the back of the LCD; it is held in only by friction, so it should come out fairly easily. Flip it over and re-insert it, then clean the strip as previously described. This should be done only as a last resort, and will probably not be necessary unless the zebra strip had fallen out of the slot (step 7.2.1). If the strip is slightly shorter than the length of the slot, try to get it centered.
- Melt each solder joint on the back side of the board. There may have been bad connections that were not obvious. Again, you should remove the LCD before doing so.
- Make sure you have not warped the printed circuit board during assembly. The board is particularly thin in order to accommodate the LCD, and if bent, the zebra strip may not contact the board properly. You can try leaving GAMBY plugged into your Arduino overnight (or longer); this may pull the board flat over time.
- Make sure you're using a compatible model of Arduino. GAMBY was designed to work with ATMega328-based boards; it will not work with the Mega, Leonardo, Due, Yún, et cetera.