AVR Othello

Well, most of you are probably wondering what I've been up to the past few months. School as been very busy, so I thought I'd show off the fruits of my labor (or at least some of it). For our project, we had to design, build and program a device to play Othello. Doesn't sound like much, but think again. Because this was for a microcomputers class, you don't get to use such nice things as RealBasic, or even c++. You don't get a handy screen already made. You have to select parts that will work and code things so they talk. Not the easiest thing in the world. Bellow are some pictures of what I made with the help of two other people. Also attached is the user's guide and a final report for it. All the code is open, so take a look if you know assembly. Unfortionatly, we didn't plan for a good enclosure a head of time, so it doesn't look all that good. And, because we couldn't keep all the parts, it is in pieces now. We hope to fix it back up, though.
 |
This is the device off. You can see the board, the screen, and the on/off switch. |
 |
This is a side view of the box. You can see how the NES controller fits inside. |
 |
This shows the starting board. You can see that the pieces are red and green as opposed to black and white. But it is very clear. You can also tell that it is an 8x8 board, so it is full size (as far as playing area). The board is physically about 2.5"x2.5" which is sizable for these kind of electronics |
 |
This shows the whole thing, including the NES controller. |
 |
This shows a close up of the screen so you can see the score format. This updates after every move so you always know whos winning. |
 |
This shows the sloppy job inside. We made our own PCBs, but we didn't plan on how to mount them to anything. So we used electrical tape to hold them in place. It didn't work all that well. |
Specs
- Has an 8x8 playing board
- Supports one or two player games
- Has a simple AI for one player games
- Has a NES controller for input
- The D pad moves a cursor arround
- Start beings or resets the game
- Select changes the menu between one or two player games
- A tries to select a spot
- B passes play to the next player
- Keeps track of score in the LCD panel
- Tells you if the board is full by saying it's the end of the game
- Made up on custom printed circuit boards from the clean room
- Made up of 2 AVR ATMega16 microcontrollers: one for the main program and one for the display driver
- All custom code writtin in AVR assembly
Downloads