Here are some of the latest projects I’ve completed or am working on.
- QuickSOS: Wearable Safety
1st place in the Convergence Innovation Competition at Georgia Tech
This idea came about over pizza at Rocky Mountain during the 2014 Atlanta Snowstorm. A friend of mine told me she got a new app on her phone to quickly call the police if she was in a questionable place or felt scared while walking through a dark parking lot at school. However, we realized that in the case of an emergency it take way too long to pull out your phone, unlock it and navigate the touch screen.
So QuickSOS was created.
QuickSOS is a wearable device that connects by Bluetooth Low Energy (BLE) to your smartphone. The device is activated by pressing the two buttons simultaneously. This sends a command to the BLE chip to send a message to the app on the smartphone. The app then wakes up the phone and does the following:
- Calls Georgia Tech Police
- Texts Friends your GPS location
- Records Audio and Video
The first version had an external microcontroller (Atmel 8-bit AVR) but it took too much power and space. The system works on the CC2540 BLE chip from Texas Instruments. The on board microcontroller is a low power 8051. The buttons pull a GPIO pin to ground which lets the microcontroller to tell the BLE stack to send out RF. The example code from the TI website was modified to send out the appropriate GATT characteristics to the Android app.
The Android app asks the user for the phone number(s) to call or text. It can then be closed and it runs in the background listening for a change to be made to a Bluetooth GATT characteristic. This was a big problem for the system. It HAD to work even when the phone is asleep. I used a service class to make sure the app is still running in the background. If the app is closed, this usually kills the process in the phone. With a service however, the process is kept alive unless memory requirements become way too big. This isn’t a big problem because Android has a method called “Sticky” which means if a process gets killed, it can be restarted once theres enough memory in the phone.
Once the app sees the characteristic changed on the Bluetooth Profile, the GPS location is send out, audio starts recording and the calls are made.
The circuit runs off a 3V lithium coin cell battery with 225 mAh. In the sleep mode, the microcontroller uses on the order of nanoamps! So the device can last for years. The case was 3D printed and designed using SolidWorks. Total print time was around 4 hours.
Heres another video of me explaining it after we won the competition: https://www.youtube.com/watch?v=LQycplEJSSY
- MIT Coffee Can Radar
Built from MIT’s OpenCourseware, “Build a Small Radar System Capable of Sensing Range, Doppler, and Synthetic Aperture Radar Imaging”
I took a Radar Signal Processing class during by Masters degree. It was really cool material covering how radars detect targets, calculate range and velocity and if need be, track the target. It was fun but we never left the computer lab to do any of this stuff. I found plans online for building a coffee can radar. Coffee cans are used because they are cheap and can be easily made into 2.4GHz antennas. The radar operates at 2.4 GHz because this is an open frequency for any unlicensed transmission. The only problem is WiFi, Bluetooth and most other wireless devices also operate on this band, which forced to use the radar far from any of these noise sources.
The RF is taken care of by discrete modules purchased online. This includes the RF amplifiers, attenuators, and mixers. The RF signal is a chirp signal. A chirp waveform is used to get good resolution (accuracy) in both range and Doppler shift. The Doppler shift is then used to determine the velocity of the target.
For a 2.4 GHz signal, the sampling rate required to get a good resolution in distance is way beyond the capabilities of any laptop. This problem is solved by, heterodyning (a fancy word for mixing) the received signal with a reference oscillator. The output can be low pass filtered to get the difference between the two. This resultant signal is much lower bandwidth and still contains the range and Doppler information. Now with Matlab and an audio card, the signal processing can be done on a laptop!
Unfortunately the project was quite expensive (~$200) so it was taken apart and the RF parts were sold before I took many pictures. Below is the 4th order filter for the output RF signal and next to it is a picture from the MIT website of what the completed radar looks like.
- Sound Responsive Wearable
A fun project for a concert
I’ve always loved LEDs. It’s hard not to. Anything that lights up with colors catches my attention. There are many projects online about light shows that activate by music. These are really cool and I’ve built a few but what I really wanted was to take this system and put it into something I could wear to a concert. This meant low power and a compact, with flexible form factor. I love these kinds of projects with fun constraints.
I started by building a gain stage around a cheap microphone I got from Sparkfun.com. This was fed to 3 filters. A low pass with a cutoff frequency of 256 Hz (R=6.2k, C=0.1microFarad), a bandpass centered at around 3000Hz and a high pass for frequencies about 5000Hz. These correspond to the bass, mids and treble of a song. I hooked up the bass to the blue LEDs, the mids to the green and treble to red. This way I could get an EQ effect from the music.
I was initially thinking of doing an analog automatic gain control with a feedback loop to sense how loud the music was and tune the gain accordingly. I found out pretty quickly this is tough to do in analog and there was no way I could do it low power and in a small form factor. So I went the microcontroller route.
I chose an Arduino Lillypad for the microcontroller. These were made for wearables and E-textiles. While in retrospect, any microcontroller with >2k memory would have done the job. The embedded code was pretty tiny. I had a simple algorithm that would keep a running average of the last 2000 samples. Running at a 9600 baud rate, this is about two tenths of a second. If the current sample is higher than the average, then it is significant and the LED should be turned on. Doing it this way was supposed to take care of the fact I didn’t know how loud the concert would be and couldn’t calibrate the system before hand. It seemed I had a good solution and the lights would blink in time to the music.
What I didn’t consider was that the microphone was cheap and therefore had a really crappy dynamic range. So the difference between 80dB and 110dB was small at the output of the microphone. The concert totally saturated the signal and the lights were on the whole time. But it still looked pretty cool!
- Guitar Effect Pedals
Analog Signal Processing
In the 1960’s the transistor started becoming cheap and popular. This made it possible to make small and cheap signal processing circuits for the electric guitar. This was way before DSP, all of these effects were done in analog. Nowadays, most guitar effect pedals are performed with processors that sample the input guitar signal and filter it in real time. I wanted to try building some popular guitar effect pedal in analog because it’s a great way to learn and I could customize my guitar sound.
Some common pedals are distortion, chorus, and wah-wah. A distortion pedal is a circuit that will clip the output signal. Instead of a nice smooth sine wave tone, the signal sounds “fuzzy”. There are different types of distortion depending how much the sinewave is clipped. The harder the clipping, the more the sine wave looks like a square wave. Square wave give more of a hard rock crunch sound and that’s exactly what I was going for.
The first step was to determine the amplitude of my guitar’s output. Using an oscilloscope I found that the output waveform was about 0.5 volts peak to peak or about 350mV RMS. I fed this to the input of an opamp noninverting amplifer with a gain of 5. Now it’s a 2.5 V pk-pk wave. This was is then put through two parallel diodes in opposite directions. This limits the output voltage to the voltage drop over the diodes. Since there is one in each direction, it clips the signal symmetrically. The diodes create the distortion and the gain stage ensures that the signal voltage is high enough to fully turn on the diodes.
I also built a Wah pedal. This effect is created by changing critical frequency of an underdamped low pass filter. An underdamped LPF will have a resonant peak near cutoff. By moving this peak around in frequency, the guitar tone changes from an “ooh” to an “aah” sound. It’s a cool effect that Jimi Hendrix and Joe Satriani used to create their signature sound.
I built mine following a schematic I found online here: Wah Pedal Circuit. Its a transistor based design. The LPF critical frequency is determined by the Inductor, the 4.7uf capacitor and the potentiometer. The other caps and the transistors do have an effect on the frequency response but they can be ignored. The pot is varied to change the critical frequency.
5. Device to Position and Secure Laryngeal Nerve Monitoring Endotracheal Tube
A small venture in to Biomedical device design
A friend of my family is an anesthesiologist at Stanford hospital. We were talking one day about a problem he was having with placing monitoring tubes in patients. During surgery it is important to make sure that you’re not cutting anything that shouldn’t be cut. The lungs are pretty easy to avoid but nerves are small and the placement varies slight from person to person. During thyroid procedures, it’s a big risk that the Laryngeal Nerve could be damaged causing a person to lose control of their vocal cords. Obviously this is a big issue. Before cutting any tissue surgeons can test the tissue with an electrode to tell whether the nerve is there or not. This works by placing electrodes in the vocal cords near the mouth and then stimulating tissue at the surgery site to see if the electrodes pick anything up. If they do, then the tissue is the Laryngeal Nerve.
The problem the anesthesiologist had was with placing an endotracheal tube that would let the patient breathe under anesthesia and monitor the nerve. The tube has wires (as seen in the picture) for the electrodes. There are current devices that hold the tube in the throat but they don’t lock the tube in place so the electrodes can move off of the Laryngeal nerve. The current method is to tape the tube down. This is annoying for the doctor because to adjust the tube means taking off tape and retaping every time. So he hired me to come up with a plastic device that will go in the patients mouth to hold the endotracheal airway tube and lock to hold the electrodes in place. It was a tough design because it had to hold the tube securely, unlock in one step and not bend the tube in any weird ways. I designed a locking mechanism and tube guide in SketchUp and AutoCAD.
Here are the images:
More to come!