Giter Site home page Giter Site logo

tinypaws's Introduction

TinyPaws - TinyML Dog Bark Detection Project

Overview

TinyPaws is a TinyML (Tiny Machine Learning) project developed for the "Advanced Topics In Signal & Image Processing" course at the University of Washington's graduate computing department. The project focuses on real-time dog bark detection using an Arduino microcontroller. Once a bark is detected, TinyPaws emits a sound, shines a light, and sends a push notification to the user's device, providing an alert for potential intruders or disturbances.

Demo

BarkNet_demo_test2_trimmed_withBlur_withAudio.mp4

Features

  • Real-time dog bark detection using TinyML on an Arduino.
  • Audio feedback: emits a sound upon detecting a bark.
  • Visual feedback: shines a light upon detecting a bark.
  • Notification system: sends a push notification to the user's device.

Technologies Used

  • Arduino: Used as the microcontroller platform for running the TinyML model and controlling the hardware components. The Arduino Nano 33 BLE Sense Lite was used for this project.
  • TensorFlow Lite for Microcontrollers: Used for deploying the machine learning model on the Arduino.
  • Arduino IDE: Integrated Development Environment for writing and uploading code to the Arduino board.
  • Python: Used for preprocessing audio data and training the machine learning model.
  • Push Notification Service: Utilized for sending notifications to the user's device.

Installation

  1. Clone the TinyPaws repository to your local machine.

git clone https://github.com/ZacharyDavidSaunders/TinyPaws

  1. Install the necessary Arduino libraries.
  2. Upload the Arduino sketch to your Arduino board. Specifically, go to TinyPaws/BarkNet_inferencing/examples/nano_ble33_sense/nano_ble33_sense_microphone_continuous/nano_ble33_sense_microphone_continuous.ino and upload to the Arduino.
  3. Set up the necessary dependencies for the push notification service.
  4. Run the Python scripts for preprocessing audio data and training the model.
  5. Create a pushover account, download the mobile app, and add your information to ComputerBluetooth.py

Usage

  1. Power on the Arduino board.
  2. Issue the 'detect' command on the serial monitor to start bark detection.
  3. Choose one of the available detection modes: p, l, or b.
  4. Play a dog bark sound or simulate a bark. Once a dog bark is detected, TinyPaws will emit a sound, shine a light, and send a push notification to the user's device.
  5. Monitor the push notification on your device for alerts about potential disturbances.

Contributors

  • Bassam Halabiya
  • Daniel Mohaghegh
  • Pinxuan Lu
  • Zachary Saunders

Acknowledgements

Special thanks to Professor Dinuka Sahabandu for supervising this project and providing valuable insights and guidance throughout its development.

tinypaws's People

Contributors

bassamhalabiya avatar zacharydavidsaunders avatar

Stargazers

 avatar

Watchers

 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.