Concept illustration; device appearance and radio connections are schematic.
Wearable motion monitoring. Local alarms. Mesh alerts beyond cellular coverage.
SeniorHealthNode is an experimental wearable for older adults, people with limited mobility, and people who live or work alone. It monitors movement for a possible fall, sounds a local alarm when a buzzer is fitted, and sends alerts to compatible MeshCore radios. Family members, caregivers, or other recipients can receive those messages without cellular service or an internet connection.
Get started · Alarm operation · Setup FAQ · Documentation
Important
This is a prototype. Fall-detection accuracy and emergency delivery have not been validated. Ordinary activity can trigger an alert, and falls can go undetected. It is not a validated medical device or guaranteed emergency service. An established emergency plan remains necessary.
| Capability | Experience |
|---|---|
| Local monitoring | Movement monitoring and alarm handling continue when the phone is disconnected. |
| Mesh alerts | Compatible radios receive group-channel messages over the available radio path. Repeaters can extend coverage. |
| Wearer responses | After an alarm, PRG button gestures request assistance, confirm a fall, or report a false alarm. |
| Automatic escalation | An unanswered alarm sends a warning after 30 seconds; qualifying quiet during the final 10 seconds selects a stronger no-movement warning. |
| Public or private channels | The fall-message destination can be changed over USB or a compatible BLE client's local CLI. |
| Optional sound | An external passive buzzer provides repeating SOS and low-battery reminders; monitoring and messages also operate without it. |
| MeshCore companion | One node provides phone messaging, configuration, and local fall monitoring together. |
Wearer + firmly attached motion sensor
|
v
SeniorHealthNode <---- BLE ----> phone client
| |
| +---- radio mesh ----> receiving companion ----> recipient
v
local SOS alarm
(optional buzzer)
The device is worn firmly on the torso or chest so the sensor moves with the person. A nearby, unworn node cannot measure the person's body movement. A phone provides a compatible MeshCore interface for ordinary messaging and setup; it is not required for local monitoring.
Recipients need compatible listening radios with matching radio settings and the
selected channel key. The default alert channel is public #falldetect; private
channels require a shared key configured on every participating node. All fall
notifications are group-channel texts. Radio coverage, power, configuration, and
recipient availability determine whether an alert can reach someone. A recorded
repeater echo does not confirm that a person received or read it.
The node sends an initial possible-fall alert and starts repeating SOS when a buzzer is connected and enabled. PRG becomes the alarm-response button.
Illustrated assistance path, with presentation timing only; physical delivery is not demonstrated. View the static sequence or read the complete response rules.
| Situation | Wearer action and result |
|---|---|
| Assistance needed | Three short PRG presses within three seconds stop SOS and send an assistance message with GPS or configured fallback location. After automatic escalation, the same gesture sends fall confirmation. |
| False alarm | Complete two PRG presses within one second, then wait until the three-second window from the first press closes. SOS stops and a false-alarm message with location is queued. A valid third press takes priority as assistance/fall confirmation. |
| No accepted response | At 30 seconds, an automatic warning is queued. SOS continues, and later assistance or false-alarm responses remain available. |
A third press that starts but is held too long or released late cancels the pending false-alarm gesture and leaves SOS active. An accepted false-alarm response cancels that incident's queued automatic warnings and initial-alert retries; messages already transmitted cannot be recalled. Retries may produce duplicates. See alarm operation for complete timings, message examples, battery reminders, and reboot behavior.
Idle PRG presses do not request help. The current version has no independent panic button, general inactivity alert, caregiver dashboard or event history, or automatic call to emergency services.
The current configuration uses a Heltec V4.3 OLED, a GY-521/MPU6050 motion sensor, suitable power, and compatible receiving MeshCore equipment. A DIYables passive buzzer module is optional. A USB-connected computer is used for building, flashing, and diagnostics.
- Follow the assembly and setup guide for sensor, optional buzzer, power connections, and receiver preparation.
- Install the single combined firmware using the build and upload guide.
- Pair a phone with a compatible MeshCore client and configure matching radio settings and the fall-message channel.
- Check sensor readings, response gestures, sound and silence where fitted, and actual reception at the intended location using the setup checks and USB debugging guide.
The default BLE PIN is 12345 (012345 in a six-digit pairing dialog). A saved
custom PIN takes precedence. Stationary gyroscope calibration
is available as a maintenance procedure; detection pauses during collection.
| Task | Guide |
|---|---|
| Assemble and configure the device | Initial setup |
| Understand alarms, button responses and battery reminders | Operation |
| Resolve setup questions | SeniorHealthNode FAQ |
| Inspect readings and troubleshoot USB connections | Windows/Linux serial debugging |
| Configure channels and local settings | Command guide, USB configuration and statistics |
| Calibrate the stationary gyroscope | Calibration procedure |
| Check wiring and component specifications | Pin reference, sensor and buzzer guide, buzzer module, MPU6050/GY-521, Heltec V4 |
| Examine detection rules, tuning and research | Detector and research |
| Understand message retries and delivery evidence | Response and delivery |
| Inspect source organization and scheduling | Firmware architecture, timing |
| Build and evaluate the software | Build and validation, virtual fault testing |
| Integrate a client | Companion protocol |
Software checks exercise program behavior. They do not establish physical sensor timing, sound output, simultaneous phone/BLE operation, RF coverage, recipient reception, or detection accuracy on people. The validation guide defines those evidence boundaries.
SeniorHealthNode is based on MeshCore 1.17.0. Its only firmware target,
heltec_v4_companion_radio_ble, combines BLE companion services and local health
monitoring in one image on the same node.
The upstream MeshCore project and MeshCore documentation describe the wider ecosystem. This repository retains the MIT license. Contribution and vulnerability-reporting procedures are in CONTRIBUTING.md and SECURITY.md.

