Garrett Barboza

Alex Klarfeld

Tim Passaro

Jiaqi Xing

Lurch is the butler you never had. Get more out of your day by having Lurch text you when trivial tasks are complete.

We spend a lot of time waiting around for dings and buzzers. Household appliances are stuck in the stone age, because 'smart appliances' are insanely expensive. We propose to bridge the gap between your old appliances and smart technology.

  • Raspberry Pi Board
  • Accelerometer, Temperatur Sensor, IR Sensor
  • Web front-end for user control.
  • SMS & Text Notifications
  • NodeJS web backend
  • 802.11
  • HTTP
  • SPI & I2C for sensors

Lurch shall be easy to configure via simple web interface and buttons. Lurch will also have many uses including but not limited to:

  • Washer/Dryer
  • Mailboxes
  • Microwaves
  • Toasters
  • Preheating Ovens
  • Heating up Cars

Lurch will also communicate over WiFi and SMS



  • 1: Hard-Reset and Boot

    • Why: Ensure that system boots, connects to WiFi, and starts running our code when powered on following a hard reset. This models the way consumers will use the device. User unplugs device, power sources will fail, etc.
    • How: The RaspberryPi has a watchdog feature that will reset the Raspberry Pi if it doesn't get a heartbeat. We can stop the heartbeat automatically after the board and software stack fully initialize.
  • 2: "Ding" Test

    • Why: Ensure that the sound sensor senses a loud noise reliably in a environment with ambient noise. This models the situations in which the device and sound sensor will be used. For example, waiting for a tea kettle to go off.
    • How: We will get a sound recording of a loud "ding" or a tea kettle, and have it played periodically through a set of speakers connected to a computer. We have our software record when the sound sensor is triggered and later check the logs against the times when the sound was played. We will also have a variety of sound files that have differing levels of ambient noise mixed in amongst the trigger sound. We will also be able to use this method to find the operating bounds of the sound sensor. That is, how much ambient noise is too much?
  • 3: Shake Test

    • Why: Ensure that the Lurch can accurately detect when the Washer/Dryer begins its cycle, and can accurately detect when the Washer/Dryer ends this cycle. The software will log the accelerometer data throughout this process in order to get a better visualization.
    • How: We will place the Lurch on a washer and a dryer when the machines are off, and then we will turn the Lurch on. We will start the machine in a regular cycle, and look for an LED to light on the Lurch, indicating that the Lurch has detected the cycle. When the machine finishes the cycle, we will look at the Lurch to make sure that the LED has now turned off.
  • 4: Impulse Test

    • Why: Ensure that the Lurch can detect the sudden jolt of a toaster when it is finished toasting your bread. The Lurch should be able to discern loading the toast into the toaster from the spring in the toaster releasing it.
    • How: We will place the Lurch on a toaster, and load bread into it. Once the toasting is completed, the lurch will light up an LED for 5 seconds, to indicate that it has finished toasting the bread. A log of the accelerometer data will be collected to more accurately measure when the toaster hits its peak threshold of acceleration.
  • 5: Slight Movement Test

    • Why: Ensure that the Lurch can accurately detect being moved when someone opens the lid that it is attached to. The message that mail is delivered will be sent if anyone moves the lid the lurch is attached to.
    • How: We will place the Lurch on the lid of a box and open and close the lid a variety of ways. When the Lurch detects that the lid is being lifted, an LED will turn on for 5 seconds.
  • 6: Ambient Temperature Test

    • Why: Ensure that the Lurch can accurately detect when the temperature in the room has changed at least 5 degrees.
    • How: We will place the lurch in an isolated environment with a fan to cool it, and a heater to heat it. Everytime the Lurch changes 5 degrees in either direction, it will alert us of the new temperature. A digital thermometer will be close by to ensure accuracy.

Use Case to Test Number Mappings

  • - Toaster Oven - Test #2
  • - Washer/Dryer - Test #3
  • - Toaster - Test #4
  • - Mailbox - Test #5
  • - Room Temperature - Test #6


Lurch will be graded on a variety of metrics, including:

  • - Response Time to event: If Lurch is too slow to respond to an appliance, it becomes ineffective.
  • - Accuracy of event detection: If Lurch only detects an event some of the time, it also loses a great deal of effectivity.
  • - Amount of False Negatives: If Lurch completely fails to notify the user of events, its rendered completely useless.
  • - Amount of False Positives: If Lurch sends too many false notifications, it could be deemed too much of a hassle to use.

Measuring Metrics

The response time of Lurch will be measured via a timer of when the task if finished, to when the user receives the notification. The rest of the inaccurate notifcation metrics will be simply tallied as they occur. Each metric will be tallied seperately.

Experimental Description & Automating Tests

Lurch will be tested directly on most of the appliances we choose to use them on. In order to automate tests, Lurch will be attached to various test setups that will simulate an appliance. These test rigs will be easier to control and interface with for testing compared to the actual appliances themselves. Tests will be reproducible by putting the Lurch on a different make and model of appliance, and testing will continue. In order to automate tests, a test suite will be written for Lurch. We will use a spare RaspberryPi to control the demo rig that is simulating the appliance. When the event associated with the appliance finishes, the demo rig will compare its own notification to the notification that the Lurch sends it. The time of each response will be recorded and compared.


One set of graphs we expect to see are plots of specific appliance activity over time. The graph will show us the points in which the event finishes, and the point in which Lurch decides to respond. The other set of graphs will show the accuracy of Lurch, depicting a number of test cases per use case, and the number of times the Lurch responded correctly in each case. This set of graphs will show the accuracy of Lurch at this time.

Natural Gas and Electricity are expensive these days. Don't you ever wonder whether or not you left your heating/cooling unit on after you left home? If you left the Lurch lying around your house, you can simply text it, and it'll tell you how hot or cold it currently is where it's lying. It can save you some serious money on your utility bill

Demo: When the Lurch is texted, it will text back the temperature in the gym.

FedEx and other delivery drivers are always making rounds from Drop box to Drop Box checking to see if any packages have been left while they were gone. With Lurch, there's no reason to be at the box to check. Simply attach Lurch to the drawer of the drop box. When a package has been placed in the box, Lurch will count. If you have multiple Lurches, simply text the Lurch network and it'll send you a list of all the Drop Boxes with packages, and their Geographic location. Lurch willSave time and money on gas!

Demo: A dropbox will be set up at our station with a Lurch attached on the inside. As packages are added, Lurch's accelerometer will trigger and keep a count. After a certain amount of packages are added, we will text the Lurch and it will text back how many packages it contains.

This use case is already defined above. We will not be able to demo it, but we will record a video with our live graph/data feed when the washer/dryer is running.

This use case is already defined above as well. We plan on bringing a toaster to show how Lurch can alert you when the toast is done.

Ever wonder if the mail personel ignore those huge labels marked "Fragile"? Ever wonder if baggage handlers at the airport throw your belongings with all their might even if there's a "Fragile" label on them as well? Simply stick the Lurch inside your package or luggage and it'll record when and where your parcel was being abused.

Demo: We'll get a piece of luggage with a Lurch inside, and it'll text us when it's being handled too roughly.

Equipping Lurch with a GPS and using its accelerometer data that is usually designated for kitchen appliances can now be applied to potholes around the Pittsburgh area. Simply shove the Lurch device in a cupholder and start driving. Every pothole that you hit whilst driving will cause Lurch to store the location and the severity of the pothole. Once you are within WiFi range, Lurch will automatically package and send this data to Allegheny county.

Demo: We shall display a map of all the large potholes in the Pittsburgh area.

Back to the top of this page
18-549 course home page