Machine Learning Based Gesture Detection Watch (ESP8266)
Introduction: Machine Learning Based Gesture Detection Watch (ESP8266)
The world is certainly getting better everyday at technology based on gestures because it’s very intuitive, easy to use and clearly makes the interaction with gadgets and things around you futuristic and fancy! So, just to be on the trend we’ll be taking the watch we built in the previous instructable and plunge in some ML and see if we can detect what kind of gesture we are performing, and maybe in upcoming instructable we can use this gesture to perform some very cool projects based on this.
Supplies
These are the list of products which can help you do this project with ease
(Affiliate Link)
* Esp12E: https://amzn.to/3h3b37s
* OLED display: https://amzn.to/2VcEATc
* MPU6050: https://amzn.to/2J8E06T
* Haptic motor(exact one): https://amzn.to/2J8E06T
* Haptic motor(alternative): https://amzn.to/2J8E06T
* 3.3V regulator: https://amzn.to/2J8E06T
* 105mah battery: https://amzn.to/2J8E06T
* Velcro: https://amzn.to/2J8E06T
* HeaderPins: https://amzn.to/2J8E06T
* Angled Header Pins: https://amzn.to/2J8E06T
* Wires: https://amzn.to/2J8E06T
* FTDI: https://amzn.to/2J8E06T
* Male USB: https://amzn.to/2J8E06T
* PCB: https://amzn.to/2J8E06T
* Soldering Gun: https://amzn.to/2J8E06T
* Soldering Lead: https://amzn.to/2J8E06T
* Foam sheets: https://amzn.to/2J8E06T
Step 1: Story Time!
I posted a post on my instagram page telling all the new features I will be implementing on this version of the watch but, I dropped "micro USB port for charging" , "hold to turn on or turn off the circuit" and "heart rate monitoring". Because of the quite a mess I made but you know I'm extremely kind hearted and I feel extremely bad to disappoint my readers by not implementing the new hardware features. So, I had to step up my game on the software part.
So I thought about adding some ML to the project, it should be easy compared to electronics, it’s just a bunch of codes that we have to copy paste from stack overflow. At Least that’s what I thought. So, I just jumped heads first on implementing a ML based gesture detection. Oh boy I was so wrong...
It was just ughh, I hated it. Not because it was complicated, it was just so frustrating collecting the data and training the model. 459
It was like teaching a little puppy how not to poop on the bed.
If you like to learn more about implementing ML on embedded system, check out this 2 links TinyML and Gesture detection . One explains how to use TinyML tensor flow with Arduino and another by using basic ML algorithms on Arduino. I referred a lot from the latter link because it's very simple to follow as well as it works with very low memory resource microcontrollers like Arduino NANO and UNO.
Step 2: PCB Assembly
Assembly. This time the assembly must be very simple and quick because of the printed circuit boards and for this I thank PCBWay for sponsoring this gorgeous black PCB’s for this project.
I gathered all the SMD components for the project, then arranged them in a place where I can easily access without messing around. Then the rest was just soldering!
Just follow the circuit diagram and solder the components accordingly in the PCB. To make the soldering easier work your way up from soldering smaller SMD components [Resistor, Capacitor, regulator] to bigger through hole components [MPU6050, OLED]. During the soldering I also secured the Lipo battery between the board and the OLED display using 3M tape.
It is difficult for me to find the right regulator to use for projects, so in my past videos I just use AMS1117 because it’s much cheaper and easy to find. But in order to make this project much more efficient than the previous builds. 472