Embedded Othello Game

This was the final project for my Introduction to Microprocessor Design lab. The project was to make an Othello game using the Cypress PSoC 5, which we had been using throughout the quarter.

Eagle Schematic

To begin, I designed an interface board to connect all the necessary components together, which would interface to the PSoC 5 through its GPIO pins. I created the schematic in Eagle as shown in the Figure below.

eagle-schematic

I made sure to account for the physical layout of each of the components, which included (clockwise starting from left middle, in the figure above):

  • LED Display
  • Power
  • MicroSD Card
  • TI Launchpad
  • Cypress PSoC 5 Board

The resulting physical board can be seen in the Figures below.

soldered-board-back

Display Board

I developed an API to interface to the LED display board. This is the same board that can be found at Adafruit.

The display library was created to abstract away the details of refreshing the display every 1 ms. Two structs in particular are defined to aid in later parts of the project, aptly named: pos and pixel. The goal is to allow for ease in specifying a particular location on the display, and also specifying the color that should be displayed at that location. To that effect, the pos struct has integer fields for x, and y coordinates, and the pixel struct has integer fields for r, g, and b values.

display-schematic