ECE497 Project - DIY Emergency Button

Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder

Team members: Yuchen Wang

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

00 Executive Summary
00 Installation Instructions 
00 User Instructions
00 Highlights
00 Theory of Operation
00 Work Breakdown
00 Future Work
00 Conclusions
00 Demo
00 Late
Comments: I'm looking forward to seeing this.

Score:  10/100

(Inline Comment)

Executive Summary

This project is to design and build a remote and portable pushbutton which could send out emergency text or call once it is pressed. The main idea is to use Twilio API on the BeagleBone Blue to implement those functionalities.

For now, the functionalities implemented are sending out texts and calls. Once the upper button of the bluetooth shutter is pressed, Twilio will call a pre-set number. Once the lower button is pressed, that number will receive an emergency text "This is Yuchen. Emergency situation! Need help!"

The audio content of the call cannot be changed due to the access deny of Github.

This DIY emergency button is currently ready for demo.


Powered BeableBone Blue and a bluetooth shutter available on Amazon.

Installation Instructions

Give step by step instructions on how to install your project.

  • Include your github path as a link like this to the read-only git site: yuchnw.
  • Be sure your is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
  • Include a Makefile for your code.
  • Run:
      sudo apt-get install bluetooth
      sudo apt-get install blueZ
      sudo apt-get install pip
      sudo pip install twilio
  • Include kernel mods.
  • If there is extra hardware needed, include links to where it can be obtained.

User Instructions

Once everything is installed, run:

    sudo python


Here is the Video Demo of this project.

Theory of Operation

Just using python and bash script.

Work Breakdown

This is a solo project.

Future Work

Fix the audio content issue. Currently it cannot access any online audio XML link except for the TwilioDemo itself.


This project is simple but contains some new topics. I have never used Bluetooth package for python before, and now I know that I should import BlueZ in my code. The bone treats the button press actions of the shutter as events, which makes it possible to just check the event code and type in python code as detecting the button press.

I also have faced some bottlenecks during this project. For example, I cannot find a way to directly connect the bone to the shutter using Bluetooth in the python code. To solve this problem, I add a bash script in the project directory which runs a series of [bluetoothctl] commands. Thus, I can make them connect to each other once I run the python file.

This project provides me an opportunity of exploring new knowledge in Embedded Linux. Since it's a solo project, I felt more challenged than usual.

thumb‎ Embedded Linux Class by Mark A. Yoder