ESP32 Fall Detector
by Arduino_having11_Guy in Circuits > Assistive Tech
2476 Views, 3 Favorites, 0 Comments
ESP32 Fall Detector

I would like to thank DFRobot for sponsoring this project.
Here is a list of the parts used:
DFRobot ESP32 ESP-WROOM Module ×1 - https://www.dfrobot.com/product-1559.html
Silicon Labs CP2102 USB to UART Bridge ×1
MCP73831 Li-Ion Charger IC ×1
LM317BD2T Adjustable Regulator ×1
0805 4.7uF Capacitor ×2
0805 100nF Capacitor ×1
0805 1uF Capacitor ×1
WS2812b LED ×1
1206 LED ×4
Micro USB Connector ×1
0805 470 ohm Resistor ×1
0805 2k ohm Resistor ×1
0805 510 ohm Resistor ×1
0805 300 ohm Resistor ×1
0805 10k ohm Resistor ×2
0805 270 ohm Resistor ×2
6mm x 6mm Pushbutton ×2
SMD 6mm x 6mm Tall Pushbutton ×1
Previous Project



Back in August of 2017, I imagined a device that could alert users if one of their loved ones experienced a fall or pressed a “panic” button. It used an ESP8266 and was assembled on a piece of perf-board. It had a single LED that would indicate if a fall had occurred. The device also featured a very basic LiPo charging circuit that had no indicators.
New Idea




Since my last fall detector was so rudimentary, I wanted to make drastic improvements. The first one was making it USB programmable, so I used a CP2102 USB to UART converter IC to handle the USB to UART serial connection.
I also wanted there to be more indications of the operations, so I added an LED for charging, one for power, and two for the USB status. I chose to use an ESP32 due to its increased power and Bluetooth connectivity, which can allow for future expansion, such as an accompanying app.
PCB Design




All these new features would require a lot of additional circuitry, and a simple piece of perf-board would not cut it. This required a PCB, which I designed in EagleCAD. I began by laying out the connections with their schematic editor. Then I moved onto making the actual board and traces.
Soldering






This was the most difficult part because of the fine-pitched pins. The hardest component to solder was the CP2102, which comes in a QFN-28 package. Each pin is just .5mm apart, and without a stencil, this was fairly tricky to attach. I solved this problem by applying a generous amount of liquid flux to the pads and then running a small amount of solder over the pins.
Usage


The device works by checking the acceleration measured by the MPU6050 at set intervals. Once it detects a fall, it sends an email to a set contact. I have found out that the battery lasts about three days, so it must be charged regularly. There is also a button that is connected to a hardware interrupt that can send an email when pressed.