Stud-Bud
Live rooms

HackMIT · Arduino + robot dog

Stop walking to full,
loud, freezing rooms.

Stud-Bud reads a room the way you would if you could be in five places at once — how loud it is, how full it is, whether the air and light are bearable — and turns that into one number you can act on before you pack your bag.

See which room wins right nowBuild the sensor nodeDrag across the grid, or click it — it sweeps like the dog does. On bad WiFi, hit Low-WiFi mode and it all holds still.

The gap

The problem is information, not space

Campuses have plenty of seats. What they don't have is any way to know, from where you're standing, which of those seats is quiet and free right now. So everyone guesses, walks ten minutes, finds a full room, and guesses again.

Occupancy dashboards that only count badge swipes miss the half of the problem you actually feel: the group project shouting two tables over, the radiator, the glare. Stud-Bud measures the room, not the door.

  1. 01

    Sense

    An Arduino in each room samples temperature, humidity, light and a one-second noise envelope every minute. The robot dog patrols and counts people the static node can't see.

  2. 02

    Send

    Each sweep is one authenticated JSON POST to /api/readings. Anything that can make an HTTP request — a second dog, a phone, a laptop script — can feed the same endpoint.

  3. 03

    Score

    Every metric is scored 0–100 against a comfort band, then combined with your weights. Each number comes back with the plain-English reason behind it, never just a verdict.

  4. 04

    Decide

    Rooms rank live as readings land. Stale rooms stop being scored instead of quietly lying to you, and the 24-hour history tells you the quietest hour to come back.

Signals

What gets measured, and why it earns its place

Five signals, each scored 0–100 against the range people actually work well in. Nothing is a black box: every card on the dashboard shows the reading, the score and the sentence explaining it.

Noise

dB

The single best predictor of whether you'll actually get work done.

Ideal
under 45 dB
Sensor
Electret mic + amplifier, calibrated against an SPL meter

Free seats

seats

A perfect room with no chairs is not a room you can study in.

Ideal
a quarter of the room still open
Sensor
Doorway counter, per-table sensors, or the dog's camera

Temperature

°C

Above ~24 °C is the sleepy zone; below 19 °C you fidget instead of read.

Ideal
19–23.5 °C
Sensor
DHT22

Light

lux

Too dim strains your eyes, too bright is glare on the laptop screen.

Ideal
300–800 lux
Sensor
Modulino Light

Humidity

% RH

Stuffy air is the reason a packed library feels exhausting after an hour.

Ideal
30–55 %
Sensor
DHT22

“Good room” is personal

Someone writing a problem set wants silence; someone killing forty minutes between classes just wants a chair. The Personalized sort on the dashboard re-weights every metric to what you say matters, recomputes each room's score, and re-ranks them. Your weights stay in your browser — no account, no tracking.

Honest about staleness

Sensor projects fail by looking confident with old data. If a room hasn't reported in 45 minutes Stud-Bud hides its score, marks it stale, shows when it was last seen, and drops it out of the recommendation. An unknown room is better than a wrong one.

Contract

Anything can be a sensor

The whole hardware contract is one POST. Seat fields are optional — leave them out and the last count the dog measured is kept — so an environment node and a people counter can report at completely different rates.

POST /api/readings
{
  "spaceId": "hayden-reading-room",
  "temperature": 21.4,
  "humidity": 42,
  "sound": 34,
  "light": 520,
  "occupiedSeats": 28,
  "totalSeats": 60
}

Wiring, parts and calibration steps live in the hardware guide.

Find somewhere to study

Live scores for every room the sensors reach, updated the instant a sweep lands. IHTFP is optional; a quiet room helps.

Open the live dashboard