3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

MicroSimon

MicroSimon
This project shows how to create an MB Electronics Simon game clone using an 8-pin PIC12F683 microcontroller. The game includes a full emulation of the original Simon 'game 1' and the ability to select from 4 skill levels which control the number of colours you must repeat in a sequence in order to win the game.

The project was created for Sparkfun's microcontroller competition 2011 and aims to demonstrate an number of useful design techniques which can be used when working with low-pin count microcontrollers. The code is written entirely in C and fits neatly into the 2K of available program flash on the chip. The PCB is only 1.5 inches square and uses both SMD and through-hole components, however it is perfectly possible to recreate the project using larger components on a breadboard or a small piece of strip-board.

The game is powered by a standard CR2032 3V lithium cell which is mounted on the underside of the game. The design uses the ultra low power standby feature of the microcontroller meaning that no power switch is required. Overall power consumption is kept to a minimum by using the internal oscillator of the PIC running at 4Mhz.

You can see a video of it in action over on youtube
 
Remove these adsRemove these ads by Signing Up
 

Step 1Parts List


The MicroSimon hardware consists of the following parts:

* 1 x PIC12F683 SOIC 8-pin microcontroller
* 5 x 10K resistors (1206 SMD)
* 1 x BC817 NPN Transistor
* 1 x 100nF capacitor (0805 SMD)
* 4 x 3mm LEDs
* 1 x CR2032 battery holder
* 5 x Tactile push-button switches
* 1 x QMX-05 speaker
* 1 x 6 pin 2.54" right angled header
« Previous StepDownload PDFView All StepsNext Step »
19 comments
May 16, 2012. 11:41 AMnodoubtman says:
I have used Colin Mitchel one's with a pic16f84A : http://www.talkingelectronics.com/te_interactive_index.html

it is great! :)
congradulation Colin!
Keep the good work!
marC:)
Apr 26, 2012. 8:52 AMnodoubtman says:
2n3904 is okay?
Apr 25, 2012. 6:00 AMnodoubtman says:
any other substitute for bc817?

thank you!
marC:)
Apr 25, 2012. 12:13 PMnodoubtman says:
2n3904 should work?

do you have a bigger schematic please? i don't see much on this one

thank you!
marC:)
Jul 21, 2011. 11:57 AMStanh11 says:
is there any other pic that i can use i cant find that pic where i live
Jul 21, 2011. 5:36 PMStanh11 says:
what about the PIC12C508A the only difference i see is the memory this one is EEPROM and yours is flash
Aug 22, 2011. 4:37 PMStanh11 says:
i have another question you have your own pic programmer or you using pickit?
because pickit is expensive and i would like to make my own programmer if i can
Aug 17, 2011. 8:50 AMStanh11 says:
thank you this is my first project with a pic im kinda confused because i dont know much about pics but ill try to do this thanks for this tutorial
Feb 21, 2011. 2:31 PMTolaras says:
Hello!

Really nice project! Congratulations!

I have one problem though. How can I assemble all these .c and .h files to an .asm file in order to load them to the PIC microcontroller? I tried microC for PIC and MPLab IDE but I couldn't managed it.

Thanks!
Feb 23, 2011. 3:33 AMTolaras says:
I 'll try it later today..

Thanks!
Feb 6, 2011. 10:50 AMGrazfather says:
Nice. I like this a lot and I have a few 12f683's sitting around. Nice code, too.

One totally useless tip:

randomNumber++;
if (randomNumber == 5) randomNumber = 1;

could be

randomNumber &= 0b11;
randomNumber++;

to get rid of the branch, not that you have such a busy loop that you need to save instructions...
Feb 6, 2011. 10:49 AMnotsure says:
Very well done!

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
4
Followers
2
Author:simoninns(Waiting for friday)