Atmel Microcontroller Plays the Tic-Tac-Toe Game

Introduction: Atmel Microcontroller Plays the Tic-Tac-Toe Game

About: I got my education and initial job experience in Ukraine, but in 1998 moved to California. I work as software engineer in one of Bay Area companies. Whenever I have a time I like to program micro controlle...

This is Tic-Tac-Toe game implemented with bare bone ATmega168 micro controller. It works at lowest possible for this controller frequency 1 MHz . That allowed to power it directly from two AAA rechargeable batteries.  You may find some additional details in this blog post:

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Components

All electronics is mounted on a RadioShack component PC Board 276-168.

Here is the list of other components:

 Central processor ATmega 168 
 Nine Bi-polar bi-color 5mm Green/Red LEDs. 
 RadioShack 2 AAA battery holder  270-398
 Nine resistors 51 Ohm 0.25 W (0.125 W is OK as well)
 Panasonic  EVQ-WTEF2515B Encoder 
 Ceramic capacitor 0.47 uF.
 RadioShack slide switch 275-409
 Male headers 2.54 mm to make six contacts ISP header. 
 RadioShack 2-pack 14-PIN IC socket (optional, just to have the possibility to reuse controller  on other projects).
 Hook-up 26 gauge wire  and 30 gauge wire  .

Step 2: Circut Diagram

Here is the circuit diagram of this toy. 

Step 3: Mounting Components on the PC Board

I had to treat edges of the board with file to make it fit into the enclosure (a box from the Johnson&Johnson emergency kit.). All components were mounted on the PC Board and soldered to it. As you can see the density of project components on the boards is not high.  Soldering elements  to the board and connecting it with 26 gauge wire was not that hard. To find out how LED was oriented on the board follow the simple rule: top of any LED on my diagram corresponds to the longer LED leg.  Contacts of the encoder are very fragile  so I used 30 Gauge wire here.

Step 4: Mounting the ISP Header

The PC board layout does not provide the proper place to solder an ISP header. So I had to separate  three contact plates with utility knife and had to solder wire directly to contact plates occupied by headers.

Step 5: Accessing the Device With Programming IDE

Of course, the main part here is the program. To program I have used Atmel Sudio 6.1 and Atmel AVRISP MKII programming interface device.

Step 6: Controller Configuration

Default controller setting is OK for the project. You can check this setting  through the Atmel Studio 6.1 menu.

Step 7: Programming

Atmel Studio 6.1 is an excellent programming IDE.

Step 8: Writing the Code Into the Controller Flash Memory

After development and debugging compiled code was written into the controller flash memory.

Step 9: Source Code at Bitbucket

Source code for the toy can be fetched from here

Step 10: Put It Into the Box

The last steps are to prepare the enclosure  (make proper holes for LEDs, encoder and power switch),  put the assembled box into the enclosure, add two AAA rechargeable batteries and play the game.  
Toy Contest

Participated in the
Toy Contest

Battery Powered Contest

Participated in the
Battery Powered Contest

Be the First to Share


    • Trash to Treasure Contest

      Trash to Treasure Contest
    • Rope & String Speed Challenge

      Rope & String Speed Challenge
    • Wearables Contest

      Wearables Contest