Introduction: 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

Step 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.

Step 2: 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.

Step 3: 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.

Step 4: 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.

Step 5: 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.