School Projects

This page shows some of the projects I did in my upper division engineer courses.

Engineering Laboratory

This course (ME107) was designed to allow students to demonstrate the knowledge they had gained and complete a project from start to finish.  Our given task was to create a vehicle to travel from the start of the track to the end and stop.  For “bonus points,” we could create a vehicle that would stop and then return to the start of the track.

Our team created a vehicle with a 3D printed chassis, encoders, DC motors, and an Arduino.  The encoders sensed the distance traveled by the car and relayed this information to the Arduino.  The Arduino took this information and determined the voltage to send to the DC motors in order to move the car forward, backward, or stop.  The starting and stopping positions were pre-programmed on the Arduino so it could run autonomously without needing to be tethered to a computer.

Feedback Control Systems

Our first project was to take a given inverted pendulum setup: a 1D cart with a wheel powered by a DC motor, and two encoders: One on the cart’s wheel, and one at the pivot point of the pendulum arm, and create a control system to control the cart to balance the inverted pendulum.  Furthermore, we were tasked with designing a controller that would “swing up” the pendulum from rest (hanging down) to its inverted state and balance the pendulum.

We used Simulink with a Luenberger Observer to approximate the unmeasured states of the system and LQR control to balance the pendulum once it was in its inverted state.  To swing up the pendulum, we used an “engergy pumping” algorithm to add energy to the system in a complimentary way to swing the pendulum until it inverted.


Our second project was to create a magnetic levitation system to levitate a steel ball under an electromagnet. We used an LED, a photo resistor, and an analog control system (op-amps, resistors, capacitors, and potentiometers) to levitate the steel ball.