fignition‎ > ‎Documentation‎ > ‎Build It (RevE)‎ > ‎

Testing The RevE Board

These are the instructions for building a RevE board, section 2: TESTING!

OK, now you need to start checking things.Turn the PCB upside down and carefully check all the joints. Make sure all your connections look good. Good connections tend to look nicely cone shaped. Actually, I’m afraid mine don’t always look ideal, but I do know from experience that when you’re soldering there’s a point where the solder seems to just suck itself onto the pins and pads to make a good contact. Given that, I never accept a connection that has gaping cravasses in the pin/pad connection or doesn’t appear to smoothly connect to the pin. I’m also not happy if it looks like there’s only a thin layer of solder connecting them both, it works for machine soldering, but hand-soldering doesn’t have that level of accuracy.

If you see a potential problem, remember it’s easy to retouch the solder joint and add a tiny amount of solder if there isn’t enough.

Also check that there doesn’t appear to be any connections where there shouldn’t be.

Look for what’s called ‘solder splashes’, random bits of solder splashed across the circuit, they will cause inexplicable problems when checking the PCB... or smoke when you turn it on.

Also, make sure you’ve snipped all the legs from your components to no more than 1 or 2 mm (mine are generally 2mm) from the bottom of the PCB.

Finally, check to see that all the components are in the right places and right orientations (compare with the photo). If You’ve Made a Terrible Mistake and you find some components will have to be removed, you'll need the solder sucker; I’ve provided a link to how to use one.

Testing The Board.

Before powering up the circuit you should check the connections. It’s quite exhaustive. The connections correspond to this circuit layout (Rev E):


Checking Connections

For testing, I number the pins on components according to the PCB oriented as above:
  • All the simple 2-pin components are numbered with pin 1 on the left (if they’re going horizontally) or pin 1 at the top (if they’re vertical). Each Phono pin 1 is the one at the top and pin 2 is in the middle.
  • Switch pins are numbered according to the above orientation: pin 1 is top, left; pin 2 is bottom left; pin 3 is bottom right, pin 4 is top, right.
  • IC pins are numbered according to standard chip pin numbering: pin 1 is bottom left, then on its right is pin 2 and so on until we get to the right-hand end of the IC; then the pins are numbered from the top, right on the chip going left to the top left pin. So, pin 1 of IC1 is bottom left, pin 14 is bottom right, pin 15 is top right, pin 28 is top, left.
  • The USB ordered differently: Pin1=Bottom right, pin 2= top right, pin 3 = top left, pin 4 = bottom left.
The connection checks below mean that you start with the component in BOLD and for each of its pins (in the "IC:Pin" column) test to see if it connects to all the pins listed in the other columns on that row. Then go to the next row until you’ve finished checking the component (connections in brackets are reminders about what the connections mean, e.g. (GND) ). Connections in Italics don't strictly need to be tested, you've tested them earlier.

IC:Pin Connects to: and also: and: and: and: and:
U1





1 (VCC) USB:1



2 PD01.1




3 D1:2 PD01.2



4 R3:2 PD23.1



5 D2:2 PD23.2



6 R2:2 PD45.1



7 VCC C2.1 U1.20


8 (GND) USB:4



9 XTAL:1




10 XTAL:2




11 PD45.2




12 PD67.1 R19.1



13 SW1.4 PD67.2



14 SW5:3 PB01.1



15 R15.2 PB01.2



16 R9.2 PB23.1



17 R13.2 PB23.2



18 R17.1 PB45.1



19 R11.2 PB45.2



20 (VCC) R17.2, R19.2 H2.4 D6.2 U1.7
21 AVREF




22 (GND)




23 SW5.1 PC10.2



24 SW6.1 PC10.1



25 SW3.1 PC32.2



26 SW4.1 PC32.1



27 LK1.1 PC54.2



28 PC54.1




             
U2





1 R15.1




2 U3.2 R16.1



3 VCC3_6




4 GND




5 R13.1




6 U3:6




7 VCC3_6




8 VCC3_6











U3





1 R8.2




2 U2:2 R16.1



3 VCC3_6




4 (GND)




5 U2.5 R12.2



6 U2:6 R10:2



7 VCC3_6




8 VCC3_6




             
SW1




1 SW5.1 U1.23



2





3





4 SW2.3 U1.13



SW2




1





2 SW6.2




3 SW1:4




4 SW3.3




SW3




1 SW7.1 PC32.2



2




3 SW2.4




4 SW4.3




SW4





1 SW8.1 PC32.1



2





3 SW3.4




4





SW5





1 U1.23 SW1.1



2




3 PB01.1 U1.14



4 SW6.3




SW6




1 PC10.1




2 SW2.2




3 SW5.4




4 SW7.3




SW7




1 SW3.1




2




3 SW6.3




4 SW8.3




SW8





1 SW4.1




2





3 SW7.4




4





             
R1




1 R2:1 USB.2 (Via D4.2 and R2.1)



2 (VCC)




R2




1 D4.2 R1.1 USB.2


2 U1:6 PD45.1



R3




1 D3.2 USB.3 (Via D3.2)



2 U1:4 PD23.1



R4 (3v6 Reg)



1 (GND)




2 D7.1




R5




1 R6:1




2 D2.1




R6




1 R5.1 PHONO1.1



2 D1.1




R7




1 LK1.1




2 LED.1




R8





1 (GND)




2 U3.1 R9.1



R9





1 R8.2




2 U1.16




R10





1 (GND)




2 U3:6 R11.1



R11





1 R10.2




2 U1:19




R12





1 (GND)




2 R13.1 U3.5



R13





1 U2.5 R12.2



2 U1:17




R14





1 (GND)




2 R15.1




R15





1 U2.1 R14.2



2 U1:15




R16





1 U2.2 U3.2



2 R17.1




R17





1 R16.2 U1.18



2 VCC




R18





1 R19.1




2 GND




R19





1 R18.1 U1.12 C7.2


2 VCC




             
C1





1 (GND)




2 (VCC) USB.1



C2




1 U1:7 (VCC) C1.2 R1.2


2 C1:1 (GND)




C3




1 XTAL:1




2 GND




C4




1 XTAL:2




2 GND




C5




1 VCC3_6




2 GND




C6




1 VCC3_6




2 GND




C7





1 PHONO2




2 R19.1











D1





1 R6.2




2 U1:3 (TX)




D2





1 R6.2




2 U1:5 (OC2B)




D3




1 GND




2 R3:1 USB:3 (D+)



D4




1 GND




2 R2.1 R1.1


D5






Doesn't exist.




D6





1 D7.2




2 (VCC)




D7





1 R4:2 VCC3_6



2 D6.1




             
LED





1 R7.2




2 GND




XTAL




1 U1:9 C3:1



2 U1:10 C4.1



USB





1 (VCC) C1.2



2 (D-) R2.1



3 (D+) D3.2



4 (GND)




Phono Video




1 R6.1




2 GND




Phono Audio





1 C7.1




2 R18.1




LK1





1 U1.27 PC54.2 LK1.2


2 R7.1 LK1.1



             
Headers





Top





1 C5




2 C4




3 C3




4 C2




5 C1




6 C0




7 NC




8 GND




9 GND




10 5V




11 3.6V




12 NC




Bottom





1 PD0




2 PD1




3 PD2




4 PD3




5 PD4




6 PD5




7 PD6




8 PD7




9 PB0




10 PB1




11 PB2




12 PB3




13 PB4




14 PB5




15 GND




16 AREF





Checking Shorts


It’s just as important to check for shorts - that is, many connections SHOULD NOT connect together. The ones you really need to check are connections next to each other (i.e. U1:1 shouldn’t connect to U1:2. U1:2 shouldn’t connect to U1:3 etc), since this is where you’re likely to have made a mistake.

Check U1’s adjacent connections. None should connect to each other.

Check U2’s adjacent connections. Only U2:7 and U2:8 should connect.

Check U3’s adjacent connections. Only U3:7 and U3:8 should connect.

Check the USB signal connections. None should connect to each other.

Check C1, C2, C3, C4 and C5. Pins 1 and 2 should not connect to each other. You may hear a very brief click as the capacitors discharge though.

Pay special attention to the switches, since some. The Vertical connections on a particular switch should connect (when looking at the board sideways), but SW1:1 and SW2:2 shouldn’t connect as shouldn’t SW2:1 and SW3:2; SW3:1 and SW4:1. Similarly, SW5:2 and SW6:1 shouldn’t connect, SW6:2 and SW7:1 shouldn’t connect. SW7:2 and SW8:1 shouldn’t connect. SW1:3 shouldn’t connect to SW5:2, nor should SW1:3 connect to SW5:3. SW2:3 shouldn’t connect to SW6:2. SW3:3 shouldn’t connect to SW7:2 and SW4:3 shouldn’t connect to SW8:2. SW1:2 shouldn’t connet to R4:2 and SW1:1 shouldn’t connect to R4:1.

LED1 and 2 shouldn’t connect and neither should R7:1 and R7:2.

R8:1 and R9:1 shouldn’t connect, similarly R10:1 and R11:1 shouldn’t connect neither should R12:1 and R13:1 nor R14:1 and R15:1, nor R16:1 and R17:1

The most important thing to check is that VCC and GND aren’t shorted.

Testing the Board: The Final Stages


You’re now ready to start testing the board with actual power connected! At this stage, the ICs shouldn’t be inserted. The first test is the non-functioning power on test.

  1. First check there’s no stray bits of metal under the PCB, nor stuck to the underside of the PCB!
  2. Next check the USB-B cable can plug into the USB-B socket. Hold only the edges of the PCB and insert the USB-B cable, then remove it.
  3. Connect your USB cable to your USB power adapter.
  4. Whilst touching only the edge of the PCB and (whilst getting ready to remove it if there’s a problem) insert the USB-B connector.
  5. If there’s no smoke or pops or anything else, then you’ve passed the first power-on test!!! Well done!!!

Part Two: Power On With Inserted Chips.


Now REMOVE the USB-B lead from the FIGnition computer!!!

Inserting The ICs


For some reason manufacturers supply ICs with their pins splayed out, but the sockets need them to be vertical as shown below:

 As supplied
 As needed to fit

You’ll need to bend them all at the same time so they stay in line, but they’re fairly fragile, so you need to be careful. Start with the 8-pin ICs as they’re easier.

  1. Hold a chip with one end in a pair of pliars and the other end between my fingers.
  2. Then level the pins against a straight wooden surface for one side.
  3. Then carefully turn the chip around (being careful not to touch the pins themselves with your fingers)
  4. Repeat the process for the other side.
  5. Repeat steps 1 to 4 for the other 2 chips - but NOTE: You may find the initial batch of U1 chips have the legs  'straightened' and will already fit in the sockets).

Now you’re ready to insert the chips.

Start with U2 (which says “23K640” on it) then U3 (which says “AMIC” on it) then U1 (the big chip). Inserting the chips is a bit of a procedure in itself:
  1. Place the PCB on your bench with the front side of the PCB facing you.
  2. Locate the notch on one end of the chip. That’s the end that should point to the top of the PCB (towards the USB and Phono sockets).
  3. Use your fingers to hold the chip by its plastic body, at the far ends of its body, whilst avoiding touching the legs as they can be damaged with static electricity.
  4. Carefully insert the chip into its socket WITHOUT bending any of the legs, or twisting them etc. You might need to readjust the legs (using pliers of course), but you must make sure they’re all located well enough before applying force. You’ll need a certain amount of force, but it shouldn’t be too hard just using your fingers. Remember to insert the chips with even force since if one side or end goes in first it may twist or bend the legs of the other end, preventing it from fitting.

Again you need to do some checking.

  1. Check the pins have all gone in OK (there’s no metal pins squiffing out of a socket).
  2. Check that the notch on each IC is pointing to the top, which is towards the USB and phono sockets (otherwise you’re likely to burn out entire chips as you’ll connect VCC to its GND pin and vice-versa).
  3. Check that U3, the one on the right says “AMIC” and that U2 the one in the middle says “23K640” on it.


Once you’ve done that you’re ready for the next test:

  1. Whilst touching only the edge of the PCB and (whilst getting ready to remove it if there’s a problem) insert the USB-B connector.
  2. If there’s no smoke or pops or anything else, then you’ve passed the SECOND power-on test!!! Well done!!!
  3. Wait a little while to see that it continues to be OK. The LED shouldn’t light nothing should happen for the moment.

OK, remove the USB-B connector again.

Now let’s try it with your TV. CRT TVs work best, and LCD TVs require more precise timing - they can work, but the image may jitter (perhaps a future firmware revision may improve this) Breaking News: There's a fix in the firmware download section since Dec 3, 2012, but it has not been distributed with any RevE kit prior to that date (prior to FIGnition Serial 7006).

Plug one end of your phono lead into your TV.
Turn on the TV.
Select the correct video input (I guess either SCART or Composite depending on how your phono lead connects to your TV). With the correct connection the image should be a steady black image even before you’ve powered on the FIGnition computer.
Plug the USB-B connector back in without touching any of the keys on the keypad. The FIGnition logo should instantly appear and a couple of seconds later the power-on message should appear! On FIGnitions with Firmware revision 0.9.6 or earlier it will look like:

   

and on Firmware revisions 0.9.7 and later the second image will look like (with the cursor near the bottom):



CONGRATULATIONS - YOU’VE BUILT YOUR OWN COMPUTER FROM SCRATCH AND IT STARTS UP!!!!

 
Now you need to take another tea break. You’ve got more testing to do to make sure it works properly!!!

Testing That The Computer Works Well Enough

There are a number of tests you can make to test basic functionality:

(Firmware 0.9.6 and earlier):

  1. Test the keyboard works by holding the top right key and pressing the others in turn you should get: m, n, o (then on the bottom row), p, q, r, z. Now delete all the characters by hitting the top right button until they’ve all gone.
  2. Test the RAM can work. Use the Use-it section and type: 43 const x <enter> (the computer will display OK). x . <enter> and you should see 43  OK.
  3. Test the Flash can work.
  4. Use the Use-it section to use the editor.
  5. Type 0 edit <enter>. And then move about the screen and enter up to 500 characters of text.
  6. Type <command (SW2+SW6)> then Shift (SW5), then ‘W’ (SW8+SW5) to write your text to block 0 of Flash.
  7. The computer should show a bit of gibberish on the top of the screen, and display OK again.
  8. Type cls <enter> the screen should clear.
  9. Type 0 list <enter> the screen should display the text you edited previously.
  10. Test the USB uploading works. You’ll only need to do this when you want to upload new firmware, but it’s good to try doing it as soon as possible. Follow the instructions for upgrading the firmware using avrdude (you’ll need avrdude at this point). The procedure is covered there and should work OK.

(Firmware 0.9.7 and Later).

  1. Test the keyboard works by holding the top right key (SW4) and pressing the others in turn you should get: m, n, o (then using the bottom row of switches), p, q, r, z. Now delete all the characters by hitting the top right button until they’ve all gone.
  2. Test the RAM can work. Use the Use-it section and type: 43 const x <exe = SW5, then SW8> (the computer will display OK). x . <exe> and you should see 43  OK.
  3. Test the Flash can work.
  4. Use the Use-it section to use the editor.
  5. Type 0 edit <exe>. And then move about the screen and enter up to 500 characters of text.
  6. Type <command (SW2+SW6)> then ‘w’ (SW8+SW5) to write your text to block 0 of Flash.
  7. The computer should show a bit of gibberish on the top of the screen, and display OK again.
  8. Type cls <exe> the screen should clear.
  9. Test the USB uploading works. You’ll only need to do this when you want to upload new firmware, but it’s good to try doing it as soon as possible. Follow the instructions for upgrading the firmware using avrdude (you’ll need avrdude at this point). The procedure is covered there and should work correctly.
(Example Flash Editing Session)

CONGRATULATIONS AGAIN - YOU’VE BUILT A FIGNITION COMPUTER FROM SCRATCH THE WAY THOUSANDS OF PEOPLE DID IN THE 70S AND IT FULLY WORKS!!!!!! YOU’VE REALLY REALLY DONE IT!!

Now for the fun part of actually programming it do things!!!! This site's programming documentation is a little scattered, but the following should get you started:

  • There's an initial tutorial for starting programming in FIGnition Forth, there's also a part 2 and part 3!
  • There are some extra definitions you might want in your own programs.
  • There are some actual example programs you can type in and run (there are also hex files for downloading them onto your computer using Avrdude).
  • There's a complete list of commands that FIGnition understands.
  • There are some links to extra Forth reference material.
At some point you'll want to really understand what's going on inside FIGnition:

  • There's an explanation of how the AVR's pins are used, how the memory is organised and how the keypad works.
  • There's an explanation of the video modes on FIGnition.



Comments