- Main design files: https://zenodo.org/record/3406788
- Target group: undergraduate students, trained engineers, scientists in embedded systems and biomedical engineering
- Skills required: Hardware assembly – easy; surface mount PCB – easy; embedded C firmware – easy; Android programming – easy
- Replication: No builds known to the authors so far.
According to the World Health Organization (WHO), one third of people older than 65 suffer from a disabling hearing loss . According to the reported statistics, there are 466 million people suffering from disabling hearing loss and this number is expected to increase to over 900 million by the year 2050. In this context, care giving for people suffering from visual and/or hearing impairment is very important and a growing challenge.
There are several commercial products and solutions to the problem of effectively alerting people with visual/hearing impairment of potentially dangerous situations. One such example is GoSafe 2 from Philips . This is a pendant device that the user needs to wear around the neck. It is simple, user friendly, and it features fall detection capabilities, advanced locating technologies, and two-way voice communication. The pendant has one button that can be used to send a distress signal. The main drawback of this solution is that it cannot effectively notify the wearer (who may have a visual/hearing impairment) of potential life-threatening dangers. For example, in the case of a building-wide fire alarm, it is not clear how people with visual/hearing impairment could be notified effectively via the GoSafe 2 device. In addition, this product uses a subscription model with initial activation and monthly fees that can become costly when desired to deploy on a large scale. Many existing hearing-impaired alert devices include a desktop base station with peripheral devices that will alert the user of certain events such as a fire alarm or a doorbell . Devices like the Central Alert System Receiver and Clock and the Clarity Alertmaster AL10 Alert Device resemble an alarm clock with connected devices that are used to alert the user. The downside of these systems is that most of them are effective and limited to the location of the actual devices. Other solutions, such as the Bellman Visit Alert System, may use a pager-like device that the user needs to carry that will vibrate when one of the alerts is activated. These systems are mostly designed for consumer home use and they require additional purchases to add functionality to the system, such as smoke or carbon monoxide detectors, which add to the initial cost of the system. More generally, the Situational Awareness and Response Assistant (SARA) is a risk management solution and mass notification system. While intended primarily for smartphone as end points, this system can integrate with existing alarm systems installed already in homes . Such systems are generic in nature, and do not necessarily help people with visual/hearing impairment.
In addition to the commercial solutions described in the previous paragraph, one can also find several designs developed by hobbyists and described in online articles. For example, the projects listed or described in [4, 5] present ideas to implement emergency buttons for elderly care. Many of these design ideas use boards like the Arduino or Raspberry PI, which while convenient and easy to use, may be too large to be used as wearables, they implement just one feature (emergency button, which in this work we refer to as the distress signal feature), and often only partial or incomplete design files are provided.
In this paper, we present a complete free and open-source design of a visual/hearing-impaired alert device. It consists of an electronic bracelet, which vibrates when it receives a notification signal from a central manager. In addition, the bracelet has a button that upon being pressed sends an alert or distress signal. For reliability and extended range, Wi-Fi is used as the communication technology. The central manager is implemented as a smartphone application. The vibration alert bracelet seeks to solve some of the shortcomings of the currently available solutions. Designed to be cost-effective yet extendable, we hope this design will be adopted and improved in other practical, educational, and research settings.
2. Overall Implementation and Design
2.1. Hardware description
2.1.1. System-level Diagram
The system-level diagram of the overall Vibration Alert Bracelet (VAB) system is shown in Figure 1, for a specific case of two users. The major components include a number (e.g., 2) of bracelets worn by the users and the mobile application (VabApp) installed on the central manager’s smartphone or tablet.
2.1.2. Vibration Alert Bracelet Unit
The VAB unit is the primary hardware component of the proposed system. The block diagram of the VAB unit is shown in Figure 2. The unit is constructed primarily around the ESP-12F module that uses a simple low-power microcontroller unit (MCU) with WiFi built in capability, the ESP8266 System-on-Chip (SoC). The MCU controls the vibration motor when the control signal is received via WiFi as well as the LED. In addition, the MCU has connected a push-button that is used for triggering the generation and transmission of a distress signal. Upon pressing the button, the VAB unit sends via WiFi a signal which will be received at the control manager’s application. The application will indicate the unit number or ID that generated the distress signal. Situations when the user is outside the designated apartment (e.g., common rooms or similar) are not considered in the current version of the design.
The design’s main supply voltage is VCC = 3.3V and is produced by a Buck converter. The Buck converter is a step-down high-efficiency and low-ripple monolithic integrated circuit optimized for portable applications. The voltage level is selected to be 3.3V because it is the supply voltage required by the ESP-12F module. The circuit is designed such that the input to the Buck converter can be supplied by the battery or by the 5V USB connection. The rechargeable battery, which can be charged through the USB port, has a built in protection IC, and a switching circuit used to detect if the vibration alert bracelet is connected to USB or not; if connected to USB, then, the switching circuit enables the battery charger at the same time with passing the supply to the power converter. For the input button, pull-up circuits are used to detect button presses on the GPIO pins. Due to high current draw of the motor (which GPIO cannot directly drive) a power FET is employed to drive the motor. The power FET and the battery were simply selected based on their voltage ratings and availability. A special consideration in selecting the battery was its shape and volume, which needed to be as small as possible. More circuit details can be seen in the circuit schematic of the VAB unit shown in Figure 3.
The microcontroller of the VAB is inside the Espressif ESP8266 System-on-Chip that mounted on an AI-Thinker breakout board. Although its primary intended function is that of an all-in-one WiFi receiver and controller, it also provides I/O necessary to interface with the Parallax 28821 pager motor, to control the SunLED XSMDK43MB notification LED, and to poll the button for input. The motor itself is connected to the ESP8266 via an Infineon BSL802SNH6327XTSA1 MOSFET. The Buck converter is provided with battery voltage via a TI BQ297-series battery protection IC. The BQ297 is included for redundancy as the battery itself has inherent protection circuitry. The battery’s current charge level is also reported to the microcontroller for battery level monitoring purposes. The battery is a Lithium-Ion polymer single cell and is directly controlled via the battery IC. In order to facilitate charging from a USB port, a Microchip MCP73811/2 charge management controller is integrated into the design. An Adafruit CP2104 USB-to-serial chip is included to interface with the Vibrating Alert Bracelet. The CP2104 allows a user to push firmware to the ESP8266 over USB. The usage of the USB standard proves to be most convenient as it not only provides 5V charging input, but also allows for easy communication with the ESP8266 over its USB serial port.
The schematic diagram was placed and routed with EasyEDA PCB tool and then manufactured on a PCB with two layers. The PCB layout and photographs of the actual prototype populated with the components are shown in Figure 4.
2.1.3. 3D Printed Enclosure
The vibration bracelet is cased inside a printed enclosure, designed to be ergonomic and to be able to attach and wear on a wrist using a military style watch strap. The 3D CAD model of the enclosure and the actual 3D printed enclosure are shown in Figure 5.
The enclosure was designed using Siemens’ NX 8.5 CAD program and was printed using regular PLA plastic at 60% infill. The Zenodo repository (discussed later) provides design files in DXF/DWG format, which can be opened with free and open source CAD programs.
2.2. Software description
2.2.1. Embedded Software
The WiFi MCU runs the main embedded program whose role is: 1) to receive alert signals and turn on the vibration motor for a specified duration of time, 2) to drive to light-on the LED for the same duration, and 3) to react to the button being pressed by generating and sending via WiFi a distress signal. The flow-chart that describes the algorithm that implements all the above tasks is presented in Figure 6. The ESP8266 operates on a set loop of functions that allows it to function properly. The first thing that the bracelet unit does is connect to the wireless network. This is only done when the unit starts up. The unit will then connect to the server that manages all the units. Once a connection to the server has been established, the unit will send a MAC address that is used for identification. The server will then send a response either triggering the alert on the unit or passing on. The unit will then alert the server if the user needs assistance or it will send an all clear response. Following this, the unit will then disconnect and light-sleep to conserve battery energy. Adding this sleep time can decrease the battery usage significantly allowing for longer times between charging. There is an interrupt that is not shown in the flowchart that allows the button press to be recorded even while the bracelet is sleeping.
2.2.2. Server-Side Software
The server begins its operation by connecting to a network which will allow it to interact with the bracelet and the application (or app). Once the server has connected to its network it waits for the app and bracelets to check in. When a device checks in with the server, it identifies itself as either the app or a bracelet. If a bracelet connects, the server then receives a check in message that includes whether or not the bracelet has sent an alert. Following this, the server then receives a MAC address from the bracelet which is used to identify the bracelet. If there was an alert, then the server sets the alert status for that bracelet to high. The server then sends the bracelet an alert status that indicates whether there has been an alert from the administration. Once this is completed, the server then disconnects from the bracelet. If the app connects to the server, then the server waits for instructions from the app that either requests the status of the bracelets on the network or sends an alert to one or all bracelets. If the app requests an update the server sends an updated client list to the app. If an alert is sent from the app than the alert status is set to high for the necessary bracelets. Once this is completed the server disconnects from the app. The flow-chart that describes the algorithm that implements all the above tasks is presented in Figure 7.
2.2.3. Mobile Application
The central manager from Figure 1 consists of an mobile application or “app,” (called VabApp), whose role is: 1) to send the alert signals to all users or selected users, and 2) to receive the distress signals sent by any of the bracelet units and highlight on a list-based dashboard the IDs of the corresponding units. The application’s user interface (UI) is very simple and user friendly as it provides essentially two basic features.
The home-landing page (which shows also users that sent out distress signals) and the send alert page are shown in Figure 8. The current landing page consists of a dynamic list of all the bracelets that are registered to the network. Each of these list items displays the name of the client that the bracelet is registered to as well as the unit that that client lives in. To the right of this information is a radio button to denote the status of the bracelet. If the button is green, the bracelet is connected and has not sent out any distress calls within the last 15 minutes. A red button indicates that the client has signaled for help with the button located on the device. A grey icon indicates that the bracelet is not currently connected to the network or is otherwise unable to communicate with the server. This list of connected devices is updated frequently to ensure that the user of the app has a reliable way to view the status of the different bracelets. Aside from the list, the landing page has a button that will change the view to allow the app user to send out alerts. The send alert screen is fairly simple. It essentially includes one button used to send the alert signal to all or only to selected users.
The other primary functionality of the app will be its ability to receive alerts from the bracelets. The list of connected bracelets displays via the red radio buttons the units which have issued requests for help, the app also issues a notification on the phone and cause it to vibrate. This is to reduce the risk that the app user (i.e., the central manager) will miss any requests for help from the users.
The VAB unit is supplied with power from a battery or via the USB interface. The voltage and current levels are low enough for the VAB unit not to present any safety issues. The enclosure is not waterproof. It would be desirable to check materials and 3D printing techniques that would allow to develop a waterproof case in the future. The Quality-of-Service (QoS) of the alert system depends primarily on: 1) the presence of the WiFi connectivity, which enables the connection to the central manager and 2) the level of the battery necessary to guarantee correct operation.
Because the proposed VAB system is connected via WiFi, it is vulnerable to typical security threats that any device or thing connected to the Internet suffers from [6, 7, 8, 9]. Threats include interception of signal and generation, redirection, or suppression of alerts. Currently, we have not included any security provision in the alert system. There is a need for improving the firmware code and the server-side software to provide and enforce secure network connection, certifying both clients and servers. Potential privacy issues must be explained to the users of the device: currently, our system does not store or broadcast any type of sensible information, such as personal, medical, or financial information. However, location information can be obtained through a targeted malicious attempt. To mitigate risks for any future deployment, transport and storage of information on the end users must be protected with strong encryption and proper security provisions. Security measures are planned for the future of the project but are not provided in this version of the prototype.
4. General testing
4.1. Signal Integrity
The two most important aspects of the hardware design are its voltage values at selected nodes and its signal integrity, the latter of which is a byproduct of both design and PCB layout. Testing the electrical noise on key nodes within the circuit and monitoring ripple was paramount to maintaining a high-quality signal for stable operation, even in a low-power device like the VAB unit. Furthermore, probing at these select nodes enables verification of node voltages in accordance with their specifications. For example, VBAT must supply 3.9–4.2V when charged to full capacity, VBAT_SCALED must comply with the ADC input’s parameters and be under 0.966V, USB5V must be ~5V, USB3.3V must be 3.3V, and there must be negligible voltage ripple or electrical noise throughout the circuit during normal operation. In order to test the signal integrity of the final board, key nodes in the circuit were tested. These nodes included the following voltage nodes: USB5V, USB3.3V, Vcc, VBAT, VBAT_SCALED, CHARGE_EN, and BAT_CHECK. The procedure to verify the specification parameters of each node is as follows:
- Turn bracelet hardware on under its own battery power;
- Locate test node on board in accordance with the specific component circuit as per the PCB layout schematic (VBAT node within the U3 battery charger circuit, for example);
- Using an oscilloscope, apply probes across test point;
- Observe readout value and confirm that the measured voltage matches the specification for the device (5V for USB5V, 3.3V for Vcc, 4.2V and under for VBAT, less than 1V for Vbatscaled/ADC input);
- Repeat measurement three times across two different prototypes;
- Record data and confirm that the voltage is within specification and tolerance; Compare to simulation results and confirm expected functionality.
The results reported in the next Table 1 confirm proper operation of all major voltage rails and current loops within the VAB’s circuitry while adhering to the device specifications for each component used in the design.
|Testpoint||Voltage (V)||Current (mA)||Within Specification?|
|VCC (USB power)||3.46||–||Yes|
|VBAT||4.14||–||Yes, within 3.9–4.2V|
|VBAT_SCALED||0.932||–||Yes, under 0.966V max|
4.2. Battery Life and Charging
The main design consideration of the VAB unit is the battery life under normal operation. Given that the VAB is intended as a wearable alert system that is constantly worn, battery life is expected to last at least 24 hours on a single charge through normal usage with minimal charging downtime. To limit this downtime two measurements must be observed, the time for the battery to discharge and the time to charge as this controls the frequency of the downtime and its duration. Battery life testing is done through a script that allows for a higher sampling frequency and greater consistency than if a person were to manually run the tests. The script runs the VAB device at full power and every five seconds it reports the voltage across the battery. The procedure to verify the battery life is as follows:
- Charge the battery via USB;
- Upload the battery test script;
- Confirm the device connects to the network and is properly reporting the VBAT voltage, it should report voltage once every 5–6 seconds;
- Disconnect the USB power;
- Allow the device to run until the battery dies (i.e., completely discharged);
- Check the recorded data values and confirm the runtime;
- Compare results to simulations and estimations.
- Following the above test procedure, the battery life data reported in Figure 9 were collected for 15 sec, 30 sec, and 60 sec wake/sleep interval cycles. We can observe that the battery life is above 20 hours when the wake/sleep cycle is 60 sec.
In order to test the battery charging process, measuring supplied current proves more useful than voltage charge due to the charge methodology applied to lithium ion battery technology. The procedure to verify charge time is as follows:
- Discharge battery;
- Connect the battery up to the charging IC;
- Set multimeter probes across battery terminals;
- Set up a bench power supply to supply 5V, turn off output;
- Connect VCC and ground of the breadboard to a bench power supply while output voltage is off;
- Turn on the power supply;
- Read multimeter voltage and the power supply current value;
- Repeat once every 5 minutes until current drops to negligible values;
The plot shown in Figure 10 shows that the battery’s charge time is less than 30 minutes.
5. Use case
The potential application of the proposed alert system is the typical retirement apartment community where there may be users that are visually/hearing impaired. The role of the VAB unit is to notify the user through vibration and lighting-up of the bracelet’s LED of events that require their attention. In addition, the role of the bracelet unit is to provide the ability for the user to send a distress signal upon the pressing of the button on the bracelet. We have prototyped a system with two bracelets, as illustrated in Figure 1. The hardware and software components of the proposed VAB system were implemented successfully and they operated as intended. Setting up the hardware units is straightforward, and the mobile application is very user friendly. The battery life of the current implementation is about 22 hours, which, while satisfactory, is also the main limitation of the developed system. This is because the VAB unit uses WiFi as a wireless technology, which is known to consume more energy. One way to address this known limitation is described in the next section.
6. Reuse potential and adaptability
The VAB system is completely replicable and the hardware components are readily available from various vendors. The design is cost-effective, replicable, and extendable as presented. The proposed system could potentially have an important medical application, given that it offers a simple and cost-effect alternative to existing commercial devices, discussed in the Introduction. The authors considered creating a start-up company to commercialize the proposed system, having as a specific target application the typical retirement apartment community. However, such a professional development is not pursued at the time of writing this paper. The simplicity of the proposed system lends it well to serve as an educational platform. The extensions discussed in more details in the “Future Work” section later on could easily represent topics in capstone projects for students in electrical engineering or computer science majors. Another educational potential of the VAB unit is that it could be used for demonstration purposes in middle-schools and high-schools in order to attract students to STEM disciplines.
While the proposed VAB system could serve medical, professional, and educational purposes, we would like to emphasize that we do not make any claims about the usability of the device for medical or disaster situations, which we cannot guarantee. This project and its distributed software and hardware design files comes with no warranties whatsoever. The system has not been certified as a medical technology and should not be used for medical purposes. Since the VAB system has not been tested nor certified for real-world medical or disaster situations, it is presented here only as a prototype to be tested, extended, and certified for future applications.
7. Availability of materials and methods
The bill of materials for the VAB unit is listed in Table 2.
|Designator||Component||Part Number||Manufacturer||Material type|
|PCB||PCB||–||LCSC||Printed circuit board (PCB), Semiconductor|
|D4, D5||12/250V 0402 TVS||PGB1010402KR||Littelfuse||NA|
|C9, C4, C5, C8||4.7uF 0402 Capacitor||C1005X5R1A475K050BC||TDK||NA|
|R18||100KΩ 0402 Resistor||ESR01MZPF1003||ROHM Semiconductor||NA|
|C7||18pF 0402 Capacitor||C0402C180J5HACTU||KEMET||NA|
|R5, R6, R8, R9, R12, R15, R23, R24, R1, R2, R19||10KΩ 0402 Resistor||SFR01MZPF1002||ROHM Semiconductor||NA|
|C10, C3, C1, C2, C11, C12||100nF 0402 Capacitor||0402YC104KAT2A||AVX||NA|
|R20, R21||100Ω 0402 Capacitor||CRGP0402F100R||TE Connectivity||NA|
|R11||140Ω 0402 Resistor||ERJ-2RKF1400X||Panasonic||NA|
|R13||110Ω 0402 Resistor||ERJ-2RKF1100X||Panasonic||NA|
|R3||200KΩ 0402 Resistor||SFR01MZPF2003||ROHM Semiconductor||NA|
|R7||1KΩ 0402 Resistor||SFR01MZPF1001||ROHM Semiconductor||NA|
|R10||4.7KΩ 0402 Resistor||SFR01MZPF4701||ROHM Semiconductor||NA|
|R4||909KΩ 0402 Resistor||AC0402FR-07909K||YAEGO||NA|
|R14||340KΩ 0402 Resistor||RC0402FR-07340KL||YAEGO||NA|
|R16||5.5V 0603 Varistor||V5.5MLA0603LNR||Littlefuse||NA|
|C6||10uF 0603 Capacitor||EMK107BBJ106MA-T||TAIYO YUDEN||NA|
|F1||1.5A 0603 Fuse||ERB-RE1R50V||Panasonic||NA|
|RESET, GPIO0||2.5 × 3 × 1.2 mm SMD Switch||B3U-1000P||Omron Electronics||NA|
|BAT||2-Pos Micro JST Header||BM02B-SRSS-TB (LF)(SN)||JST Sales America||NA|
|U1||ESP8266 Module||ESP-12F||Ai-Thinker||PCB, Semiconductor|
|USB||SMD Micro USB Header||47346-0001||MOLEX||NA|
|ALERT||6 × 6 × 4.3 mm SMD Switch||LL3301NF065QG||E-Switch||NA|
|U2||USB to UART IC||CP2104-F03-GM||SILICON LABS||PCB, Semiconductor|
|L2||2.2uH SMD Inductor||VLS252015ET-2R2M||TDK||NA|
|D3, D1, D2||3A, 10V Schottkey Diode||BAT 60A E6327||Infineon||NA|
|Q4, Q5||Small Signal BJT||MMBT2222AWT3G||On Semiconductor||NA|
|U3||Battery Charging IC||MCP73811T-420I/OT||MICROCHIP||PCB, Semiconductor|
|Q2, Q1||7.5A, 20V N-Channel FET||BSL802SNH6327XTSA1||Infineon||NA|
|U5||Buck Converter IC||NCP1522BSNT1G||ON Semiconductor||PCB, Semiconductor|
|Q3||4.6/3.2A, 20V FET Pair||DMC2053UVT-7||Diodes Incorporated||NA|
|M1||90mA, 3V Pager Motor||28821||Parallax||NA|
8. Ease of build
Complete design files, both hardware and software, and documentation are made publicly available on Zenodo. In the simplest scenario, one can simply duplicate the proposed system. The most challenging aspect in this process would be the soldering of all the SMD components on the PCB board, because it requires prior experience and SMD soldering skills. Otherwise, everything is rather simple and straightforward to assemble and to program.
9. Operating software and peripherals
Special software is only needed at the time of programming of the microcontroller on the logic board. Specifically, the Arduno IDE is recommended to compile and program the microcontroller, but not strictly necessary. For the mobile application, Google’s Android Studio is required, which is available for download from Google. Please note that while we have developed the VabApp mobile application with Android Studio, the VabApp structure can be replicated in order to run with any other mobile operating system (OS). None of the two software tools that we used (Arduino IDE and Android Studio) need more disk space and memory than typical programs.
The entire design is made free and open source hardware and software. It does not have any dependencies and all code (firmware, application) was written from scratch. However, it does require coding frameworks such as Google’s Android Studio.
11. Hardware documentation and files location
The entire design is made publicly available using Open Hardware and Free Software licenses. The following Zenodo repository contains both hardware and software design files, plus licensing information. A copy of the same repository tree is also available on Github at https://github.com/eigenpi/Vibrating-Alert-Bracelet. Finally, additional information, including a project poster and a short video presentation is available at http://dejazzer.com/hardware.html
- Name of repository: Vibrating Alert Bracelet
- Persistent identifier:https://zenodo.org/record/3406788
- License: Firmware, testing scripts, mobile application, and server-side files: GNU AGPLv3 license; PCB hardware and enclosure design files: CERN OHL v1.2 license; Final report: Creative Commons CC-BY-SA, 4.0 license
- Publisher: Cristinel Ababei
- Date published: 08/15/19
We presented a completely open source design of a vibration alert bracelet (VAB), intended to be used by visual/hearing impaired people. We prototyped a complete system formed by two bracelets and controlled via the application. Both bracelets are enclosed in 3D printed cases that can be worn as wristwatches. The prototyped system worked as intended and the complete design files, both hardware and software, are made publicly available. Designed to be simple, to provide two-way communication, and to be cost-effective, the bracelet unit prototype has a form factor that is more suitable for its application than the existing commercial or hobbyist solutions.
13. Future Work
The proposed VAB design could be extended and improved in several ways. To address the issue of high energy consumption due to the currently used WiFi communication, the design could be extended by replacing the WiFi wireless technology with low energy Bluetooth (BT) technology. However, this solution would require the addition of a gateway (stationary and supplied with power from a power adapter) whose role would be to receive the BT signal and provide connectivity to the Internet. Essentially, this gateway would be a Bluetooth to WiFi converter. While such a system would guarantee longer battery lifetime for the VAB unit, it would increase the overall cost of the system, which would need to include the cost of the gateway as well. Another extension to the proposed VAB design could be the addition of a simple and low energy LCD display that would be able to display simple messages also transmitted from the central manager when alerts are sent. This feature would not necessarily be helpful to the vision impaired users but could be helpful to all other users – in that short messages with information describing the reason for the alert could be provided as well. To address the issue that when the user is outside the designated apartment (e.g., common rooms or similar) the precise location is unknown but needed if the user pressed the distress button of the VAB unit, a possible modification is the integration of a GPS. Yet another enhancement could be the pairing of the VAB unit to a smartphone. Because smartphones are so prevalent today, such pairing could unlock many possibilities. One example could be to direct the attention of the user to additional information provided on the smartphone in the form of text and video messages, like for instance reminders to take medicine periodically. Information security provisions and medical certification must be developed before the project can be deployed and used in real-world scenarios. Finally, it would be desirable to investigate materials and 3D printing techniques that could make the enclosure waterproof.
From a research perspective, one could envision the VAB unit as a platform to enable gait research. The unit can be equipped with an accelerometer sensor to collect user-specific gait data that could be used to implement alerts to prevent falls. The study of gait could involve many ideas developed with machine learning based techniques. Another research idea is to use WiFi signals to locate the user within a predefined space, such as an apartment or an entire building similarly to the study in . The design and security extensions described here are not within the scope of this paper and are left to future work.