This was my group project for ECE Capstone. It's a conversion kit which allows the user to convert a regular bike into a stationary bike in order to play games on a laptop. We custom made controllers to sit on the handle bars and created a system to have automatic pedal resistance adjustment, haptic feedback, and handlebar steering in game. We also created a custom game to showcase these features.
Controllers PCB
Motivation:
Stationary biking is a great form of exercise and already very popular, but it lacks engagement and can be boring
Wanted to design a more interactive bike experience
Constraints:
$700 budget
5 month timeline
Approach (my contributions):
Designed custom PCB in Altium for controllers taking inspiration from the classic Xbox controller
Split into a left and right controller to be more ergonomic on the handle bars of a bike
Each side had a joystick, 4 buttons on the top, and 2 buttons on the back
Halves were connected with a cable and left side connected to the laptop through USB
Chose I2C peripherals to go with the STM32 microcontroller to achieve haptic feedback and handlebar steering via IMU
Designed original pixel art for the game (characters, backgrounds, simple animation frames)
Results:
Tied for 1st place out of 19 groups in the ECE Capstone Competition
Achieved automatic pedal resistance adjustment, handlebar steering, and haptic feedback in controllers
Delivered reliable live demos, with many attendees playing the game during the capstone showcase
Motivation:
Would be nice to be able to turn my lamp off without getting out of bed
Constraints:
Remote should be small
Approach:
Initially wanted to use the IRArduino library
Only boards I had that would run it were too large
Made an IR remote using a 555 timer on a mini breadboard since I didn't need to encode info anyway
Results:
Read signals with Seeduino XIAO to control 2 alternating servo motors to turn the light on and off
SolidWorks servo mount
Alternating servos
Goal reached!
Motivation:
Class project in Circuits and Signals to read and ECG signal and filter noise
Approach:
Original signal directly from the electrodes was very noisy
Reduced noise with an instrumentation amplifier, low pass filter, and high pass filter
Chose resistor and capacitor values to amplify the signal and achieve appropriate cutoff frequencies
Results:
Successfully read the reduced noise ECG signal on a scope
Breadboarded circuit
LTSpice
Motivation:
Had just learned about op-amps and signal processing in class and wanted to do something with that by making a real-time guitar tuner
Approach:
Input audio with an electret microphone (voltage was very small)
Amplified signal with an lt1490 op-amp to peak at around 1.5V
Processed signal with Feather M4 Express
Shifted the signal with a summing amplifier to 0-3V to avoid negative voltages
Ran an FFT on the input sound and returned the fundamental frequency
Results:
Determined the frequency of the closest string on a guitar from FFT
Programmed 5 LEDs to indicate flat, sharp, or in tune to provide real-time tuning feedback
Motivation:
Cornerstone class challenge: add more motors to original design
Original project: Redboard with a distance sensor and two DC motors to drive the wheels
Drove straight until obstacle detected, then, backed up, turned right, and drove straight again
Approach:
Added two more DC motors and wheels with another motor driver on an additional Redboard
I replicated the original project but took off the distance sensor
Communicated between boards with I2C
Improved the code to have the car back up to the left in addition to turning right going forward to create quicker, sharper turns
Results:
This robot had the most wheels in the class
Learned what I2C was
Motivation:
Cornerstone final project: Create a sustainable energy focused product
Approach:
Created a tile that generated electricity when stepped on through electromagnetic induction
Tile with springs underneath that compressed when stepped on
A magnet in middle of tile moved through a wire coil and created electricity
Designed the tile in AutoCAD and laser cut it from 6mm wood
Bought springs that were too tall and tile had a tendency to slip out when stepped on
No tools to shorten springs
Designed a box for the tile to sit in using Solidworks and 3D printed it
Made spring stabilizers in Solidworks to be 3D printed ensuring the springs stayed in the same position all the time
Allowed us to remove the tile from the box for maintenance as opposed to gluing the springs to the box
Sparkfun redboard measured the voltage produced by the tile and graphed in MATLAB
Results:
We had a tile that successfully generated a (minimal) voltage