You are here

Portable game console

The Embedded Systems - Shape the World (UT.6.03) on-line course aims to teach principles and practices of embedded software development using a lab kit: a Texas Instruments Tiva launchpad (ARM Cortex-M4) with a breadboard, and assorted components to make simple electronic input and output circuits to connect to the microcontroller. Each lab is centered around a specific aspect of microcontroller I/O and software: switches (digital input), a slide potentiometer (analog input), LEDs (digital output), a DAC (analog output), etc., along with labs about interrupts, software design, etc.

The one but last lab makes you create a mashup of the previous labs, combining everything from the previous labs into a single system: a simple game console running your own interpretation/implementation of the classic Space Invaders game.

The main goal of this lab is to build a complex software system that combines all kinds of components, which is a complex enough task on its own. However, after a while I was not happy anymore having all the hardware on a breadboard:

  • there is always something that has a bad connection, or that got loose.
  • having all the input and output hardware on the breadboard at the same time creates a gigantic mess of wires.
  • it is tricky to move the breadboard/launchpad combination around, which happens a lot if you're working on your living room table.
  • it's nicer to also have slick hardware when you get to the point where your software starts to look good.

Having dabbled with PCB design before, I decided to spend some time making a PCB using (most of) the lab kit components, that would be more compact and reliable than the breadboard approach. At the same time, it is much easier on a PCB than on a breadboard to place each component where you want it, so I laid it out so as to form the basis for a simple portable game console. It uses the BoosterPack connectors to attach to the Launchpad.

The next image shows how everything is stacked on top of each other. I used a lasercutter to cut brackets from 3mm MDF to hold everything together.

  • bottom: battery pack (3x AA batteries for 4.5V)
  • above the battery pack is the launchpad
  • sitting on top of the launchpad is the PCB that holds all the components
  • top: the Nokia LCD

Here is the end result: