meam3480
3rd-year lab
Junior year lab was pretty fun since I got to get more hands-on experience with my interest in controls, and building things.
Lab 1: Tea Time

Goal: Certain teas are best brewed at very specific temperatures. Take a cheap kettle, and make it heat up water to a given tea’s ideal temperature (it should be at this temp once we pour it out into a mug). We also want to ensure we are at the given temperature at a very specific time (i.e., water should be at 99.8F in 4min03sec).
Report is here.
We were initially encouraged to characterize the 3 methods of heat transfer with hand calcs and sims, and use that to develop a control cycle to arrive at the target temperature at the target time.
The approach I found to be fairly effective and much easier was a bang-bang loop to control the power relay to the kettle, meaning the water would heat up all the way, then hover near the target until it was Tea Time (shown in graph above). We first proved to ourselves that conduction was the primary heat transfer mode through some simple experiments (see report). The first attempt at a bang-bang loop was alright, but often overshot the target temp, then taking a longer time to passively cool down. This meant implementing and tuning some offsets:
- $\Delta T$ from pouring water from kettle to cup
- Prematurely turning the kettle off to minimize overshooting $T_{target}$
- Offsets between the thermistor connected to the Arduino and the thermometer we were using for the final measurements
Using empirical data to manually adjust our calibrations, we got a pretty solid cup of oolong tea.
Result: $T_{target} = 90.6^{\circ}F$, $T_{final} = 91.1^{\circ}F$
Lab 2: Shake It Off
Goal: Configure the spring-mass-damper constants for a pendulum suspended in a tower, such that when the tower experiences an impact, the shaking in the tower structure itself is mitigated. Accurately predict the motion of our model building in an “earthquake” caused by an impact at the base.
Report is here.
The first step was recognizing which quantities we could physically measure, which quantities we could then estimate, and how we could use those to determine an ODE that modeled our building’s behavior.
We then implemented this math in a simple Python script that could be used to plot the generated ODE vs. the observed motion (measured using an accelerometer and Arduino). The code is at the end of the lab report. This, and our Arduino instrumentation, was first tested on the classic predictable system of a cantilever fixed at one end and impacted by a instantaneous force at the other (clamping a steel bar to a table and flicking the end).

We then extend the same logic to the tower system, which was built like the one in this video. The result was a slightly underdamped system with a log decrement of $\delta \approx 4$. This was one of the best in class :) (empirical testing supremacy!).

Lab 3: MEAM Machine
Goal: make something that moves. My team’s mission: an arcade-style claw machine game full of toy ducks.
I think this was one of my favorite projects so far at Penn.
This was broken down into 3 systems:
- Overhead gantry for X-Y control
- Winch system for Z control + EM for picking up duckies
- Outer structure and assembly
I was responsible for the electronics and code (using Arduino) for the X-Y gantry itself and the D-Pad to control it. There wasn’t much to do in terms of hardware, as we were able to repurpose the Y-Z rails and stepper motors from an old 3D printer 🤭 (pic below). The biggest challenge was honestly integrating all our systems together; they were developed pretty separately across different lab sessions. Pictured below is our first working attempt, but with pretty… uh… scrappy system integration.


Originally, in all our nerdiness, we wanted to make our D-Pad using mechanical keyboard switches and 3D printed keycaps, but it didn’t work out due to the delicate soldering job we did :( . We then pivoted to a simple breadboard with click buttons (definitely not done the night before this was due).
The final product worked successfully and was playable!
We even got rather rigorous user testing from about 100 elementary school girls on a field trip to Penn (not pictured for privacy). It held up pretty well, with only a few intermediate repairs needed. Sadly, the cart we were transporting it on hit a bump and the whole thing crashed in the middle of Levine Hall 🙃.
All in all, it was a fun successful project and a fun exercise in resourcefulness, and collaboration across teams where I didn’t know every single detail. Coupled with talking to young girls about what they wanna be when they grow up and how fun being an engineer is, I actually found this as a really wholesome ending to my junior year at Penn!