Wednesday, April 29, 2015

First World Problems

We redesigned our shield and paddle to add an extra inch of length for the extra wires. We decided this would make our assembly much faster and easier. Our waterproof switches are soldered and ready to go and our code is restructured for switches rather than buttons now. Our new model also has an on/off switch so we don't suck as much power out of our battery. Fittingly, the line of holes along the side of the shield look like little bubbles. We'll just pretend that was an intentional design choice.



Unfortunately, we ran into a long period of unexpected Makerbot issues and our prints kept warping around the edges. Keeping everything in perspective, if your biggest problem is that your 3d printers aren't working properly, you're doing alright in life.



We think it will still work in the pool if we seal the connection with enough putty. We're about to waterproof so we can hopefully water test everything tonight and tomorrow. We have a lot we still want/need to accomplish before the final demo on Friday, but we're optimistic. Wish us luck!

Friday, April 24, 2015

Baseline Demo Recap

Demoed our baseline dry prototype today and we only had a few small hiccups. Our current shield configuration is very hard to connect to the external buttons and LEDs because there isn't much space in the shield for extra wires and the short wires from the lid essentially require us to connect everything to the mbed upside down. Also, because our paddle pulls so much current with the bluetooth and SD card reader, our LiPo batteries kept dying in relatively short amounts of time. We think they weren't fully charged before the demo though. They have a current rating of 1000mAh so we should have about 5 hours of charge for fully charged LiPos.

Our reach goals for next Wednesday/Thursday:
  • Use machine learning and data analysis tools to identify catch, pull, and recovery within the stroke - information that could be used for swimmers to make better sense of their individual acceleration curves.
  • Refine our vibration actuation so that the feedback is meaningful for the swimmer.
  • Incorporate waterproof pressure sensor data.
Super reach goal:
  • Inductive (wireless) charging!

Here we go!

Final push before demo day! We finally got bluetooth to work with an Adafruit Bluetooth Mate Gold chip! We reprinted a nice shield for our dry prototype demo tomorrow and secured our LEDs and push buttons into it. Our vibration actuation is working better than ever, and with a little courage and force, everything fits in our shield with a nice press fit.



Take a look at our videos!

Water testing:
https://drive.google.com/file/d/0BzbUOrDmIYKwZ0oyMXF1Y2FuTTA/view?usp=sharing

Pre-demo demo:
https://drive.google.com/file/d/0B6ckAjfSqbv4YjVrTVhGdXhYMFk/view?usp=sharing

We also attended a data analysis workshop and are planning to use MATLAB and SVL analysis on our water data for next week.


Wednesday, April 22, 2015

Good vibes

Used heat shrink to prepare our vibration motor today. We're actuating nicely, but Laura is going to work on refining the algorithm so our actuation is even better on demo day. After letting our LiPo's dry out overnight, they are working as good as ever today! We decided we're going to wrap and seal them in balloons in the future to prevent them from ever getting wet again. That was way too close a call. We removed the right most power rail from our breadboard to give us more space to work with onboard. We're still waiting on our pressure sensor breakout, bluetooth chip, and waterproof switches. Hopefully all that stuff should come in tomorrow.

We need to 3d print at least one more shield before demo day this Friday. With only one working Makerbot in Detkin and a limited number working in the MEAM lab, there is naturally a very long queue to print this time of year. I snatched an SD card and intend to be the very first person in line when Parth comes in at 9:30 tomorrow. We're hoping to watertest again tomorrow, but we're not taking any chances this time. We're sacrificing all style points in favor of safety by wrapping the entire waterproof shield with 5-6 layers of saran wrap, ziploc bags, and duct tape. At this point, good water testing data is far more important to us than having a finished looking product.

Tonight, I need to re-CorrosionX all the tech for tomorrow. Tomorrow we're preparing our final demo shield with working LEDs and buttons, improving our actuation algorithm, presenting some data processing, collecting some more water data, preparing our presentation/video, and potentially interfacing the bluetooth if the chip has arrived. We have our work cut out for us, but with CorrosionX and elbow grease on our side, we're ready for the adrenaline to kick in as we cross the finish line.

CLOSED LOOP

HI!

Late at night we sit in Detkin lab, Team MetaKnight sat wondering why we did not graduate high school and then pursue successful rapping careers. While we were not just signed by Jay-Z, WE DONE DID FINALLY CLOSED THE LOOP.

Rewind 26 hours, we spend a wonderfully toxic night in Rodin waterproofing our magical box. The fumes were flowing from slimy, slimy Corrosion-X. To add to the stench, we diligently squeezing and smoothed all the little cracks in the shield with aquarium sealant after sneaking suspicions that the cause for the water attack early in the day was due to the 3D printer's approach to creating levels in the structure.

Boy oh boy, buttons were driving us mad. We tried many make-shift approaches to attempting to keep the buttons in place under the patch of swim cap material. Try as we did with aquarium sealant, q-tips, chop-sticks, and now chemically infused fingers, the little buttons that could, couldn't.

Recognizing the need for water data the next morning, we decided to control the device without the buttons and move forward for this iteration.

But before we threw our electroniques into the pool, of course we needed to put our second round of waterproofing to the test. Catherine strapped up with an empty smart paddle and made like a fish. After flipping her fins, we anxiously dried the outside of the paddle to see the results..... Only a few drops of water made their way into the paddle. This made us very excited as this was a major improvement from the day before.

Riding the high of our dry, we prayed to the Corrosion-X gods, put our board in a plastic bag as a final barrier for those few drops of water, and screwed the lid on tight.

Well, it could have been worse. After Catherine swam 4 good technique laps followed by 4 poor technique laps, we opened to paddle. This time, some H20 homies seemed to throw a party in the plastic bag. The mbed light was off, and we weren't invited to the party, so we were now upset for two reasons.

Mild panic ensued as we thought we ruined our parts. Catherine and Aadu did the magic testing, and it turns out the batteries were playing a practical joke on team MetaKnight. One of the batteries ran out of power. Our entire circuit survived the rain storm - Thank you Corrosion-X! However, sadly, the loss of power mean that we did not get to save the swim test data! :(

We took this moment to learn where we could improve our waterproofing. We emptied the shield and lowered the apparatus into the water. We watched bubbles leak from the seam on the shield, the gap between the shield and the base, and near the screws. NOTED.



6 Insomnia cookies and 2 milk jugs were all it took to get MetaKnights spirits back in shape as we rallied back to Detkin Lab. We hit a few bumps while some leads fell off, but we managed to wire up the vibrators to actuate with our code! We implemented an algorithm that computes and analyzes the combined acceleration to keep track of the strokes. When the swimmer slows down too much, the paddle will turn on a light for a second to remind the swimmer to speeeeed up!!! Its super exciting and fun to play with. Next step is to get another vibrator to attach on up.


Monday, April 20, 2015

Rolling with the Punches

The theme of this post is developing a Plan B when Plan A fails. We've hit a lot of walls in the past few days but we are determined to push through and create an awesome project whatever it takes. Over the weekend, we realized the hard way that soldering our components onto a solderable breadboard is simply not going to work. We burned out an mbed, one of our microSD card readers, and an accelerometer (Yes Aadu, I will unsolder the mbed). Fortunately, we had backup for all of the critical components. We realized that we're going to have to make do with the non-solderable breadboard. Space is becoming a point of concern on board and will definitely be a challenge when it comes time to add a vibrator, pressure sensor, and bluetooth chip.


Shield Base with breadboard

We adhered our silicon button lining and LEDs to the front panel with 100% silicon aquarium sealant and it dried nicely. Unfortunately, one of the LED leads snapped off this morning so we will need to re-attach one of the LEDs.

Inside of front panel

This afternoon, we did our first wet run without any of the circuitry inside to see how watertight the paddle was. We sealed the snap-fit cavity with waterproof putty and screwed the shield together very tightly. Unfortunately, as you can see below, the piece of paper we had inside got very wet. We identified the problem area on the shield lid and tonight we are reinforcing all the of the weak seams with aquarium sealant and we will try again at the pool tomorrow. Makerbots are not perfect and neither are we, but we're just going to have to roll with the punches. In the very worst case scenario, the shield will not be waterproof and we will have to demo a not-quite-water-safe product. :(

First wet run - Thank you for filming, Coach Dan!

First wet run failure

We've been doing a lot of land work to analyze collected acceleration curves. We have identified a common bad swimming habit that we can quantify and use to "close the loop" with an on-paddle vibration motor that will indicate to the athlete when his or her fingertips are not angled properly.

We are still waiting for our bluetooth chip and pressure sensor breakout to arrive. We will have to figure out the on-board space issue very soon. Final demo day is in four days and we are in panic mode. After 6-8 hours of work every day on this for the past four weeks, it would be a shame to see everything go down in flames at the last minute.

Thursday, April 16, 2015

"Remove the supports!"

We made crazy progress today and we couldn't be happier with how things are developing! We 3D printed our shield base and lid out of yellow PLA and they snap together beautifully. Our LEDs fit nicely in the holes we cut, the screw holes all line up, and none of the edges are too rough. Makerbots didn't let us down today! Check out the video below.




Laser cut paddle with 3D printed electronics shield

Bluetooth still isn't agreeing with us, but we decided to move forward and start soldering our parts to the solderable protoboard without it. We're just going to have to open it up and connect it via wire to our laptops when we need to transfer files. We're not thrilled about it, but we need to start water testing as soon as possible so we can start data collection/analysis. We're going to put our two stacked protoboards on top of our Li-On batteries with the silicon lined buttons and LED's poking out of the top of the lid.

First soldered protoboard

3V Li-On batteries


Rough protoboard layout

Wednesday, April 15, 2015

It's a marathon AND a sprint

Spent 8 hours in Detkin working on our project today. Things are developing rapidly which is promising, but also entirely necessary given that we still need to waterproof/water test. I designed a breakout PCB with Parth for our MS5308-02BA pressure sensor that will arrive in 7 days. In the meantime, we will be working predominately with our accelerometer.

We lasercut two more paddle bases with more space for our electronic shield and attempted to 3D print our shield with ABS. Unfortunately, the MakerBot jammed with the ABS so it wasn't able to finish, we're going to retry again tomorrow with PLA.

We discovered and resolved a dilemma with our power supply today. It turns out that our current hardware draws almost 150mA of current - a significant amount that our coin cell batteries could definitely not supply. We would need to connect at least 6 together to even have a fighting chance of powering everything. We reluctantly decided to switch to LiOn batteries. They supplied all the power that we needed without any problems and are nice and flat so they will nest nicely inside of our electronic shield. I also found a youtube video online that showed how easily LiOn batteries can be waterproofed with CorrosionX. 

Tuesday, April 14, 2015

And the ball keeps rolling!

Lots of good news today! Our physical model is completely done and ready to print tomorrow. We're going to have to re-cut our paddle base to make space for the waterproof shield containing our tech, but that only allowed us the opportunity to make other improvements including increasing the length and making the tubing holes more snug. Here is the assembly view in SolidWorks of all three parts superimposed on each other.


Still trying to figure out Eagle so I can put in a PCB order to Parth by tomorrow evening. We need to do this as soon as possible since time is running out.

Laura killed it today and finalized the code to read to/write from a microSD card allowing us to store a lot of data on the paddle itself before trasmitting it over to our Macbooks for processing. The button/LED modes, accelerometer, and SD read/write are all working splendidly right now and we are rapidly moving forward.

Monday, April 13, 2015

Code Sample - 4 mode interface with accelerometer data

#include "mbed.h"
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <string>

using namespace std;

DigitalIn start_stop(p11); // start/stop button detection on pin 11
DigitalIn ctmode_toggle(p12); // capture/transit mode toggle button detection on pin 12
PwmOut c_led(p21); // capture LED on PWM pin 21
PwmOut t_led(p22); // transmit LED on PWM pin 22

Serial bt(p13, p14);
AnalogIn inputx(p20); // input pins 20,19,18 for x,y,z axis respectively.
AnalogIn inputy(p19);
AnalogIn inputz(p18);
Serial pc(USBTX, USBRX); //tx, rx
Timer t;


int mode; // capture or transmit
int session; // for indexing runs
int ctr; // counter for toggle

float ax;
float ay;
float az;
float gx;
float gy;
float gz;

int i;
int ts;

int main()
{

    pc.printf("Ready to capture\r\n");
    pc.baud(9600); //set bluetooth baud rate
    mode = 1; // start with capture standby mode
    session = 0;
    c_led = 4.0f; // turn on capture led
    t_led = 0.0f;   // transmit led off
    t.start();
    t.reset();
    ctr = 0;

    while(1) {
        if(start_stop) { // start/stop button press detected
            if(mode == 1) { // capture standby mode
                mode = 2; // capture mode
                session++;
                wait(0.5);
                t.reset();
                c_led = 4.0f; // on
                t_led = 0.0f; // off
                ctr = 0;
                pc.printf("Session %d\r\n", session);

            } else if(mode == 2) { // capture mode
                mode = 1; // return to capture standby
                c_led = 4.0f; // on
                t_led = 0.0f;   // off
                wait(1);

            } else if(mode == 3) { // transmit standby mode
                mode = 4; // capture mode
                t_led = 1.0f; // on
                c_led = 0.0f; // off
                ctr = 0;
                pc.printf("Transmitting...\r\n");
                wait(0.5);

            } else if(mode == 4) { // transmit mode
                mode = 3; // return to transmit standby
                t_led = 1.0f; // on
                c_led = 0.0f;   // off
                pc.printf("Ready to transmit\r\n");
                wait(1);

            }
        }

        else if(ctmode_toggle) { // mode toggle button press detected
            if(mode == 1) { // capture standby -> transmit standby
                pc.printf("EOF\r\n");
                mode = 3; // return to transmit standby
                c_led = 0.0f;   // off
                t_led = 1.0f; // on
                session = 0;
                pc.printf("Ready to transmit\r\n");
                wait(1);

            } else if(mode == 3) { // transmit standby -> capture standby
                mode = 1; // return to capture standby
                c_led = 4.0f; // on
                t_led = 0.0f;   // off
                pc.printf("Ready to capture\r\n");
                wait(1);
            }
        }

        if(mode == 2) {
            ctr++;
            if (ctr%10 == 0) {
            c_led = !c_led;
            }
            ts = t.read_ms();
            ax = inputx.read();
            ay = inputy.read();
            az = inputz.read();
            // calculate # of Gs
            gx = 9.615*(ax-0.503);
            gy = 8.696*(ay-0.491);
            gz = 9.709*(az-0.503);
            pc.printf("%d, %f, %f, %f\r\n",  ts, gx, gy, gz);
        } else if(mode == 4) {
            ctr++;
            if (ctr%10 == 0) {
            t_led = !t_led;
            }
            pc.printf("Transmit code here\r\n");
            mode = 3;
        }

    }
}

Crunch time

Folks, it's now T-11 days until final demo day and we're officially starting to freak out a little. Fortunately we're not a team that will easily crack under pressure. Last week our mbed broke and we had to get a brand new one... that was fun. Today we received our 8GB microSD cards and breakout boards plus our two coin cell batteries. Last week, we got our waterproof pressure sensors. They're so cool! We're going to have to design a simple PCB for it, but I think Parth said he can help us with that tomorrow. This will give us an opportunity to try our hand at Eagle software.


MS5803-05BA - Waterproof pressure sensors
After a quick solder job, we started working with the SD card through the mbed SPI interface right away. Laura has already written some test code and we're going to test that first thing in the morning.

After much deliberation, we decided to go with a smaller, analog accelerometer and do away with the 9-DOF IMU. The way our code is written, the printed values are the number of G's in each of the three dimensions. We felt like the gyroscope and magnetometer data was not well correlated to good swimming form and that the analog accelerometer (ADXL335 from Sparkfun) as well as our waterproof pressure sensors would provide us with enough data to make qualitative sense of.

Today, I also set up the two button, two LED interface. The interface is pretty clever: there are four modes of operation. The first is capture standby and is represented by the green light. This means the paddle is ready to collect data. The second is capture mode and the green light blinks. The paddle is collecting and storing information in this mode. The third is transmit standby and is denoted by a yellow light. The paddle is ready to send information in this mode. The fourth is transmit mode in which the yellow light blinks and the paddle is sending the collected data for analysis. The first LED starts and stops capture/transmission. The second LED toggles between capture and transmit modes.
New mbed, new light, new button, new accelerometer

Aadu gave us two stackable, solderable breadboards for our chips and components. This fixes our real estate problem beautifully! We're wary of soldering things too early since we aren't completely finished land testing yet, but this will probably happen in the next two days.

I worked with Gus on Solidworks a little more and we designed a base for our electronics shield. Once we determine exactly how deep the tech will be, we will design the lid and 3d print both parts with high density polymer.


Solidworks electronic shield (base)

The lid will have a ridge that will nest between the two parallel ridges on the base allowing us to better waterproof everything. The holes are where we will screw the two shield parts and the full paddle base together. Everything will be reinforced with Silicon sealant and CorrosionX too.

Still exploring our bluetooth/wireless options. We're probably going to use an internal wireless chip to communicate to another mbed connected via USB to our laptops.

We've come a long way, but we have a long way to go. Looking forward to 11 sleepless nights.

Thursday, April 9, 2015

Getting MEAM-y

Still struggling with Bluetooth and the gyro. Progress was made and we're almost there, but not quite yet. We laser cut the bases for both of our paddles out of 1/8" light blue acrylic and they turned out great today!





I even swum 1k with them during practice today and they felt just like normal swimming paddles.

We started designing our shield for our electronics today as well. We have a pretty good conceptual sketch on paper and are in the process of making it in Solidworks. We ran into one unexpected problem today: the total area of all of our parts exceeds the total area available on our paddle by about 2.3 square inches. We're going to have to get creative when we lay out everything inside the shield. To be continued...

Wednesday, April 8, 2015

"Solid" progress

Today we designed our paddle base that we will be laser cutting tomorrow. Thank you, Gus for teaching us how to use SolidWorks!

Our design closely resembles a standard swim paddle with holes for surgical tubing to keep the hand in place. We added many of these for maximal customization. The four smaller holes will be where we screw our electronic shield onto the underside of the paddle. Tomorrow, we will be designing this shield for our components that we will be 3d printing out of high density polymer material.

We kept fighting with bluetooth today. In short, we've learned that Bluetooth is really annoying. We've tried working with about 4 different chips now and only one even pairs successfully with our MacBooks. The one that pairs (Bluefruit EZ Key HID) is really buggy and disconnects very easily. We have a feeling it has something to do with the baud rate and how our serial ports are set up. We'll explore this more tomorrow as well.

Getting our gyroscope to work is a task we've been working on in parallel with everything else because all the code is in Arduino... again.

We're still waiting on our pressure sensor, flash RAM breakout, and coin cell battery breakouts to come in, but we did get all of our water proofing supplies and surgical tubing in today!

Hopefully, in the next week, we'll have a semi-working device that we can start water testing with. Stay tuned!

Friday, April 3, 2015

Here's to new beginnings

Today we interfaced a button and an LED to toggle between capture standby and capture mode. Our green LED turns on when we turn on the mbed indicating the paddle is in capture standby mode and blinks when we enter capture mode to indicate the paddle is collecting data. It's pretty slick.

We finally ordered 2 waterproof pressure sensors. Hopefully they'll arrive shortly. We also ordered some 16MB Flash Serial SPI chips to increase the available memory our paddle can write to.

We also started to work on connecting the mbed to bluetooth so we can send the information wirelessly to our laptops. That's a project for a different day though.


Thursday, April 2, 2015

OMG

Very exciting progress today! We finally figured out how to read data from our accelerometer and magnetometer on our IMU. Aadu helped us troubleshoot for a few hours this afternoon and we started moving in the right direction, but the solution was actually pretty annoying. I was working with Vince and he found the mbed source code for the LSM303DLHC accelerometer/magnetometer in about 10 minutes. We're very thankful we were able to avoid rewriting all the Arduino protocols.

After achieving this milestone, we consulted Steven about writing this data to a script so we could plot the curves in MATLAB. Thank you Vince, Aadu, and Steven!

Check out our video!




Wednesday, April 1, 2015

One step forward...

Looks like we're going to have to rewrite all the Arduino protocols for our adafruit IMU for mbed. It's gonna be a late one folks.

Tuesday, March 31, 2015

We'll Get There!

Good news: I powered up a Bluefruit EZ-Key HID from adafruit and it connected to my MacBook Pro on the first try! We're gonna go with it. It has some extra functionality we don't really need, but it's very user friendly and only draws about 25mA. We'll eventually use the TX and RX pins to send information.

The bad news? There isn't really any yet, but we're learning things about things we didn't even know we didn't know. We attempted to write some mbed code in the compiler to start pulling data from the IMU and came to realize we actually don't have a clue where to start. We downloaded code from the adafruit website, but it was all configured for Arduino. -queue facepalm- Not knowing how to "convert" Arduino code to mbed, we consulted our dear friend Aadu. He enlightened us about I2C and the beautiful inner workings of our mbed. All we have to do is rewrite the Arduino code using functions in the I2C library we downloaded. Easy right? We'll see.

"Quick and Dirty"

Today we really started to jump into working with our mbed and IMU to start developing, in Dr. Mangharam's words: our "quick and dirty" prototype. We've collected a number of useful parts from Detkin storage already. We're using a 9-DOF IMU (inertial measurement unit) by Adafruit with an L3DG20H gyroscope for measuring hand pitch and orientation and an LSM303DLHC accelerometer/compass to measure hand acceleration. We're working on one of the LPC1768 M3 mbeds given to us in lab. Aadu also found us a couple potential bluetooth chips we can start testing with. We got a 3V LiOn batter from Dr. Mangharam to use, but we're going to need to get another to supply at least 4.5V of input power to the mbed.


Two potential bluetooth chips and a potential LiOn battery given to us by Dr. Mangharam

We attached the mbed and IMU to one of my own, personal, swimming hand paddles. The result looks pretty sketchy, but at this point in our design process, looks are far less important than functionality.

Take One: mbed and 9-DOF Adafruit IMU on hand paddle

Fun fact: the key to the Detkin office with all the extra supplies got locked inside, so we can't ask for any extra parts tonight. Tonight, we're going to focus on writing more code so that we blow everyone away on Friday. Stay tuned!


Thursday, March 26, 2015

Project Proposal

ESE 350 Project Proposal

  1. Project Title: Smart Paddles

  1. Team: Meta Knight
    1. Laura Kingsley, Software Lead
    2. Catherine Yee, Hardware Lead
    3. TA Mentor: Aadu

  1. Motivation:
There are hundreds of thousands of competitive swimmers in the United States alone. For years, innovative coaches have been eager to use swimming equipment to improve the performance of their athletes including resistance bands, drag chutes, tempo trackers and more. Despite the high demand for performance tech for swimmers, no one has ever built a device that can measure the isolated force and acceleration of a swimmer’s arm stroke. With this kind of device, the collected data could be analyzed to identify weak points in a swimmer’s arm stroke to improve performance in the water.

  1. Goal:
Our finished product will be a wearable hand paddle that swimmers can use to measure the position, acceleration, and applied pressure of their arm strokes. It will be able to capture these measurements and wirelessly transmit the information to a computer for analysis.Our system will be waterproof, lightweight, and hydrodynamic.

  1. Methodology:
Our first steps are to do research on potential components and perform preliminary land tests with an IMU. We will record the data collected by the on-chip sensors for circular, stroke-like motion and observe patterns that we can use to analyze collected data. We will also order additional pressure sensors, waterproofing materials, and all other materials.
    The next step is to develop hardware, software and mechanical designs. The hardware design will incorporate all necessary power supply solutions, sensors, wireless communication, and waterproofing. More on-land testing will be done to ensure data collection is still accurate in this stage. Software development will include writing algorithms for stroke pattern recognition using MATLAB, interfacing with the sensors, programing modes of operations, and wireless communication. Preliminary SolidWorks designs will be made to construct the physical paddle.
    Finally, we will bring the hardware, software, and physical paddle together to create our waterproof prototype. At this stage, we will be doing most of our in-water testing in the pool at Pottruck with a variety of different swimmers to test our software and determine how to qualitatively present the data in a way that makes sense for users.

  1. Project Components:
Hardware: We will be using ARM mbed M0 cortex microcontroller for ADC functionality and ability to interface with wireless communication chips. We need a microcontroller that is small, lightweight, and low power. We don’t need the functionality of a more sophisticated microprocessor because our application doesn’t involve image or audio capture. An IMU will be used to collect position and acceleration information. Additional pressure sensors will measure exerted force. Switches, buttons, and LED’s will be placed on the paddle so that swimmers can control the different operation modes.
Software: Using MATLAB, the transmitted data will be processed to graphically display the generated position, acceleration, and force curves as a function of time. Extensive in-water testing will allow us to match the signals to different stages in a swimmer’s stroke. Distance per stroke calculations will be displayed as an indication of efficiency.
Mechanical: The physical paddle will be 3D printed to maximize hydrodynamics and provide more waterproofing for the enclosed circuitry. Latex surgical tubing will allow swimmers to secure the paddle to their hands. All hardware components will be waterproofed with CorrosionX or Silicon sealant to prevent shorting. A second “dummy” paddle will be built that is symmetrical to the Smart Paddle, but doesn’t contain the hardware so that swimming is more natural.

  1. Testing and Evaluation:
We will evaluate our project by the way we accomplish our milestones. First, we want to see that our paddle does what we intended it to do and that our hardware is functioning - paddle responds to button presses, captures data, transmits data to computer, is waterproof. The next area of evaluation is software - we want to see that the data is meaningful, can be displayed in a way that gives relevant information to swimmer, the software disregards meaningless data, the graphical interface is user friendly, and derives swimmer metrics. Water tests will include data captured from the paddle, the manually captured time it took the swimmer to get across the pool, and underwater video for us to improve data analysis.
  1. Deliverables:
Baseline 1: Waterproof hand paddle that can measure position, acceleration, and force in the water in capture mode.
Baseline 2: Ability to transmit data wirelessly to computer in send mode.
Baseline 3: Graphical display of collected data on computer with some data/signal processing to make data more qualitative and understandable for users.

Reach Goals - Extra Credit:
Wireless charging: We want our paddle to be cordless and lightweight. We will need a power supply solution that isn’t too bulky or heavy. Wireless charging would be an elegant solution to this problem, but would definitely require more advanced hardware design and much more research in an area that is somewhat unrelated to our project.
A Second Smart Paddle: We think we’ll have our hands full by just constructing one Smart Paddle, but adding a second unit would allow swimmers to identify differences between the two sides of their stroke.

  1. Overall Timeline:
3/22 - 3/25: Research components and waterproofing methods, complete proposal and abstract, start preliminary IMU land testing, order components materials, make webpage
3/26-3/29: Start working with MATLAB to develop graphical data display and stroke analysis, begin designing hardware for wireless communication and power, begin SolidWorks paddle design
3/30-4/2: More land testing and programming, hardware waterproofing, preliminary water tests (bucket) for pressure sensor
4/3-4/6: Construct waterproof paddle and prepare for water testing, make second dummy paddle
4/7-4/10: Start water testing with Catherine, ensure functionality of capture and send modes
4/11-4/14: Water testing with other swimmers, including data capture, manual time, and video, keep developing MATLAB code
4/15-4/18: More water testing and programming to ensure accuracy in data analysis, start filming for final demo video, consider attempting reach goals
4/19-4/22: Debugging, start compiling final demo video
              4/23-4/24: More debugging and finishing touches