Smellamatic
An open-source, ESP32-based DIY hardware device that estimates a playful 0–100 Stink Score using a multi-gas sensor array, active sampling, and an OLED display.
Summary
Smellamatic is a playful, open-source hardware experiment that packages real electronics, sensors, and code into a friendly box designed to score the funkiness of the air around it. Built using an ESP32 and housed in a custom 3D-printed enclosure, the device estimates a relative Stink Score from 0 to 100 on a small OLED display.
Open-Source DIY Hardware
The project is fully open-source, offering free CAD files, wiring schematics, and Arduino-flavored C++ firmware. It lists off-the-shelf maker components to keep assembly accessible:
- Seeed XIAO ESP32C3: A compact microcontroller handling sensor logic and Wi-Fi capability.
- BME688: An environmental sensor tracking relative humidity, temperature, barometric pressure, and VOCs.
- MQ-136 & MQ-137: Analog gas sensors optimized for detecting hydrogen sulfide (sulfur funk) and ammonia/amines.
- Active Airflow: A switched 5V fan ensuring continuous air sampling rather than passive buildup inside the casing.
Playful Stink Scoring
Instead of complex PPM formulas, Smellamatic runs sensor values through a custom algorithm to output a 0–100 score aligned to five distinct levels:
- 0–10 (Fresh): Clean, fresh air.
- 11–25 (Slight Funk): Noticeable change in air quality.
- 26–45 (Noticeable): Time to open a window.
- 46–70 (Bad): Serious odors detected.
- 71–100 (Criminal): Evacuate and apologize.
Problem Solved
Traditional air quality or environmental sensors are overly dry, clinical, and expensive. Smellamatic aims to make learning basic electronics, sensor integration, and 3D CAD fabrication engaging and accessible by packaging gas telemetry into a humorous, self-built stink scoring toy.
Key Features
- Seeed XIAO ESP32C3 microcontroller serving as the main CPU brain
- Multi-gas sensor array incorporating BME688, MQ-136, and MQ-137 sensors
- Active ventilation airflow sampling using a 5V fan switched via N-MOSFET
- Playful 0–100 Stink Score algorithm with 5 distinct levels (Fresh to Criminal)
- Fully open-source STEP and STL CAD files for 3D-printable enclosures
- Next.js-powered documentation storefront featuring a retro paper-grain grid design
Architecture Notes
What I Learned
- →Active ventilation is vital. Without a fan pulling fresh air through the enclosure, gas values remain trapped inside, causing sluggish recovery times and false readings.
- →Analog electrochemical sensors require substantial warmup time. The internal heaters must stabilize before voltage readings become reliable.
- →Humorous packaging lowers technical barriers. Presenting sensors and microcontrollers as a 'stink score machine' sparks interest and organic sharing in maker communities.
Future Improvements
- +Wi-Fi enabled logging companion app to chart stink score history
- +Support for battery-powered operation with ultra-low-power sleep cycles
- +Home Assistant integration to trigger home ventilation systems dynamically