Schematics

The following schematic shows how all five components of our system interact with each other. The Wii Nunchuk connects to a breakout board to allow for easy access to the different I2C signals on a breadboard or protoboard. The breakout board is then connected to two pins on the STM32 Nucleo-32 MCU that are programmable for I2C communication. All controller data between the MCU and Nunchuk is sent through these two lines. The MCU drives the DE-DP14112 LED matrix by sending data to the FPGA over SPI. The DE-DP14112 uses a non-standard serial interface, so the FPGA acts as a “translator” between SPI messages from the MCU and messages to be sent to the display. Displayable game data is sent to the matrix at a speed of 1 MHz.

logo

New Hardware

Wii Nunchuk

We purchased a knock off Wii Nunchuk and a breakoutboard from Adafruit. The board takes the special STEMMA QT connection on the controller and breaks out the necessary pins for power and I2C communication. The I2C communication is done using our MCU’s I2C peripheral which was not covered in class. The controller senses joystick position, controller rotation, and the state of two buttons

32x16 LED Dot Matrix

This LED matrix was found in the digital lab. It comes with microcontrollers on board that run on their own version of SPI. It is made up of eight segmented LED panels that lend themselves nicely to mulitplexing. In order to run the display properly, we had to apply SPI and multiplexing together in a creative way to satisfy its communication protocol.

Laser Cutter Design

Below shows the Laser Cutter Design for the wooden part of the cabinet. We used screws and wood glue to attache the pieces toegther.

logo
logo
logo

Source Code Overview

The source code for the project is located in the Github repository here.

The FPGA folder includes a Lattice Radiant Project that contains HDL for an LED matrix driver. The MCU folder includes the library files and source files for a SEGGER ARM project that programs the MCU to run the game, take in and decode inputs from the Wii Nunchuk, and commands the FPGA to update the matrix.

Bill of Materials

Item Part Number Quantity Unit Price Link
Adafruit Wii Nunchuck Breakout Adapter - Qwiic / STEMMA QT 4836 1 $2.95 link
Adafruit Wii Nunchuk Controller 342 1 $12.50 link
Adafruit 32x16 Red Green Dual Color LED Dot Matrix - 7.62mm Pitch - DE-DP14211 3054 1 N/A link
STM32L432KC MCU N/A 1 N/A N/A
UPDUINO v3.0 FPGA N/A 1 N/A N/A
GF0668B Speaker N/A 1 N/A N/A

Total cost: $15.45