Skip to content

ethantayl/SwampRise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚌 SwampRise Bus Alarm

More sleep. Less waiting. Never late.

A smart alarm clock that syncs with live bus tracking to wake you at the perfect moment [1].

Demo Video Devpost


📖 About

SwampRise is a hardware alarm clock designed for students and commuters who rely on public transportation. Born from the frustration of either waiting 20 minutes at bus stops or sprinting out the door only to miss the bus, SwampRise eliminates the guesswork from your morning commute [1].

The Problem

Buses don't run on your schedule—they're late, they're early, and the choice is always the same: wake up way too early just to be safe, or risk being late [1].

The Solution

SwampRise syncs with live GNV RTS bus tracking to wake you at the perfect time. Just set your bus stop, destination, and arrival time—the clock handles everything else [1]. It monitors real-time bus locations and automatically calculates when to wake you, maximizing sleep while ensuring you never miss your ride.


✨ Features

  • Smart Wake-Up: Automatically calculates optimal wake time based on live bus data
  • Real-Time Tracking: Monitors bus locations and arrival predictions continuously
  • Countdown Display: Shows next two buses with route number, bus ID, and time until arrival
  • Reminder Beeps: Alerts at 10, 5, and 2 minutes before bus arrival
  • Web Configuration: Easy-to-use web interface for setting preferences
  • All-Day Monitoring: Displays upcoming buses throughout the day in standby mode
  • Multi-Day Scheduling: Configure different settings for each day of the week

🛠️ Hardware Components

  • ESP32 Microcontroller - Main processor with WiFi capability
  • 16x2 LCD Display - Shows bus information and countdowns
  • 4x Seven-Segment Displays - Shows current time
  • RTC Module (DS3231) - Real-time clock for accurate timekeeping
  • Passive Buzzer - Alarm and reminder sounds
  • Push Button - Alarm silence control
  • Breadboard & Jumper Wires - Circuit connections

Hardware Schematic

Hardware Schematic


🚀 Getting Started

Prerequisites

  • ESP-IDF (v4.4 or later) - Installation Guide
  • Python 3.7+
  • Git
  • USB cable for ESP32 connection

Installation

  1. Clone the repository

    git clone https://github.com/YOUR_USERNAME/swamprise-bus-alarm.git
    cd swamprise-bus-alarm
  2. Set up ESP-IDF environment

    # For Linux/MacOS
    . $HOME/esp/esp-idf/export.sh
    
    # For Windows (Command Prompt)
    %userprofile%\esp\esp-idf\export.bat
  3. Configure WiFi credentials

    idf.py menuconfig

    Navigate to: SwampRise Configuration → Enter your WiFi SSID and password

  4. Build the project

    idf.py build
  5. Flash to ESP32

    # Connect ESP32 via USB, then:
    idf.py -p PORT flash

    Replace PORT with your serial port:

    • Linux/MacOS: /dev/ttyUSB0 or /dev/ttyACM0
    • Windows: COM3 or similar
  6. Monitor output (optional)

    idf.py -p PORT monitor

    Press Ctrl+] to exit monitor

First-Time Setup

  1. Find the device IP address - Check serial monitor output or your router's DHCP table
  2. Open web browser and navigate to: http://[ESP32_IP_ADDRESS]
  3. Configure your settings:
    • Select home bus stop
    • Select destination stop
    • Set latest arrival time
    • Set getting ready time (minutes needed to prepare)
    • Choose active days of the week
  4. Save settings - The alarm is now active!

📱 Usage

Morning Alarm Sequence

  1. Alarm sounds when it's time to wake up
  2. Press button to silence alarm
  3. LCD displays optimal bus and next alternative with countdown
  4. Reminder beeps at 10, 5, and 2 minutes before bus arrival
  5. Leave confidently knowing exactly when your bus arrives

Standby Mode

Throughout the day, the LCD displays the next two buses heading to your destination, sorted by arrival time. When a bus departs, the display automatically updates.


🏗️ Technical Details

Built with ESP-IDF and FreeRTOS [1]

SwampRise leverages both cores of the ESP32 to handle multiple tasks concurrently:

  • Core 0: RTC polling, display updates, alarm management
  • Core 1: API requests, web server, real-time data processing

Key Technologies

  • ESP-IDF - Low-level hardware control and WiFi networking [1]
  • FreeRTOS - Real-time task scheduling and synchronization [1]
  • C++ - Core application logic [1]
  • Reverse-engineered RiderTS API - Live transit data integration [1]

🎥 Demo

Video Demonstration

SwampRise Demo Video

Demo includes:

  • Web UI configuration walkthrough
  • Alarm sequence demonstration
  • Real-time countdown and reminders
  • Standby mode display

🏆 Hackathon Details

Track: The Design of Everyday Life (Human-Centered Design)

SwampRise addresses a real daily frustration for transit-dependent students, focusing on maximizing sleep and reducing stress through thoughtful automation and clear information design [1].

Devpost Project: DEVPOST_LINK_HERE


🔮 Future Development

  • Custom PCB design for a sleek, bedside alarm clock form factor [1]
  • 3D-printed enclosure for a polished, product-ready appearance [1]
  • Multi-city support - Expand beyond GNV RTS to other transit systems [1]
  • Weather integration - Adjust wake time if it's raining [1]
  • Smart home integration - Connect with home automation systems [1]

Built with ❤️ for students who value their sleep

⭐ Star this repo if SwampRise helped you catch your bus!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors