A grand total of six chips was used for a single/two player pong game; four chips are simple 74HC-series or 4000-series and the last two are dual operational amplifiers. However, there are 13 potentiometers (excluding the paddle controllers) for various adjustments in this delicate analog circuit and a general alignment instruction is listed below in this webpage. Below is the schematic of the analog pong game that generates XY vectors for an oscilloscope.
![]() |
It is simple to be complicated, but complicated to be simple. While the circuit may appear relatively simple, the alignments can be rather tricky. Below are general alignment procedures:
1. Set all pots to the medium range then apply power. The 4013 most likely will oscillate or stick, but ignore this for now. With the oscilloscope in normal operation, probe RAMP output and adjust the 4.7K resistor until the wave appears like a ramp/triangle waveform with the largest amplitude possible.
2. Connect the X and Y output of the circuit to the respective oscilloscope X and Y inputs, and then try to center a picture. Note that the input amplifiers will have to be cranked up (my oscilloscope was set at 0.5V per division for the vertical and 0.2V per division for the horizontal). Try to locate the ball in the picture.
3. Adjust TB ADJ and BB ADJ away from ground to get the ball to bounce up and down. V. SPEED may need to be adjusted for the bounces to start because the TB ADJ and BB ADJ pots bleed away some of the capacitor’s charge for the BALL Y signal. If it is too difficult to start the bounces then disconnect pin 4 and hook up a 10K pulldown resistor to ground. Take a wire from +6 and tap pin 4 and see if the ball rises and bounces back down. If the ball is already up, then adjust TB ADJ until the ball starts to bounce down. When this is achieved, reconnect pin 4 to the original circuit and adjust BB ADJ until the ball goes up and down with the largest up/down deflection.
4. Adjust TL ADJ and BL ADJ until the top and bottom lines match the maximum and minimum vertical positions of the ball while it is bouncing up and down.
5. Adjust RB ADJ and LB ADJ away from ground until the ball starts moving horizontally and bouncing back and forth. H. SPEED may need to be adjusted. Refer to step 3 if starting the bounce is too difficult, but instead of disconnecting pin 4, disconnect pin 10.
6. Adjust LINE WID until the width of the top and bottom lines extend nearly to the point where the ball rebounds horizontally. Adjusting RAMP ADJ can move the lines horizontally if necessary.
7. Adjust LP POS and RP POS to place the paddles at the points where the ball bounces off when it hits the paddle. Adjusting the paddle until the ball hits the paddles directly will be necessary. The goal is to get the ball to bounce right off the paddles, but if it misses, it goes beyond the paddles slightly then rebounds. Readjusting RB ADJ and LB ADJ may be necessary.
8. Adjust PADDLE SIZE ADJ for the preferred paddle size. V. SPEED and H. SPEED can be adjusted to vary the ball speed, but if there is too much resistance then the ball may not bounce due to reasons explained in step 3.
The game works because of the 74HC4851 eight-channel analog switches. The 4060 is a clock chip with a frequency set by the 22pF and 47K resistor and outputs binary pulses that are used to multiplex the input channels of the 74HC4851 to output single X and Y signals from the various input signals. The ball signals are fed in both Y0 and Y1 to extend the drawing cycle so the dot appears brighter. The top and bottom line signals are fed in two channels as well to make the lines brighter. The paddles are only fed in one channel.
The RAMP signal is generated by the charging action of the 0.1uF capacitor, which is discharged by the pulses from the 4060. Note that the transistor is activated every time there is a pulse on pin 5. So when the first bit of the 74HC4851 goes high the capacitor is discharged, thus the RAMP signal is synchronized with the top and bottom lines and the paddles.
The paddle signals LP Y (left paddle Y) and RP Y (right paddle Y) are generated simply by varying the voltage level on the Y-axis with a pot. The maximum and minimum points for the paddle are generated by the voltage level of the top line (TL ADJ) and bottom line (BL ADJ) positions. Moreover, to give the paddles their length, the Y signal voltage is injected with some of the RAMP signal. The size is adjusted via the PADDLE SIZE ADJ.
The ball Y position is generated by a very simple flip-flop that charges or discharges a RC network. CMOS has nice high impedance inputs, so when the capacitor charges up to the minimum threshold to be interpreted as a logic 1, it can be used to set or reset the flip-flop. The top bound adjustment (TB ADJ) adjusts the RESET threshold level so the capacitor has to charge up to a certain voltage level before it triggers the RESET. When the flip-flop changes state and discharges the capacitor, the bottom bound adjustment (BB ADJ) is adjusted so the NPN transistor stays activated when the capacitor is above a certain minimum voltage level. When the capacitor discharges below this minimum threshold level, the transistor deactivates and SET will be pulled up to +6V via the 10K resistor. The BALL Y signal is simply the voltage level on the capacitor.
The flip-flop for the ball X position works very much like the one for ball Y, but with an important difference. LM319 dual operational amplifiers (op-amps) are used as a window comparator to detect when the ball Y position matches the paddle Y position. When ball Y is within the "window" of the paddle signal, both op-amps outputs are pulled up to +6V by the 1K resistor. However, the ball should only bounce off the paddles, so the right bound adjustment (RB ADJ) and left bound adjustment (LB ADJ) are used to prevent the op-amps from setting or resetting the flip-flop until the ball X signal is at the paddle’s X position. Note that the op-amp outputs, diode or transistor, and the 1K resistor all create a simple 3-input AND gate. It is important to note that if the ball misses the paddle due to the ball Y not matching the paddle Y signal, it will continue off the playfield slightly until the Y signals match to send it back the other direction.
If one prefers to have a circuit to stop the ball from rebounding into the playfield after it misses the paddle, then using an extra dual op-amp can be used as a simple comparator by sensing when the ball X position is beyond the paddle position to pull down the S or R inputs, thereby preventing the possibility of a rebound until the output of the op-amp is disconnected, perhaps via normally closed (NC) pushbuttons. This idea basically turns the 3-input AND into a 4-input AND for this condition.
The game is not really challenging because the ball does not change angle or speed when it hits the paddle in certain ways. The ball simply reverses horizontal direction when it hits the paddle. Moreover, if V. SPEED and H. SPEED are adjusted so the ball moves slowly, one can notice how it follows the capacitor charge/discharge curve rather than a linear path. Using op-amps for triangle wave generators instead of the 4013 flip-flops might be a better option but not explored in this project. The game simply demonstrates how simple parts can be put together to make a game without using a microprocessor. The project cost me $0; all the pots were taken off dead computer monitor boards and I had extra chips from previous projects.
![]() |
![]() |
The circuit was stuffed on a small 2" x 3" PCB and fitted in a painted Altoids tin.
