Project

# Title Team Members TA Documents Sponsor
14 Button Remapping for GameCube Games such as Super Smash Bros Melee
Michael Qian
Srikanth Yaganti
Yeda Wu
Evan Widloski design_document1.pdf
final_paper1.pdf
photo1.JPG
proposal1.pdf
Michael Qian, Yeda Wu, Srikanth Yaganti, mqian20, yedawu2, syagan2

Problem: In fighting games, it is usually beneficial to remap certain buttons to perform different actions for ease of doing combos. For example, a player might want to remap the X button on their controller from "jump" to "attack". This is present in the game settings of many popular fighting games except for Super Smash Bros Melee for the Nintendo GameCube.

Solution: Create an adapter that sits between the GameCube and GameCube controller. The controller will plug into the adapter which plugs into the GameCube. Users will have an interface where they can choose how to remap their buttons. This adapter will then take in the signals of the button presses of the controller and translate them to signal button presses based on the button remapping. This hardware will also allow for button remapping for any other GameCube games

Solution Components:

Subsystem1: Microcontroller
This subsystem will perform the data reconfiguration of the incoming signal from the controller. It needs to remap certain input controls to different output controls while minimizing delay and maintaining compatibility with the GameCube console. Currently, we are looking at the Atmega328.

Subsystem2: Phone App
This subsystem will be the control unit to configuring/remapping buttons on game cube controller. It will have a user friendly UI that will allow users to pick and choose how to remap buttons.

Subsystem3: BlueTooth receiver/Transmitter
This subsystem will allow the phone app and the microcontroller to communicate. When the user submits a new configuration on the app, the bluetooth receiver will notify the microcontroller how to remap the buttons. We are considering using the HC-05 Arduino Wireless Bluetooth Receiver: https://www.amazon.com/LeaningTech-HC-05-Module-Pass-Through-Communication/dp/B00INWZRNC

Criterion for success:
Successful sending of button configuration from phone app to adapter.
Controller to console remapping without noticeable delay

Prosthetic Control Board

Caleb Albers, Daniel Lee

Prosthetic Control Board

Featured Project

Psyonic is a local start-up that has been working on a prosthetic arm with an impressive set of features as well as being affordable. The current iteration of the main hand board is functional, but has limitations in computational power as well as scalability. In lieu of this, Psyonic wishes to switch to a production-ready chip that is an improvement on the current micro controller by utilizing a more modern architecture. During this change a few new features would be added that would improve safety, allow for easier debugging, and fix some issues present in the current implementation. The board is also slated to communicate with several other boards found in the hand. Additionally we are looking at the possibility of improving the longevity of the product with methods such as conformal coating and potting.

Core Functionality:

Replace microcontroller, change connectors, and code software to send control signals to the motor drivers

Tier 1 functions:

Add additional communication interfaces (I2C), and add temperature sensor.

Tier 2 functions:

Setup framework for communication between other boards, and improve board longevity.

Overview of proposed changes by affected area:

Microcontroller/Architecture Change:

Teensy -> Production-ready chip (most likely ARM based, i.e. STM32 family of processors)

Board:

support new microcontroller, adding additional communication interfaces (I2C), change to more robust connector. (will need to design pcb for both main control as well as finger sensors)

Sensor:

Addition of a temperature sensor to provide temperature feedback to the microcontroller.

Software:

change from Arduino IDE to new toolchain. (ARM has various base libraries such as mbed and can be configured for use with eclipse to act as IDE) Lay out framework to allow communication from other boards found in other parts of the arm.