Introduction: MonoPong

Picture of MonoPong
When I saw this amazing 1D-Pong-Game at Hack-A-Day, I thought "What a great idea - I want to make one". In fact it is a good projects for using microcontrollers, but I also think it is a great project for using logic ICs. I am fascinated by the simplicity of these ICs, and I was wondering if I could make a 1D-Pong-Game without a µController.

Here it is: MonoPong involves a CMOS NAND Gate (4011), a 4510 up/down decade counter, 4028 BCD to decimal decoder chip and as an oscillator an NE555 in astable mode.

The Game
is a 1D-version of the famous PONG game. The "ball" moves from left to right. The player has to push the button at the right moment to strike it back. If he misses the "ball" the other player wins one point.



Step 1: How It Works

Picture of How It Works

Instructables is not only about how to make something, but also about learning how something works. So, let me first explain how the circuit works.

IC2 in the schematic is a CMOS 4510 up/down counter. Driven by IC1 which is a NE555 in astable mode it counts from 0 to 9 in BCD code. Normally it counts from 0 to 9, but it can be switched to count in the opposite direction by b setting pin 10 to HIGH.The BCD code is converted into a decimal code by the CMOS 4028 (IC2). This one drives the display and gives out the counted number in form of one of 10 LEDs lighting up.

The last IC is a 4011 NAND gate. Two of the NAND gates are connected to work as a RS flip flop. The inputs of the other two NAND gates are connected to the buttons and LED1 or LED10. The outputs are connected to the RS flip flop. If you push the button at the right moment, which means for example when LED10 lights up, the output of the NAND gate sends a LOW signal to the flip flop which changes its output state (eg. from HIGH to LOW or vice versa). This signal goes to pin 10 of the 4510 to change the direction of the count. The "ball" bounces back.

Step 2: Parts, Tools, Skills

Picture of Parts, Tools, Skills
For building the monoPong game you need the following ....

Parts

  • 10 LEDs: 8 red, 2 blue -- or choose the colors you like
  • 2 momentary push buttons
  • 1 on-off switch
  • NE555
  • CMOS 4510
  • CMOS 4028
  • CMOS 4011
  • Potentiometer 100k
  • Resistors: 1x 5k, 2x 100k, 1x 470 Ohm
  • Capacitors: 1x 47µF, 1x 4.7µF, 1x 100nF
  • Wire (a lot, different colors)
  • Small wooden box, or another enclosure
  • Perfboard
  • Double sided tape
  • 9V battery and clip

Tools

  • Drill
  • Soldering iron and solder
  • Helping Hand (make your own)
  • Wire cutter
  • a set of small pliers
  • Scissors
  • Multimeter
Skills

Step 3: The Enclosure

Picture of The Enclosure

We start with the easiest part: Drill the holes for the LEDs, pushbuttons, potentiometer and on-off-switch to the box. You can already mount these parts. I removed the metal parts of the box to have a cleaner design.

Step 4: Soldering the Circuit

Picture of Soldering the Circuit

Soldering the circuit it the hardest part of the work in that project. I spent a whole day (with lunchbreak!) for it. There are not much components, but a lot of wire.

Do not solder the ICs directly to the board - always use sockets!

Begin with the NE555 circuit and solder all connections step by step. Dont forget to double check all your connections by using your multimeter to avoid mistakes. It could be difficult to find the missing/wrong connection later. Refer to the circuit diagram and work very accurate. (click here for a big version of the diagram)

I did some modifications in my last version: I left out the reset button (S1) and the related pull down resisor, because it is not necessary for the game. I just connected the reset pin ( 9) to GND. I also substituted the ten current limiting resistors (next to the LEDs) with only one. One is enough because only one LED lights up a time.

In the last step solder the wire for the LEDs, poteniometer, on-off switch, battery clip and the two pushbuttons. I used different colors to not get confused when wiring these parts up. I highly recomment you to do so.

Now its time for the ICs to join the party. Put them to the sockets. Put the board into the box and wire the LEDs pushbuttons, potentiometer, battery clip and on-off switch. Again: carefully double check every single wire! It is easy to make mistakes here.

Step 5: Finishing

Picture of Finishing

Glue the circuit board to the box. I also had to glue the potentiometer because the wood was too thick to screw it. I closed the box and fixed the top cover with double sided tape.

Add a 9V battery to the clip and start playing with your friends!

Modifications

I wanted to keep the design as simple as possible, but of course there are modifications possible. You could add a switch for 1 player mode closing the Player 2 button permanently. Or you could set up the circuit to avoid cheating (in my version it is possible to push and hold the button to bounce the ball back). What ever you do, please share your modifications!

...and have a lot of fun!

Comments

techno guy made it! (author)2016-12-06

Here's the one that I made on a breadboard. I also made a video for it:

My design was a little different because I didn't exactly use your circuit and I also didn't have the ideal parts.

Ploopy (author)2015-06-16

I believe that you need a monostable circuit in order to trim the signal lengh and fix the "cheating"

dmark2 (author)2014-11-20

I thought about some developments for a possible future build of my own: narrow pulse one-shot generator for each button (to avoid cheating/holding) and 4017 decade counters for score (each time the 'score' LED lights, a clock is sent to the counter) and some sort of tone being triggered by the 10th step opening. I imagined just a simple AND gate opening a tone and one has to reset the circuit to restart the game. I really REALLY like that this is just based on logic! very clever done!

Fenris78 (author)2013-05-20

First of all, Thanks for share your Schematics!

I have a couple of doubts about the materials:

I am reading the schematic,

R3 (10k) is not in the list
In the Schematic, i see 8 Leds but in the list i only see 1 resistor of each type. I have supposed that it are 8 resistors of 470 Ohm, or a big one of 3.7K.

am i supposing correctly?

mischka (author)Fenris782013-05-28

Hey Fenris, thanks for your comment. Let me explain...

R3 was the pulldown resistor for the reset button. In my final design I left the reset button because there was no need for it.

I also changed the 8 current limiting resistors for one, because only one LED lights up one time. So you just need only one resistor between the cathodes of the LEDs and GND. (See Step 4).

Cheers Mischka

Ploopy (author)2013-05-10

Cool project, I just think it would be good to put the speed switch in the middle with the power switch.

swartable (author)2012-12-04

This is great fun, much better than having to download a program to a microcontroller. I don't have a 4510 or 4028 but I found a 4017 decade counter in my son's electronic kit, which unfortunately only counts up, but at least I don't need to decode anything. I was thinking of using two more 555s to fix the cheating problem (and maybe adding another two counters and 7-segment LED decoders to keep score). It starts to get complicated, and my son says we should just use an Arduino, but I'm having fun.

Thanks so much for this project. (BTW, what's the best place to get these old parts? Digikey?)

imarcianoloco (author)swartable2012-12-10

The cheating problem can be fixed with a 4013 dual D flip-flop I.C.
Connect the clock inputs to the push buttons and the D inputs to the decoder outputs (where the NAND gates' inputs are connected to in the original circuit) Then connect the outputs of the flip flops to the RS latch.

mischka (author)swartable2012-12-06

you can get them for example at mouser.com

mischka (author)swartable2012-12-05

sounds great, hope you will share your result! The parts are still very common. I bought them in a german store (Conrad) since I live in Germany ;-), but there should be sources in US.

nlcortana (author)2012-12-09

What happens when both players hold down the button? I think the game is cheatable, any simple solution around that? D-latch on the output 1 & 9 as memory for the last output stage?
Still very grate and simple circuit! A+

mischka (author)nlcortana2012-12-10

Yes you are right, it is defenitely cheatable. I wanted to keep the circuit simple, but it should be possible to avoid cheating. Feel free to hack it better and post your solution.

Higgs Boson (author)2012-11-27

This is very cool! I've done quite a few analog circuits and some arduino programming, but have always wanted to do digital logic (I enjoy the electronics building much more than the programming) and this seems like an excellent starter project.

mischka (author)Higgs Boson2012-11-27

indeed, I totally agree

tolstoyan (author)2012-11-26

maybe it would be nice if it has a directional LED not only for two players so that it can be more fun and exiting

Build_it_Bob (author)2012-11-25

Very nice project ...well done and nice to see the use of some of the components I grew up using ...and admiring each of their functions.
Build_it_Bob

AndyGadget (author)2012-11-21

 
I love this, and the way you've implemented it in discrete logic.  Maybe not a game you could play for hours on end, but a great novelty.  Sometimes I think microcontrollers make things too easy!
It reminds me of a game I built out of TTL chips literally 3 decades ago where you had to turn off a sequencing string of LEDs by pressing a button as each lit LED passed a marker.  Pressing at the wrong time would light an additional LED.

nwlaurie (author)AndyGadget2012-11-23

When I started serious (?) electronics TTL was still on the way in, we learned to build this kind of stuff with discrete components: many transistors, resistors and caps... My very first Noughts and Crosses (Tic-Tac-Toe) machine came out of a Bernard Babbini book (who remembers them?) and was made entirely from multi-layer multi-pole rotary switches and lo-voltage light bulbs. Microprocessors ... Pah!

AndyGadget (author)nwlaurie2012-11-23


The wonderful Babani Books!
The first circuits I ever made were a metal detector and a 'burp box' (4 cross-connected astables) from '50 Electronic Novelty Circuits'. And then a matchbox radio using the ZN414 from 'Practical Electronics'. Those were the days. Kids today . . . Don't know they're born #;¬)

nwlaurie (author)AndyGadget2012-11-23

So true! Now it's just 'plug an Arduino into a socket with 4 LEDs and a USB then program it to play "Happy Birthday" and, WOW, Howzat for clever?'! Still, machine-code programming was damn good fun when it first appeared too. Don't suppose you built a Nascom as well, did you! ;-)

AndyGadget (author)nwlaurie2012-11-23

 
Not a Nascom (oh the luxury of those Z80 16 bit registers), but an Ohio Superboard - 6502 based.  Came ready built (apart from case, PSU, modulator etc) and I built an extra RAM board and a speech synth for it.  Then came the brilliant BBC computer. 
I've just received a Raspberry Pi I ordered a few months back.  Hopefully the Raspberry project should get a few more kids thinking about what actually goes on in that black box under the desk that they play games on.

nwlaurie (author)AndyGadget2012-11-24

It was the PIO that did it for us (gang of 3 all making Nascoms and then applying them). You could actually measure and control things - and boy, did we measure and control! Aaah, the memories...
I've sort of avoided the Pi though I totally agree that it is really needed to drag kids back from the X-Box way of thinking. Let's hope... Perhaps I should give it a whirl.

mischka (author)AndyGadget2012-11-23

I think µControllers are very useful to make things easier. I mean you could make this pong game with much less wire connections and more features using an Arduino or a µC. But using discrete logic you can learn how digital circuits really work.

TheDivineImpulse (author)2012-11-23

so do i have to program the cmos ic's or not? i'd like to make one of these...

mischka (author)TheDivineImpulse2012-11-23

No, these ICs have implemented funktions. If you want to know more about digital logic see for example this website.

dspencer9 (author)2012-11-23

this looks hard. I don't have ANY of those basic skills...

M0HIZ (author)2012-11-22

Where did you get that box?

mischka (author)M0HIZ2012-11-22

got it in a 1 € shop

M0HIZ (author)mischka2012-11-23

OK, thanks.

indiantinker (author)2012-11-22

Great Implementation..
Well Done!

Orngrimm (author)2012-11-22

Hahaha! How nerdy is that??? :)
I was like "Whaaaaat?!?" and i think i will build such a thing just to see the fun if i get it out and show to someone... The expression on theyr faces will be worth it for sure :)

About This Instructable

29,503views

196favorites

License:

Bio: I like to play with electronics and other fun stuff, modify things to make them more useful or just more funny, putting things together that ... More »
More by mischka:Vampire Sock PuppetLED FlowersmonoPong
Add instructable to: