Noise
dBThe single best predictor of whether you'll actually get work done.
- Ideal
- under 45 dB
- Sensor
- Electret mic + amplifier, calibrated against an SPL meter
HackMIT · Arduino + robot dog
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.
The gap
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.
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.
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.
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.
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
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.
The single best predictor of whether you'll actually get work done.
A perfect room with no chairs is not a room you can study in.
Above ~24 °C is the sleepy zone; below 19 °C you fidget instead of read.
Too dim strains your eyes, too bright is glare on the laptop screen.
Stuffy air is the reason a packed library feels exhausting after an hour.
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.
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
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.
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