Skip to content

owochel/MistMaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MistMaker

MistMaker is an Arduino library for controlling piezoelectric mist maker modules using PWM, current sensing, and optional button toggling. It was developed for the custom PCB released during the Open Hardware Summit 2025 workshop session.

This project is Open Source Hardware Certified under OSHWA ID US002742, enabling educators, artists, and developers to explore the creative potential of mist as a material and medium.


🌱 Features

  • 108.7kHz PWM control for mist actuation
  • Current sensing via analog input
  • Toggle control using a button
  • LED status indicator
  • Designed for ESP32-based boards (tested on Seeed Studio XIAO ESP32-C6)
  • Modular and reusable class-based structure
  • Optional DMX-512 reception example (ESP32 + RS485 transceiver)
  • Optional ESP‑NOW Wi‑Fi control example (wireless 0–255 level)

🧰 Hardware Requirements

  • Seeed Studio XIAO ESP32-C6 (or compatible ESP32 board)
  • Certified Mist Maker PCB from OHS 2025
  • Piezo mist module
  • Optional: Button (for manual toggle) and LED (for status)

Board Compatibility

This library is designed for ESP32-based boards and relies on ESP32's LEDC PWM API for high-frequency mist control. It has been tested with:

  • Seeed Studio XIAO ESP32-C6
  • ESP32 DevKit V1
  • ESP32-S3

❗ This library does not support AVR-based boards like Arduino Uno or Mega out of the box.

If you are using a different board and wish to adapt the library, you may need to:

  • In the libary code, replace ledcWrite() and ledcAttach() with generic analogWrite() or board-specific PWM functions
  • Adjust analog read scaling (12-bit vs 10-bit ADC)

Notes on DMX and Wi‑Fi examples

  • DMX example depends on an external DMX library (e.g. ESP32DMX). Install from Library Manager and wire an RS485 transceiver (MAX485). The first DMX channel maps to mist power (0–255).
  • ESP‑NOW example puts the device in station mode and listens for a one‑byte payload { level } to set power wirelessly.

📦 Installation

🔗 Option 1: Install via Arduino IDE using GitHub URL

  1. In Arduino IDE, go to:
    Sketch > Include Library > Add .ZIP Library...

  2. Paste this URL into your browser and download the ZIP file:
    Download Library ZIP

  3. Select the downloaded ZIP file in Arduino IDE.

  4. You're done! Now you can access example code via:
    File > Examples > MistMaker > SimpleControl File > Examples > MistMaker > Blink File > Examples > MistMaker > DMX_Receiver File > Examples > MistMaker > ESPNow_Control


💻 Option 2: Clone or Copy into Libraries Folder (Advanced)

Clone this subfolder manually and place it inside your Arduino libraries directory:

git clone https://github.com/owochel/MistMaker.git
cp -r MistMaker ~/Documents/Arduino/libraries/

Note: Your library location may be different. Look at Arduino Support Article here to see how you can locate your Libary folder.

🔐 License

• Hardware: CERN-OHL-P v2 • Code: MIT License

🔖 Open Source Hardware Certification

Certified by OSHWA Certification ID: US002742

Documentation Notes

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

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

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

✍️ Authors

Created by David Yang and shuang cai Released at the Open Hardware Summit 2025

About

The Arduino library for the open-source ultrasonic mist maker designed to share commercial humidifier circuits under OSHWA ID US002742.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages