|Software apps and online services:|
|Hand tools and fabrication machines:|
TremorFreeMe is an innovative wearable device which aims to fight tremor and improve patients’ life quality. The device activates the opposite muscles of the ones activated due to tremor. Utilizing an App and Machine Learning, it provides patients with a holistic platform which manages to monitor tremor’s behavioral characteristics and changes, and, in parallel, offers a personalized aid by controlling the tremor’s intensity. For this reason, the sensors (accelerometer, gyro) from our wearable device are used. A user-friendly mobile app -responsive to voice commands- has been developed for the facilitation of the user. The ultimate goal is to enrich our data collection,train our suppression device and reach high level of intelligence which will lead to a fully personalized functional approach for each user. This way, the patient can deal with tremor in daily routine and counter problems related to feebleness for self-managing tasks and daily physical activities.
TremorFreeMe is building a fully functional autonomous battery-powered wearable device which is still in the prototype stage. Its main function is to detect the involuntary tremulous movement, using data from a 3-axis gyroscope & accelerometer and deliver electrical stimulations through small electrode pads, in order to reduce tremor. For that purpose, we developed an algorithm that is able to make real time decisions and efficiently stimulate the opposite muscles of the ones activated due to tremor , achieving significantly high tremor suppression. We are still in the prototype stage for concept verification. The future design will be smaller in size.
WARNING: Like every tens machine that is currently in the market, the device is not designed for use above the neck or for individuals who have a pacemaker or other heart defects .This device is also not recommended to be used by pregnant women & Girls.
At the heart of our embedded system lies an Atmel atmega328p (same chip used in arduino Uno board). It provides reliability, big collection of open source libraries, easy to use and lot of people are already familiar working with an arduino board.
Here are all the materials needed to build the TremorFreeMe device for both standard and smd implementation (smd is a harder implementation).
1x Diode Rectifier - 1A 400V (above 100V works fine),
Now that we have all the available components lets go to the next step which is soldering the components together to a prototyping board (dimensions 55x47mm ≈ 19 holes) this is important cause we want to fit the board into the 3D printed case.
solder the parts as shown in the pictures and schematic below. You can change the positions of G1-4 to any output pin but note that G1 must be connected to a pin capable of pwm output.
Here you can see the pin-out connections (pads MPU6050 and bluetooth).
now we have the needed working circuit with the atmega328p-pu. Next we connect the battery to the step-up module as we need 5V operating voltage for the atmega328p-pu, in order to load program you place the chip into an arduino Uno board and upload the code then place the chip back to the circuit. Here is a testing code. Upload it to atmega328p-pu, if everything works after uploading test if the voltage across the capacitor is 25V (you can change it to any value between 0-90V in the code by changing the int set_volt =25; variable ) as set by default and from the pads output you can have a 5Hz stimulation. Now we are ready to proceed on the connections of MPU6050 and bluetooth.
Following the log MPU6050 (accelerometer/gyroscope) we are now able to properly connect MPU6050 to our circuit.
Connect the bluetooth pins like shown in the picture below
Arduino code for bluetooth serial: SoftwareSerial BTSerial(5, 6); // CONNECT BT RX PIN TO ARDUINO 6 PIN | CONNECT BT TX PIN TO ARDUINO 5 PIN
In order to connect the Bluetooth with the TremorFreeMe app we need Bluetooth's mac address, here are some useful instructions that helped me find it http://www.instructables.com/id/How-to-Set-AT-Command-Mode-for-HC-05-Bluetooth-Mod/
Now that we have found Bluetooth's mac address you just paste it in LoggedIn.cs line 49 (public string address = "";) . So after installing the app it will automatically connect with your bluetooth.
Here is the open source code of TremorFreeMe.
Now that we have connected together all the pieces need lets move to the final step of completing the device.
install this code to atmega328p-pu. You have also installed the TremorFreeMe app to your android phone compatible with your bluetooth as shown in the previous step, so now we are ready to control the device via the app.
Open the TremorFreeMe app, which will require a sign up for the first time only (you can then use it in offline mode), and let the device work by itself. It will detect the tremor movement and apply the required muscle stimulation needed to suppress tremor.
Here is a video to connect bluetooth and MPU6050 and place the circuit to the case + the battery on the bracelet.
We wan 3 pads 1 with positive voltage and 2 GND's, so by controlling the GND we can apply the tremor with the required characteristics (frequency and amplitude)
Here you can find 3 videos step by step electrode placement
Our next goal is to make the whole device smaller so that TremorFreeMe to be more efficient and elegant. To achieve that as said to this log we printed the circuit to a pcb board made in lab using simple material and we also used smd parts. I will now explain the steps in order to print the 3.2x3.2 board by yourself.
To start with here are the schematics needed for the printing and the parts placement on the board.
here is a useful link too on how to print your own pcb board !!
Throughout the process we use safety glasses, mask and gloves.
First we smear the transparencies and make a "folder" with the bottom and top view, put the board inside the envelope and all of it in between two pieces of glass. we keep the glasses fit exactly so that the transparencies are not distant from the slab, then place it for 5 minutes on each side in the sun and after that we keep it in a dark place.
Next soak 1 liter of water and add 7 grams of an unblocking pipe chemical powder (or any similar product) to take advantage of sodium hydroxide containing, dissolve very well so that there are no granules and make the mixture homogeneous, we patch the board for about 3 minutes until we see that the circuit that we want to print is formed, at the end the blown photosensitive layer is gone, while it has remained the one that will protect the copper at the next step but before that we rinse the plate with water.
Then in a new bowl, we collect 45 grams of hydrochloric acid and 15 grams of hydrous peroxide and 10 grams of water. Immerse the board and stir continuously to keep in contact with the air. we have periodically switched the plate so that both sides have the same contact with the mixture and the air, in about a minute the unnecessary copper that is not protected by the photosensitive film is gone. On top of the circuit there is only the circuit we want. Rinse with water and wipe.
Finally we open holes, make vias and stick the elements from the smaller to the larger.
And here are the results
And with smd parts soldered
We recommend using the TremorFreeMe app cause the useful data help us so we can have a better understanding of tremor and thus improving the tremor suppression algorithm through the machine learning model. This way a community is created so, as this database grows bigger, tremor will be less of a problem
TremorFreeMe_proposal.pdf: A novel approach in confronting hand tremor.
tremor_free_me.ino: The final code for the atmega328p microcontroller.
testing.ino: Code for testing the circuit functionality.
TremorFreeMeCAP.SLDPRT: 3D design of Tremor Free Me smd cap
TremorFreeMeCASE_v2.SLDPRT: 3D design of Tremor Free Me smd case
Did you replicate this project? Share it!I made one
Love this project? Think it could be improved? Tell us what you think!