Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. My Project
  3. Ultrasonic essential Oil diffuser

Ultrasonic essential Oil diffuser

Scheduled Pinned Locked Moved My Project
11 Posts 7 Posters 9.8k Views 11 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • fifipil909F Offline
    fifipil909F Offline
    fifipil909
    wrote on last edited by fifipil909
    #1

    Hi,

    my wife like to use essential oil in the house, but basic humidifier use a lot of water and increase the ambiant humidity in the room.
    I notice also that the smell of the oil is not really intense.

    So the idea, modify a cheap ultrasonic humidifier and create an oil diffuser without dealing with water.

    The start, a cheap Donut humidifier 6$ on ebay.

    http://www.ebay.com/itm/Donut-Shaped-Ultrasonic-USB-Humidifier-Air-Essential-Oil-Purifier-Aroma-Diffuser-/301652283655?hash=item463be09107:g:vrwAAOSwBahVbrHo

    then, I decide to build a wood enclosure with a removable top for easy oil bottle changing and put everything together.

    0_1456867650174_20160301_220334.jpg

    The top is maintain by 2 small magnet, and the ceramic caps just touch the top of the Bottle wick.

    0_1456867796260_20160301_220513.jpg

    0_1456867820284_20160301_220905.jpg

    0_1456867846543_20160301_220937.jpg

    Regarding the Sketch, Its like a dimmer, V_status for the On/Off state, V_percentage for the frequency.

    /**
     * The MySensors Arduino library handles the wireless radio link and protocol
     * between your home built sensors/actuators and HA controller of choice.
     * The sensors forms a self healing radio network with optional repeaters. Each
     * repeater and gateway builds a routing tables in EEPROM which keeps track of the
     * network topology allowing messages to be routed to nodes.
     *
     * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
     * Copyright (C) 2013-2015 Sensnology AB
     * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
     *
     * Documentation: http://www.mysensors.org
     * Support Forum: http://forum.mysensors.org
     *
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU General Public License
     * version 2 as published by the Free Software Foundation.
     *
     */
    
    //#################
    // INCLUDE
    //#################
    #include <SPI.h>
    #include <MySensor.h>
    #include <Time.h>
    
    //#################
    // OPTION
    //#################
    
    #define DEBUG
    #define MIN_DELAY  10   
    #define MAX_DELAY  90 
    bool  Diffuser_status;
    uint8_t   Diffuser_Freq;
    
    int delaytowait;
    unsigned long lastUpdate;
    int nbseconds = 0;
    
    //#################
    // CHILD ID
    //#################
    #define CHILD_ID_DIFFUSER 0
    
    
    //#################
    // PIN DEF
    //#################
    #define DIFFUSER_PIN A3
    
    
    //#################
    // VAR
    //#################
    MySensor gw;
    
    //#################
    // Messsage Settings
    //#################
    MyMessage IntensityMsg(CHILD_ID_DIFFUSER, V_PERCENTAGE);
    MyMessage StatusMsg(CHILD_ID_DIFFUSER, V_STATUS);
    
    void setup()
    {
      gw.begin(incomingMessage, AUTO, false);
      pinMode(DIFFUSER_PIN, OUTPUT);
      digitalWrite(DIFFUSER_PIN, HIGH);
    
      //#################
      // Info
      //#################
      gw.sendSketchInfo("Difuser", "1.0");
    
    
      //#################
      // Send Presentation
      //#################
    
      gw.present( CHILD_ID_DIFFUSER, S_DIMMER );
    
      Diffuser_status = gw.loadState(5);
      Diffuser_Freq = gw.loadState(8);
      gw.send(StatusMsg.set(Diffuser_status ? true : false), true);
      gw.wait(200);
      gw.send(IntensityMsg.set(Diffuser_Freq),true);
    }
    
    void loop()
    {
      unsigned long now = millis();
    
      gw.process();
    
      if (now - lastUpdate > 1000) {
        nbseconds++;
        lastUpdate = now;
      }
    
      float delaytowaittmp = ((MAX_DELAY - MIN_DELAY) / 100.0) * Diffuser_Freq;
      int delaytowait = delaytowaittmp;
    
      if ((Diffuser_status == true) && (nbseconds > delaytowait)) {
       
        digitalWrite(DIFFUSER_PIN, LOW);
        delay(100);
        digitalWrite(DIFFUSER_PIN, HIGH);
        delay(100);
        digitalWrite(DIFFUSER_PIN, LOW);
        delay(100);
        digitalWrite(DIFFUSER_PIN, HIGH);
        delay(100);
        nbseconds = 0;
      }else if(nbseconds > delaytowait)
      {
        nbseconds = 0;
      }
    
    }
    
    void incomingMessage(const MyMessage &message) {
    
      if (message.type == V_STATUS || message.type == V_PERCENTAGE) {
    
        int req_status = -1;
        int req_percentage = -1;
    
        if (message.type == V_STATUS)
        {
          req_status = message.getBool();
          Diffuser_status = req_status;
          gw.saveState(5, Diffuser_status);
        }
    
        if (message.type == V_PERCENTAGE)
        {
          req_percentage = message.getByte();
          Diffuser_Freq = req_percentage;
          gw.saveState(8, Diffuser_Freq);
        }
    
      }
    }
    
    
    
    
    

    Now, you can have good smell in every room for some dollars when you arrived from work, when you start cooking, when going to sleep or entering in your Bat Cave !

    1 Reply Last reply
    7
    • H Offline
      H Offline
      hek
      Admin
      wrote on last edited by
      #2

      Wow, I didn't see that actuator coming. :)

      1 Reply Last reply
      0
      • M Offline
        M Offline
        MikeF
        wrote on last edited by
        #3

        ...think we need a new sensor type: V_ESSENTIAL_OIL_DIFFUSER :laughing:

        1 Reply Last reply
        0
        • greglG Offline
          greglG Offline
          gregl
          Hero Member
          wrote on last edited by
          #4

          @fifipil909 That's outstanding work!

          I never knew these ultrasonic essential oil diffusers existed.

          for version 2 you need to add a sensor for when the oil is depleted!

          What sort of current does the ultrasonic humidifier demand?

          1 Reply Last reply
          0
          • T Offline
            T Offline
            tripy
            wrote on last edited by
            #5

            The enclosure is very nice too.
            Hand made ?

            1 Reply Last reply
            0
            • fifipil909F Offline
              fifipil909F Offline
              fifipil909
              wrote on last edited by fifipil909
              #6

              @gregl yes, I think about add a level indication by using a simple ldr and a led, shouldn't be complicated to archeve.

              regarding the ceramic caps, a lot of them you can find on ebay use 40 Vac at 1.6Mhz. so not so easy and finding a 8:1 transformer working at this frequency to make a small DC to AC converter is not that easy.

              after some search, I find some other caps like exactly the same there is on this "donut" humidifer. they are working at a much low frequency, 113khz to be exact.
              http://fr.aliexpress.com/item/20mm-113KHz-ultrasonic-atomizer-transducer-atomizing-part/32273063940.html?spm=2114.44010308.4.177.0Amsoy
              Regarding the voltage, I found some caps working at 5vpp but the donut caps seems to working arround 50v.
              I don't have any idea how they boost the voltage to that pick.

              here is some scope:

              Mofset Gate :
              0_1456920546860_IMG_006.BMP

              Caps input:
              0_1456920582586_IMG_001.BMP
              the sinus wave it's really durty, but seems to be enough to vibrate the caps.

              donut IC :
              0_1456920732712_20160302_130545.jpg

              0_1456920737957_20160302_130603.jpg

              if someone have some idea of what is this black component on the right side. seems to be the one that boost the voltage up to 60v.

              @tripy yes everything handmade. my friend carpenter help me to glue together some piece of wood plate like this : http://planete-bois.com/plans-de-travail/28-plan-de-travail-chene-lamelle-colle-aboute.html I manage the rest with a router and a drill press.

              A 1 Reply Last reply
              0
              • greglG Offline
                greglG Offline
                gregl
                Hero Member
                wrote on last edited by
                #7

                "what is this black component on the right side"
                id say its a simple transformer. how many leads go into it? ( photos a bit blurry )

                1 Reply Last reply
                0
                • fifipil909F fifipil909

                  @gregl yes, I think about add a level indication by using a simple ldr and a led, shouldn't be complicated to archeve.

                  regarding the ceramic caps, a lot of them you can find on ebay use 40 Vac at 1.6Mhz. so not so easy and finding a 8:1 transformer working at this frequency to make a small DC to AC converter is not that easy.

                  after some search, I find some other caps like exactly the same there is on this "donut" humidifer. they are working at a much low frequency, 113khz to be exact.
                  http://fr.aliexpress.com/item/20mm-113KHz-ultrasonic-atomizer-transducer-atomizing-part/32273063940.html?spm=2114.44010308.4.177.0Amsoy
                  Regarding the voltage, I found some caps working at 5vpp but the donut caps seems to working arround 50v.
                  I don't have any idea how they boost the voltage to that pick.

                  here is some scope:

                  Mofset Gate :
                  0_1456920546860_IMG_006.BMP

                  Caps input:
                  0_1456920582586_IMG_001.BMP
                  the sinus wave it's really durty, but seems to be enough to vibrate the caps.

                  donut IC :
                  0_1456920732712_20160302_130545.jpg

                  0_1456920737957_20160302_130603.jpg

                  if someone have some idea of what is this black component on the right side. seems to be the one that boost the voltage up to 60v.

                  @tripy yes everything handmade. my friend carpenter help me to glue together some piece of wood plate like this : http://planete-bois.com/plans-de-travail/28-plan-de-travail-chene-lamelle-colle-aboute.html I manage the rest with a router and a drill press.

                  A Offline
                  A Offline
                  AWI
                  Hero Member
                  wrote on last edited by
                  #8

                  @fifipil909 I assume the black component is a coil. There are many simple circuits which can generate a high voltage with a coil/ transformer or capacitors and diodes.
                  0_1456991504666_upload-5eaa06af-25c0-46e1-8e68-4a66872cecf1 Some noisy examples

                  1 Reply Last reply
                  0
                  • fifipil909F Offline
                    fifipil909F Offline
                    fifipil909
                    wrote on last edited by
                    #9

                    There is 3 leads.
                    I did try to make better pic.

                    0_1457093736469_20160304_131257.jpg
                    0_1457093740253_20160304_131331.jpg

                    1 Reply Last reply
                    0
                    • lucyheartL Offline
                      lucyheartL Offline
                      lucyheart
                      wrote on last edited by
                      #10

                      Wow... you're resourceful persion. i want build this but it difficult for me :D

                      1 Reply Last reply
                      0
                      • fifipil909F Offline
                        fifipil909F Offline
                        fifipil909
                        wrote on last edited by
                        #11

                        Hi,

                        It's hard to say right now.
                        It can be interesting to know how do you control the On/Off.

                        Those Ceramic caps don't like to be used without any liquid and can be damaged very quickly if there are dry.
                        But normally there is a build in switch off circuit if no liquid is detected.

                        Can you tell me more how to you modify the electronic to control it with Mysensors ?

                        1 Reply Last reply
                        0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        25

                        Online

                        12.0k

                        Users

                        11.2k

                        Topics

                        113.4k

                        Posts


                        Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • MySensors
                        • OpenHardware.io
                        • Categories
                        • Recent
                        • Tags
                        • Popular