Family Safety Monitor
Microcontrollers now have sufficient processing capability to interact with web based email services which opens up a wider range of high quality and reliable solutions which require little, if any, maintenance. This project was created to fit the needs of an elderly family member who didn't feel that the alternatives available to them were suitable.
This is a monitor to check whether a person is active in their home and raising an alert if that activity is not detected within a pre-determined period of time.
A scenario was to locate the monitor in a kitchen where the user is expected to appear regularly, and if the appearance doesn't occur, say because of illness or a fall, then others can be automatically alerted. The intention was to make use of free online email services, such as Gmail, so that running costs of the service are minimal.
In the original case, this was setup to raise an alert if the user wasn't detected within 24 hours, but the software can be configured via an SD card to behave differently.
The monitor is a simple IR detector, so no video or audio is recorded, and while a log is kept, it can be configured to be detailed or very basic to provide privacy. The microcontroller is the very versatile ESP32 from Espressif.
The alert is via an email to a list of addresses and can be configured in several ways to better suit the person being monitored.
It requires an active mains socket and Wi-Fi for internet connection but the idea can be re-envisaged in many different ways to suit the user.
Other emails can be sent on demand to test the operation and to verify that the unit is operating ok.
This design uses 3D printed parts to mount the various components.
In this form, the project uses mains electricity and the constructor will need to make internal connections to the mains powered system. If in any doubt as to the safety of doing this, consider configuring the unit to use a 5V USB PSU. The unit has been powered this way reliably for extended periods of time, the mains connection and enclosure have been used to encapsulate the solution in a single container.
The operations manual is attached here
Downloads
Supplies
Power supply adapter case
ESP32 WEMOS MINI microcontroller board
SDcard reader
Either
A 6W 6volt transformer, with 1000uF capacitor and small bridge rectifier with LM317 regulator
or
5V 5W AC/DC convertor - Vigortronix VTX-214-005-305 was used but something similar will be ok.
HC-SR501 IR detector
7333 3V3 regulator
4 x 220R resistors
1 x 1k resistor
1 x 10k resistor
2 x suitable switches for test emails and programming if required
Red/green LED
Green LED
Red LED
small piece of stripboard
3D printed parts
Overview of Construction
The unit is constructed around a DIY mains PSU case intended for creating specialised power supplies for electronics. The case houses the power supply for the unit, an IR detector, the ESP32 microcontroller, an SDcard reader and a small circuit board made from stripboard which supports various indicator LEDs as well as test and programming switches.
Inside the case, a 3D printed framework supports the secure installation and positioning of these parts.
Circuit Design
The circuit is based around the ESP32 microcontroller receiving input from the IR detector, a test switch and an SDcard, the microcontroller outputting monitor status to LEDs, connecting to wifi and of course, sending emails.
The SR04 IR detector is connected to the microcontroller via it's LED driver connection and will directly illuminate an LED when activated, as well as alerting the microcontroller to the status change. The SR04 has standard adjustments for the mode of operation required and detection timings. This is important to be adjusted for preference.
The microcontroller has two status LEDs driven by the ESP32. To save space on the front of the case, one of these is dual colour but two single colour LEDs could be used equally a well. The LEDs indicate power on, WiFi connectivity status, and a monitor status indicator for errors and operational status, off being normal status.
Two button switches are connected, one to signal to the microcontroller that a test email is to be sent, the other to be used in conjunction with the reset button to put the microcontroller into programmable status. This second one can be omitted if this will never happen in use. Not having this would free up space on the front of the case for another LED.
The SD card holder is connected to what are fairly standard pins on the ESP32 for this use.
The power supply for this version is a mains to 5V converter block, with a 3.3V regulator supplying the microcontroller. The next step shows an older supply design using a transformer.
In the case design, the mains and the circuitry are separated by a reasonable distance and a fuse is soldered in place and all wires insulated. However, as mentioned before, the unit could be powered by a separate power brick if required.
Downloads
Circuit Design - Mains Transformer
This design is an alternative to the encapsulated 5V power supply using a transformer, bridge rectifier, capacitor and LM317 regulator. The rest of the design is unchanged. It's included here for completeness.
Software
The software for this project is the core of the solution and is intended to be implemented on the ESP32 microcontroller. It is available on github https://github.com/tekyinblack/FamilyMonitor
The software runs a simple state machine sampling the status of the IR detector and resetting a timer after several positive detections. Once the timer expires, when no detections have occurred, then the email engine is invoked to send the alert emails. The software also sends test emails, either on demand when pressing a button, or on a scheduled basis. If an alert email is sent, the next time the IR sensor is triggered a 'return' email is send to indicate that either the user or someone else is again active.
3D Printed Frame
To mount the components inside the case, four pieces were designed on TinkerCAD to be made with a 3D printer. The following are the links to these designs
The .stl files for these are attached
Soldering the Leads
Connections are a personal matter and here some are soldered directly with fine wire, and some are terminated with Dupont connectors for easier assembly/disassembly later
Make the Circuit Board
The circuits have been mounted on stripboard cut to fit the case with pcb pins for external connections located allong one edge. An example component layout is shown in one of the pictures.
Assemble the CPU and SDcard Reader
The 3d printed components have been designed to hold and position the IR sensor, microcontroller, SD card and circuit board inside the case.
Add the Circuit Board
In this step, the various connections from PSU and IR sensor are made to the circuit board
Join the Parts Together
These are pictures of what the assembled monitor module looks like, the 3D printed parts held together with two bolts.
Fit the Mains PSU
If an internal PSU is being used, it can be connected now.
Drill the Outer Case
The front of the case used has to be cut and drilled to accommodate external access to the buttons, LEDs and SD card reader. For the case used, it was found that removing one ventilation slat at the side was sufficient to give access to the SD card reader. The three LEDs and programming button were accessed via drilled holes on the front of the case. The IR sensor required a larger hole to be drilled in the front of the case after careful measurement of the particular sensor used and the case.
If required, a hole was also drilled in the side of the case to give access to the reset button on the microcontroller via a hole in the 3D printed part. Also a gap was made in the front ventilation grill to give access to the microcontroller USB port. This was found to be very useful for debugging but may not be if the unit is fully working.
A hole in the top of the case, intended for an output power cable, was repurposed for the test button.
Fitted Together
Not much to say about this, the cut and drilled case is fitted to the modules and fixed with the screws provided with the case.
Testing
It is suggested that the operation of the unit is tested in breadboard form before the final unit is built. Testing the actual operation can be carried out at this stage to see if the solution is suitable for the circumstances.
Setup requires customisation of the SD card contents on github, examples here, and the creation of an email account for the monitor to use. Don't use your own private email account. Note, providers such as Google require special App passwords for this type of operation requiring a change in security levels. See the support article here for more details.
Experience
The monitor has been well tested now and performs it's function very well. It does need a bit of thought about where it's position, and mentioned earlier a kitchen is a good place, but it should be somewhere where it can 'see' and active person but not be triggered by other sources. Using IR indicator and a running a daily test report, part of the configuration, will help.
If providing this for someone else, do explain what it does and be aware of any privacy concerns.