Skip to content

Dav1dyang/Programmable-Mist-Maker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programmable Mist Maker V1

Created by shuang cai & David Yang

Mist Maker PCB

This Open Source Hardware Certified ultrasonic mist maker project transforms recycled containers and a custom PCB into a small-form-factor mist device. It is a fully documented, low-cost circuit with accessible explanations of misting mechanics, design challenges, and power needs.

Full Documentation on Notion

Full Documentation on Hackster.io

Overview

PCB Board Design

This project explain ultrasonic mist maker designs and provides:

  • A tested, open-source reference circuit
  • Lessons learned through prototyping and debugging
  • A replicable and modifiable electronics system

Most mist circuits online lack documentation—this guide fills that gap with working examples and full KiCad/Arduino files.

How It Works

PCB Board Progess

Mist generation involves:

  • Ultrasonic Vibration: A piezo disc (108.7 kHz) oscillates rapidly to turn water into mist.
  • Voltage Boosting: A 3-legged inductor (auto-transformer) amplifies 5V input to approximately 30–40 Vpp.
  • PWM Switching: An ESP32-C6 sends a 108.7 kHz PWM signal to a MOSFET.
  • Power Supply: TPS61023 provides stable 5V from LiPo or USB input.

More details: Notion Documentation

Key Components

PCB Board Components

Component Function
Piezo Disc (108.7 kHz) Vibrates water to generate mist
Tapped Inductor (3-legged) Boosts voltage through LC resonance
AO3400A MOSFET Switches circuit at high frequency
TPS61023 Boost Converter Powers piezo from battery or USB
MCP73831 LiPo charging and protection
Seeed Studio XIAO ESP32-C6 Controls mist and PWM

Circuit Operation

  1. Boost 3.3V/USB to 5V
  2. ESP32 outputs PWM (108.7 kHz)
  3. MOSFET switches inductor-piezo loop
  4. LC resonance boosts voltage
  5. Piezo emits mist

Known Issues & Fixes

Issue Fix
Mist fails on battery Bypass Xiao's 3.3V regulator with external boost converter
Uploading code fails Add pull-down to MOSFET gate; disable boost during upload
Startup delay Disable OTA; add delay before activating mist

Assembly Instructions

Materials:

  • PCB (v1.4)
  • Piezo disc
  • 3-legged inductor
  • Xiao ESP32-C6
  • Soldering tools
  • Battery or USB-C cable
  • Recycled container
  • Cotton Sticks

Steps:

  1. Solder all components
  2. Connect piezo and inductor
  3. Attach battery or USB
  4. Upload firmware via Arduino
  5. Seal in container (keep electronics dry)
  6. Power on and activate mist

Programming Notes

Important Note on Power Sequence and Serial Connectivity

When connecting the board for development or testing:

  • Always connect the USB cable first before applying battery power
  • If battery power is connected before USB, the serial port will not be detected in the Arduino IDE
  • The proper sequence is: connect USB → establish serial connection → apply battery power (if needed)
  • Once the USB connection is established, battery power can be applied without disrupting the serial connection
  • When operating in standalone mode without a computer, either power source can be used independently

Code & Firmware

This repository includes example sketches using the MistMaker library.

💡 Note: You must install the MistMaker library for these examples to compile and run properly.

Library Example Code

  • SimpleControl.ino
    A basic test sketch that uses a button to toggle the mist maker on and off.

    Features:

    • 108.7kHz PWM output for the mist maker
    • Button toggle for mist on/off
    • Serial output with status information
  • Blink.ino
    A blink-style sketch that turns the mist maker on and off at a fixed 2-second interval.

    Features:

    • 108.7kHz PWM output for the mist maker
    • Automatic on/off blinking every 2 seconds
    • Serial output with status information

NON-Library Example Code

💡 Note: You don't need the library to run the code below.

The example sketch provides:

  • 108.7kHz PWM output for the mist maker
  • Button toggle for mist on/off
  • Serial output with status information

Use and Care

Warning

Because the device uses a water reservoir and cotton sticks to introduce water into the electronic systems, careless operation may lead to bacterial growth or contamination over time.

Please make sure to use distilled or clean tap water in the reservoir, fully clean the container every day, and clean the cotton sticks fully and let dried between each use.

Files & Downloads

References

  • TPS61023 Datasheet – Texas Instruments
  • MCP73831 Datasheet – Microchip
  • GreatScott! Ultrasonic Mist Explanation (YouTube)
  • BigCliveDotCom Mist Maker Teardown (YouTube)

Full reference list in: Notion Documentation

Documentation Notes

This README and technical documentation were written with the support of ChatGPT (GPT-4o) to:

  • Summarize logs and prototyping notes
  • Clarify complex circuit behavior
  • Reformat documentation for accessibility

All technical data was reviewed and validated against physical test results and datasheets.

License & Attribution

Open-source under MIT License. Designed and tested by David Yang and shuang cai

Inspired by community reverse-engineering, YouTube teardowns, and a desire to share back with the open hardware world.

About

An open-source, low-cost ultrasonic mist maker designed to share commercial humidifier circuits and empower creators with accessible, well-documented hardware.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages