Skip to Content
Dan k
Smart Dispenser: Dispenses solutions based on the VOC
Explorations Dan Chen / September 28, 2017

In this experiment we are dispensing mouthwash, but you can dispense any solution that you like base off your sensor data. This is a close loop control system where the output is based on the sensor data.

In this example, bad breath can be measured via volatile sulfur sensor, however but we are using the TVOC sensor … it’s tracking all VOC compound but can not isolate bad breath compound, sulfur . This sensor will be sufficient for what we are doing. Imagine you can dispense water pairing with humidity sensor, this could give you the right amount of water based on how dry your mouth is … I am not totally sure the science behind this, it’s  just an example.


What you will need


  1. Adafruit CCS811 Air Quality Sensor Breakout – VOC and eCO2
  2. Sharp GP2Y0D810Z0F Digital Distance Sensor with Pololu Carrier – GP2Y0D810Z0F
  3. Adafruit Feather M0 Basic Proto – ATSAMD21 Cortex M0
    or any micro controller with M0 chip so it’s easier to port my code over
  4. Monochrome 128×32 I2C OLED graphic display
    or larger screen
  5. 4700uF 10v Electrolytic Capacitor
  6. 3D printed parts
    Download the STL file for 3D printing
  7. EWP-2502HT6V High Temperature(100°C) Mini DC6V Water Pump, Food Grade, Sous Vide, 15 GPH
  8. Learn To Brew LLC Food Grade Vinyl Tubing – 10 feet 5/16 ID – 7/16 OD
  9. NeoPixel Mini PCB – Pack of 5
  10. Airline Tubing
  11. Listerine Cool Mint Listerine Antiseptic Mouthwash






Software & Interaction Design

You can download the sketch here, make sure that you include all the right libraries.

Feel free to tweak the software, but in this sketch it work as follow.

Extra Credit

You can log your TVOC via wifi with this setup

Plotting Realtime WiFi Data with canvas.js


DAN K CHEN © 2022