Home > Advanced Projects > Giant Simon Game
UPDATED:.11:40 01 December 2013

by Phil Townshend 2005

There have been a few versions of this game made but this one has to be the most "over-the-top" yet.
It sits outside my workshop on the wall for the students to play and measures nearly 1 metre in height.
It follows the same rules as usual, where you have to repeat a random light sequence that gets progressively longer each time - up to 63 steps.

This version has the following extra features:

  • Plays 6 different tunes every 30 seconds
  • Has a chasing display while not being played
  • Has high score facility for up to 8 scores with name entry
  • Scrolling messaging and high scores across the 6 digit, 16 segment display
  • Patterns sequenced on the display inbetween messages

All this from one 18pin PIC with 4K of memory and a wicked multi-tasking program I am very proud of!

Basically I got carried away...

Click here for video


The circuit is surprisingly straight forward. There are 32+1 outputs and 8 inputs achieved from an 18pin PIC (IC1) using a common arrangement found in most computers. PORTB on the PIC is used as an 8 bit bi-directional data bus while 4 more outputs from PORTA latch data from the bus into each one of the latches by pulsing low briefly. At this point whatever data is on the bus at that point gets locked into the latch, thus releasing the data bus to access the other latches. This last latch is wired in reverse to pass data onto the bus at the right time using output enable and doesn't actually latch any data from the buttons. The speaker is driven via a preset potentiometer for volume and to a Darlington driver. The whole system runs from a 20MHz oscillator (IC7).

This arrangement could be used for a variety of applications that need lots of I/O lines.

The first 2 latches (IC2,3) contain the 16 anode drives for the digit segments. Each output from the latch has a PNP driver to source current.

The next latch (IC4) provides cathode drive for each digit although only 6 are used. These have a NPN Darlington driver to sink current from each digit.

The next latch (IC5) provides drive for illuminating the buttons. These also have Darlington drivers.

Finally there are 8 button inputs connected to the 5th latch (IC6) which reads in their state at that particular mooment the LE signal is pulsed low.

The circuit also has a 5 volt regulator for the PIC.The supply voltage for the displays and LED clusters can be any voltage within reason, 9 to 24 volts-ish.

The drivers used for the Darlingtons are TIP122 and can sink up to a couple of Amps each before needing a heatsink. The PNP drivers can deliver up to 300mA for each segment

The program for this is 4K long and just fits into a PIC16F648. I am very pleased with it as it performs a great many tasks all at once.

A brief explanation...

Every 50us (20,000 times a second) the PIC inturrupts and updates any sound generation that might be in progress. The speaker is pulsed at the right frequencies to produce over 3 octaves of sound.

Every 2ms (500 times a second) the display multiplexing is updated. Only one digit is actually lit at any one time. When the 2ms interrupt occurs, it rapidly latches out 4 lots of 8 bits into the latches (within 14us), effectively switching on the next digit and displaying it until the next interrupt. The buttons are also read at this point and the states stored.

Text scrolling, light sequencing and game play are also controlled in the main part of the program.

The PIC also has 256 bytes of EEPROM that are used to store the hi-scores and 6 characters for names.

While the game is not being played, the buttons sequence, the display scrolls messages and plays tunes - similar to arcade games, fruit machines and pinballs when not being played....a kinda Demo mode.
The PCB is shown below. All connections are made via terminal blocks.
dimensions: 9.75" (248mm) x 4.35" (111mm)



The display is a bit extravagant. It has 6 16-segment starburst digits made up from 312 LEDs in all. Each digit is made from 16 segments, labelled a to r. The labelling is not the conventional way as I didn't check while I was programming - I made up my own.

The vertical segments and diagonal segments are made from 4 LEDs in series and the horizontal ones are made up from 2 LEDs in series. The current needed for each segment is about 100mA -since the digits are multiplexed and there is only one on at any one moment, the LEDs are driven hard to maintain persistance of vision and so they have an on/off ratio of only 1:6

The LEDs were mounted in a laser cut mdf panel and the digits given a 5 degree slant - most displays tend to have this, they look better.
Wiring was intense but neatness helps a great deal. Each LED wire was cut and then placed into the panel. The wires were than shaped to form connections between LED groups.

The front of the display was sprayed matt black and then a red semi-transparent 3mm acrylic placed over to act as a lens.

The 4 game buttons are vacuum formed from 1.5mm HIPS and light up from 69 LEDs for each button.
The mould for the large buttons was made from 25mm MDF glued together and turned on a lathe to get a round bowl shape. A card template was cut to ensure a uniform shape.

The edges were trimmed to leave a collar to hold them in place. The green dome was later replaced with a white one but lit with green LEDs since green 1.5 HIP diidn't let hardly any light through.

The 69, 5mm LEDs for each button were wired in a particular way to save current. Every 4 LEDs were wired in series and then these 18 blocks of 4 were wired together in parallel to form one large array mounted on 4mm MDF with holes laser cut. The extra 3, (18x4 = 72) were wired on the rear and just left pointing to the centre.

Three microswitches were mounted around the perimeter of the disc. These were activated by the HIP domes when they were pushed.

The smaller buttons were made the same way. A small mould made from a shaped piece of 25mm MDF was used to form all 4 buttons but different letters were embossed on top of each bitton to show its function.

The lettering was laser cut from 1.5mm birch plywood. The letters were left inside afterwards to shade the light from the LEDs and be easier to see.

The front panel was made from 6mm MDF with a design kindly painted on by a colleague, Linda - many thanks. Holes for the dome switches were cut, and sponge placed between the button dome and the LED/switch panel to act as a spring - sponges work well.

The image left was taken while fitting the main parts. Notice how the PCB has to be moved -(can be seen later) to accomodate the 4 control buttons - here it was just being tested.

The edge of the case was made by gluing 25mm thick plywood blocks at intervals around the edge of the main board. Then 1.5mm birch plywood strips were gloud into place and clamped. A liberal fillet of glue was also applied to where the strip meets the panel. It ends up being quite strong.
The photo right shows the final layout and completed game being tested. Orange and Yellow buttons both used yellow LEDs as I had quite a few of these and they had a good light output.

A back panel of 4mm MDF with extra lugs for wall mounting was fixed to the plywood supports glued onto the main panel.

Phil Townshend 2013

Tel./Fax: 01202 474720
Tel: 07714 096258

Contact us by email.
www.edutek.ltd.uk - Working Electronics For Students & Teachers