Inspiration

Growing up, I never thought a missing pad could bring everything to a halt — until it happened to me. I was on campus, in urgent need of a pad, and every restroom tray I checked was empty. That moment of panic and helplessness stayed with me. I thought: why do we have smart systems for so many things, but not for something as essential as this? That experience became the spark for Pad4U — a real-time pad availability system that ensures no one ever has to go through that again.

What it does

Pad4U uses a sensor mounted inside a tray with pads to detect whether pads are present or not. This data is sent in real time to a web application where users can search for nearby buildings and instantly see which restrooms are stocked. On the admin side, facility staff can log in to a dedicated dashboard to monitor dispenser status, restock dispensers, and manage building entries — all in real time.

How we built it

We built Pad4U using the following stack:

  • Hardware: ESP32 microcontroller paired with an ultrasonic sensor to detect pad presence inside the dispenser
  • Backend: Firebase Realtime Database to store and sync dispenser and building data in real time
  • Frontend: HTML, CSS, and JavaScript to build a clean, mobile-friendly web application
  • Authentication: Firebase Authentication for secure admin login

The ESP32 reads the sensor data and pushes updates to Firebase, which the website listens to in real time — meaning the moment a dispenser runs out, the status updates instantly for all users.

Challenges we ran into

One of our biggest challenges was choosing the right sensor. We initially used an IR sensor, but discovered it has a bell curve feedback response that made it unreliable for the length of the trays we were working with — objects at certain distances would give inconsistent readings. We switched to an ultrasonic sensor, which measures distance by emitting sound waves, giving us far more reliable and consistent detection regardless of tray depth.

Making the website responsive across different screen sizes was another hurdle. Ensuring the layout worked well on both desktop and mobile required careful CSS work, but we overcame it through iteration and testing.

Accomplishments that we're proud of

We are proud of building a fully functional end-to-end prototype — from a physical sensor detecting real-world data, all the way to a live website displaying that data in real time. We are also proud of how much we learned through trial and error. We did not just learn what works — we learned why certain approaches fail, which is arguably more valuable.

What we learned

  • How to connect hardware (ESP32) to a cloud database (Firebase) and stream real-time data
  • The importance of sensor selection — different sensors behave very differently depending on the environment and use case
  • How to build and deploy a responsive web application from scratch
  • How to use Firebase Authentication to secure an admin portal
  • That the best solutions often come from personal pain points

What's next for Pad4U

The journey does not stop here. Next steps for Pad4U include:

  • GPS integration to help users find the nearest stocked restroom based on their real-time location
  • Automatic low-stock alerts via email to notify admins before the dispenser runs completely empty
  • Inventory estimation to track how many pads remain, not just whether the dispenser is empty or not
  • Expanding on campus — this problem was identified in our own university buildings, and we are eager to work with our engineering advisors and facilities management to implement Pad4U where the problem was first incurred by me ;)
Share this project:

Updates