Code Monkey home page Code Monkey logo

wrist-alert's Introduction

WristAlert: Emergency Caregiver Bracelet

by Deniz Ulusel, for COMP_ENG 495: Wearable and Mobile Computing at Northwestern University.

Summary

The toll taken by having to be vigilant at nighttime on home caregivers is a well researched issue [1] [2] [3]. Reported problems include sleep disorders and symptoms of clinical depression. WristAlert aims to ease the pressure on home caregivers by working with Bluetooth enabled medical continuous measurement devices such as pulse oximeters, blood pressure monitors or continuous glucose monitors. The vitals sent to WristAlert by the medical device are checked to ensure they are in a predefined "normal" range. If they are out of this range, WristAlert wakes the home caregiver up by vibrating. As a result, caregivers can sleep soundly knowing that they will be woken up in case of an emergency.

Diagrams

yargi_breadboard Breadboard diagram of the device

WristAlert's interaction with medical devices

Components Used

Component Name Count
Raspberry Pi Pico 1
HC06 Bluetooth Module 1
SSD1306 OLED screen 1
Vibrating Mini Motor Disc 2
Pushbutton 1
Mini breadboard 1
Jumper cables see breadboard diagram above
Sweatband 1

Implementation

  • A Raspberry Pi Pico sits at the center of the device, connected to other components via GPIOs and UART. MicroPython firmware was installed on the Pico following the steps here. It runs a simple program (entry.py) to receive data from the HC06 Bluetooth adapter, check the received data, print it on the SSD1306 screen and activate the vibrating discs if necessary.
  • The HC06 bluetooth adapter is connected to the Raspberry Pi Pico by UART. It forwards received values to the Pico for processing.
  • The SSD1306 screen is driven by the Pico using a library provided by Micropython (ssd1306.py - original). This file was also uploaded to this repository for archival purposes (ssd1306.py - copy).
  • The vibrating motors and pushbuttons are connected to the Pico via GPIO ports.
  • The circuit rests on two mini breadboards attached to a sweatband.

Pictures

wrist1 WristAlert worn by a user (me!)

bb1 A view of the first breadboard.

bb2 A view of the second breadboard.

Lessons Learned

  • Do NOT flash custom programs on your brand new ESP-01 if you are unsure about using the AT firmware! Once a sketch is flashed on the board, the AT firmware that was installed and tested by the manufacturer is lost forever. Restoring this firmware is difficult because there are many different manufacturers of ESP-01 and a ton of different AT firmware in the wild. Nobody can tell you which exact firmware will work well on the board in your hands. I intended to use WiFi for communication in this prototype but fell back to Bluetooth after hours of unfruitful efforts to restore the firmware on my ESP-01.
  • Do NOT put infinitely looping MicroPython programs in the file main.py on your Raspberry Pi Pico! The Pico will start running this program automatically on boot and will not respond to stop commands sent via the USB port. I was caught in this pitfall couple of times and had to reinstall the MicroPython firmware. Here is a discussion of this problem if you are curious.
  • Do plan/sketch breadboard layouts before you start plugging the jumper wires in! I had to change many GPIOs I was using on the Pico while switching to the mini breadboards because the Pico isn't small enough to fit all of its IO on a mini breadboard.

wrist-alert's People

Contributors

deterjan avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.