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!
Wednesday, April 29, 2015
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:
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.
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.
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.
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;
}
}
}
#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.
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.
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.
| MS5803-05BA - Waterproof pressure sensors |
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!
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.
Subscribe to:
Comments (Atom)






