While you can purchase some ultrasonic mist makers with built in LEDs, I do not know whether these have any soft of color effects.

Instead, I chose to use an Arduino to get some illumination effects. I recommend WS2811-based LED lights, which are available in multiple formats. For this project, a LED ring is ideal, but just about any shape that fits under the water container should work.

These LED rings with have three wires, the white goes to GND, the red goes to Vin and the green goes to pin 5. Due to current limits when running from the USB port, I do not recommend running more than 24 LEDs at a time.

I wrote a quick Arduino sketch to vary the color between oranges and yellows, to make the water appear to be a fiery cauldron!

#include 
#define LED_PIN     5
#define COLOR_ORDER GRB
#define CHIPSET     WS2811
#define NUM_LEDS    24
#define BRIGHTNESS  128
#define FRAMES_PER_SECOND 60
CRGB leds[NUM_LEDS];
void Fire();
void setup() {
  delay(3000); // sanity delay
  FastLED.addLeds(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
  FastLED.setBrightness( BRIGHTNESS );
}
void loop() {
  Fire(); // run simulation frame
  FastLED.show(); // display this frame
  FastLED.delay(1000 / FRAMES_PER_SECOND);
}
void Fire() {
    const float t = float(millis())/5000;
    const float temp = sin(t*1   + 0.10) * 0.04
                     + sin(t*2   + 0.25) * 0.03
                     + sin(t*4   + 0.65) * 0.06
                     + sin(t*8   + 0.80) * 0.04
                     + sin(t*16  + 0.67) * 0.02
                     + sin(t*32  + 0.89) * 0.01
                     - 0.3;    
    for( int j = 0; j 

Leave a Reply