Building the PIC16F84 based game system
|Note: There is a separate assembly instruction for the version with built-in joypad.|
This text describes how to build my PIC16F84 based game system, before you start you should read through the whole text one time. Note that many components are sensitive to too much heat and will get damaged if you heat them too much when soldering. The drawn placement images show components to mount in each step in black and the components mounted in previous steps in gray.
When soldering the components onto the PCB it is easier if you can put the PCB with the components side flat down, so you should solder components of the same height at the same time. To be able to add components of different height you'll need to start with the lowest first and build your way up.
The first thing to mount when adding components to a single sided PCB is the wire bridges because they are the lowest "components", but this board doesn't have any wire bridges so we can start with the resistors.
Add the 15 resistors (11 x 1k, 1 x 470, 1 x 2k7, 1 x 10k, 1 x 220) and the diode. Note that the diode is polarized and should be mounted with the cathode (marked with a line) closest to the edge of the PCB.
|Location of the 15 resistors and the diode. (Click to enlarge)||Photo of the resistors and the diode mounted.|
|Common marked with a line.||Common marked with a dot.|
Socket and SIL resistor networks.
The next step is to add the 18pin socket, the two 100nF capacitors (if they are of the same height as the sockets), the reset switch, the 1k potentiometer and the two 5x100k resistor networks. Note that the resistor networks are polarized with their common pin marked with a dot or a line that should point at the same direction as the diode as seen in the pictures here to the right.
|Location of the socket, caps, switch, pot and resistor networks. (Click to enlarge)||Photo of the socket etc. mounted.|
The two 22pF, the two 3.3uF capacitors and the 6 pin angled programming header should be mounted next. The 3.3uF capacitors are polarized and should have their minus-side mounted closest to the edge of the board.
|Location of caps and 6p programming header. (Click to enlarge)||Photo of the caps and programming header mounted.|
High capacitors and connectors
Now you can mount the remaining components except for the 7805 regulator, so in this step you mount the two RCA-conectors, the 2.1mm power jack, the chrystal, the 2x5 pin IDC programming connector, the two 9p male DSUB connectors and the two 100uF capacitors. Note that the 100uF capacitors are polarized and should have their minus-side mounted closest to the edge of the board.
|Location of connectors, chrystal and last caps. (Click to enlarge)||Photo of the caps and connectors mounted.|
The 7805 regulator
Finally you can mount the 7805 regulator that is the highest component on the board.
|7805 location on PCB. (Click to enlarge)||Photo of 7805 mounted.|
Safety tests before turning on the power.
The only thing left on the board then is the microcontroller that should be mounted in the socket later, but before mounting the socket we need to do some tests to prevent it from burning up in case something is wrong. First use a multimeter to measure if there is a short between pin 5 and 14 of the 18p socket. If so then you have a short between VDD and GND and you should follow the VDD-line on the PCB and check for shorts between the VDD line and the ground plane. After removing all the shortcuts between VDD and GND you can apply 7v volts with a current limit of about 50mA to the power jack. If the current is over 15mA then there is something wrong, check that all components are mounted according to this description and all shortcuts have been removed so the power consumption gets less than 15mA.
Now you can put the microcontroller in the socket. The system was originally built for the 16F84, but as it is being phased out by microchip I've updated the software so it can run in the pin-compatible PIC16F877 (special version of the software). Note the polarization of the PIC should be the same as the socket. Before turning on power again, make sure the current limit is still on just to be safe. Check the current consumption, at this point the consumption should be about 18mA, if it is still about the same as without the PIC you most likely have a short between the reset-pin-line and ground. Remove reset shortcuts before you can continue.
Now you can connect the TV to the system. Use a prefabricated SCART or RCA cable that connects to the SCART connector or the composite video input on your TV. The right connector is video and the left one is audio. You will be able to control the sound volume using the potentiometer close to the video connector. What channel to select on your TV is depending on your brand and model, consult your TVs manual for which channel to use for the SCART or composite video input connector you connected the system to.
If you don't get an picture at all, make sure the crystal has no shortcuts to ground and that your TV has the correct channel selected. If you have an oscilloscope you can check that the crystal works and that the video output is generating a video signal.
If the picture is much distorted, make sure the two resistors (1k and 470 ohm) connected the video RCA connector has no shortcuts to ground and is correctly connected.
If you get a good picture but some of the graphics is missing, like parts of characters of parts of the playfield (in Tetris), then you have a short somewhere between the PIC and one or several of the 1k resistors connected to the joystick ports.
(In the case you have programmed the chip yourself, you might encounter problems with music for Tetris is not working or texts of the menus in Pong are filled with junk. You get this problem when your programmer doesn't support programming of the EEPROM locations in the chip.)
PIC Game System (C) Rickard Gunee. This is open source, use this at your own risk ! You may use the information on this page for your own projects as long as you refer to the original author (by name and link to authors homepage), don't do it for profit and don't hurt or harm anyone or anything with it. The author can not be held responsible for any damage caused by the information on this and related pages.