Design a wearable fitness monitor that measure pulse rate and oxygen saturation level of blood.

I2S is a popular digital interface for audio, but is not supported on many microcontrollers.  Design an interface from I2S to SPI (or I2C) that uses the smallest possible processor to do the work.  Build a PCB/develop software….

Research Bond graphs – a technique developed for handling linear systems (mechanical, electrical…) under a single framework. https://en.wikipedia.org/wiki/Bond_graph

The dynamics of the voltage across a nerve membrane are well defined by a set of three coupled non-linear equations.  MATLAB (or another tool) can be used to model these equations and accurately predict the dynamics of a nerve firing.

Make an animation (either MATLAB or web-based) of the inner ear example from class.  This involved some simulation and some relatively simple graphics programming.  You could also update and expand this web page (http://www.swarthmore.edu/NatSci/echeeve1/Ref/InEar/InnerEar.html) to include the animation.

The Makey Makey is essential a generalized input device  –  a touch keyboard that can be used in many different ways.

Use this to get some ideas, though some are rather complex and/or expensive.

Search for kits and projects on the Adafruit website

The Arduino is a cheap electronics board that allows you to make your own electronics without a ton of coding experience. We love the Arduino, but like any electronics project, coming up with ideas for what to build is tough. Whether you’re just looking for inspiration or just need a place to start, let’s take a look at ten of the coolest Arduino projects.

The servo’s we have used only have about 180 degrees of rotation.  You can make some fairly simple changes to modify the servo to rotate continuously so it could be used to drive wheels on a robot, or any other application that involves continuous rotation.

Explore modes on a drumhead – similar to modes on a guitar string, but in 2 dimensions.

The animation system at http://lpsa.swarthmore.edu/Animations/ uses a fixed step size animation.  Alter the code to use a variable step size.

Use the animation system (http://lpsa.swarthmore.edu/Animations/) developed by a student a few years ago to develop animations for some of the homework problems.

Use simulink and MATLAB together to simulate a system (and animate it).  You could also do it all in MATLAB.  The coupled pendulum system comes to mind.

Z-Transforms are related to the Laplace Transform, but are used for discrete time systems (i.e., when a computer is used to sample a signal).  This would be more research then physical.

Develop an interactive JavaScript tool for demonstrating some principal from class.  … pole locations and step response?  pole locations and Bode Plot?  animating the Runge-Kutta process?

Use JavaScript to develop a tool for visualizing convolutions.  Something like “The Joy of Convolution” from Johns Hopkins, or the MATLAB tool ConvolveGUI that I demoed in class.

It would be very nice to have a MATLAB gui that makes the audio analyzer output a series of impulses to a circuit and then have software that would add up the delayed and shifted impulse responses to create the output due to an arbitrary input.  This is ambitious, but if you want a very software (MATLAB) intensive project – this might be it.

Right now, the signal generator is only configured to create sine waves and square waves.  Code could be added to the U8903a GUI to enable the generation of triangle and Sawtooth waves.

Build a shaker table with sinusoidal input that shakes model building that is instrumented with accelerometers.