Setup hydroMazing Smart Garden System

cropped-hydromazing_smart_garden_system

Setup and Use hydroMazing

  • The Controller ( Arduino Nano ) uses 433MHz Transmitter to send codes to remote-controlled AC Outlets or can connect directly via a transistor, MOSFET, or relay.
  • Web Services Module ( Raspberry Pi ).
    • Optional Web-Camera ( USB Web-Camera ).
  • Optional  ( connect directly via a transistor, MOSFET, or relay.  Supports additional sensors: E.C., pH, Light Intensity, more floats and flow-rate sensors.

I liked the simple inventory management system application so much, I borrowed its web interface to improve hydroMazing:

hydroMazing snapshot

What are the steps needed to use hydroMazing?

  • Connect the Raspberry Pi to your local router using an Ethernet cable.
  • Plug in the hydroMazing Controller unit’s USB to the Raspberry Pi.
  • Optionally, plug in the USB webcam.
  • Power the Raspberry Pi.
  • Use a Power Squid ( Multiple Plugs ) to attach the Remote Controlled AC Outlet Modules to their corresponding appliance assignment according to the hydroMazing Smart Garden System’s settings.

Plug-in appliances to their corresponding remote controlled AC switch units.  Most growing environments can be configured as follows:

  1. Light
  2. Intake Ventilation Fan
  3. Exhaust Ventilation Fan
  4. Humidifier / Heater / Additional Lighting
  5. Pump(s)

Also see Controlling Appliances.

How to Access the Web Interface:

  • Use a wormhole service such as Dataplicity.io
  • Or, Discover the IP address that your router has assigned to the Raspberry Pi, running hydroMazing Services.
  • Or, use a DDNS service to update the dynamic address assigned to your router and directly access the web interface

 

  • Login to the web interface using the admin credentials provided.  Example URL of web interface http//[your-device].dataplicity.io/hydroMazing/
  • Click ~ Settings → Automatic Timezone → Update
  • Click ~ Settings → Email Notifications → [ enter your email address ] → Save
  • If your growing environment is not within an Ethernet cable distance away from the router then you will need to configure the WiFi.
  • Click ~ WiFi Settings → SSID → [ enter your router’s SSID ]

Passkey → [ enter your router’s WiFi password ] → Save

 

hydroMazing chart

 

More About Electronics:

More About hydroMazing:

More About Indoor Gardening:

 

 

Wired or Wireless?

Electricity replaces the sun, wind, and some natural processes as the dependency for plants to grow indoors.  

Starting a Smart Indoor Garden

The first glaring problem with the typical indoor garden is that extension wires are annoying and a potential safety hazard.  On the other hand, wireless communications can lack the reliability of the wired variant.  Going further, should the system be available to the local network or should it be connected to the Internet?

Since plants do not need Internet access in order to grow then we are potentially creating an additional dependency that the plant doesn’t want. The Internet is useful for providing access to your system, but security is questionable, how much control or data should be available?  A connection to the Internet can become another dependency if the system cannot operate without communication to a cloud-based or otherwise remote server. If something can fail; we should plan for the eventual occurrence of that possibility as best as possible. If a long electrical outage were to occur it would be prudent to have a backup generator, or solar rechargeable battery storage system.  If we can have better reliability with a wired connection, then it makes sense to use a combination of wired and wireless.

Next:  Getting Wired and Wireless

Communication options such as i2c, which is great for communicating with another microcontroller or Raspberry Pi and the many wireless options: WiFi, bluetooth, etc.

  • Remote Control using a RF 315MHz / 433MHz
  • Lightweight Bluetooth ( nRF24L01 )
  • Bluetooth ( HC-05 )
  • WiFi Module ( ESP8266 / CC3000 ) etc.

More Info:

Please share with friends and follow to receive a notification when I publish a new article.

 

Why Arduino when you can Pi?

Arduino
Arduino ProMini, Uno, and Nano on expansion board.

Why Arduino?

The greatest advantage to using the Arduino family of microcontrollers for DIY electronics projects, is that they are ubiquitous.  Since they are so available, they are inexpensive and you can find open-source software to get started.

If you’ve ever had the opportunity to work with an Arduino Uno microcontroller board, then you’ve probably executed the flashing LED example.  Going further, you might attach a button, or switch, to trigger the LED or to turn it off making the project interactive.  There are many sensors that could be connected to the Arduino Uno and setup to trigger events, such as the LED flashing, using threshold values that we would need to experiment with in order to figure out what settings work best for creating the effect we want.

While the examples that come with the Arduino software and the examples included with libraries are an excellent start to a project; the Arduino family of microcontrollers is often grossly underutilized in many projects.  Sure microcontrollers are limited in how many instructions they can run; hitting the program size limit doesn’t take very long when you want to control more than a few blinking LEDs.  Even with creative variable handling and custom libraries, eventually, there is a need for another microcontroller or to move to a larger one, even a Raspberry Pi.

In my Alien Invasion Slot Machine project, I tried to push the Arduino closer to its limits.

Time Management and state and trigger flagsf0zk2etiagml1az-medium

At its most basic, a microcontroller loops through a set of instructions handling each action with the focus of The Red Eye of Sauron from Lord of the Rings.  There are a few interrupts that can be configured should an event be so important to receive the full attention of the microcontroller.  Using some form of time management creates a state machine. If x amount of time has passed since x event, then do something and so on…

“The behavior of state machines can be observed in many devices in modern society that perform a predetermined sequence of actions depending on a sequence of events with which they are presented. Simple examples are vending machines, which dispense products when the proper combination of coins is deposited, elevators, whose sequence of stops is determined by the floors requested by riders, traffic lights, which change sequence when cars are waiting, and combination locks, which require the input of combination numbers in the proper order.” https://en.wikipedia.org/wiki/Finite-state_machine

There are rare instances where: RTOS, AI, neural networks exist on microcontrollers, but that’s best left to software-oriented systems such as a Raspberry Pi.

After trying many different timer and time management libraries I felt they were either too much or not enough of what I was wanting in my timers.  A set of timers that are easy to set, keep track of their own state, and each have their own trigger flags.

Button assumptions

buttons

Interacting with an electronics device such as a microcontroller or computer system is relatively easy and typically provided as an example for developers looking to use the device in their project.  Press a button and an LED illuminates. A button or switch may seem like a simple sensor input, but it’s not.

The device’s system resources are consumed waiting and watching for a button press. When we use a button in a project we typically think of it being activated when pressed.  Then what? What should happen if the user holds the button in the active position? Will the button be counted as pressed once, or is the program going to count each second, or x amount of time, as another button press?  Does the program need to know that the button has been released?

Hardware and wiring

wiring harness

Rather than using the Arduino Uno and a protoboard or breadboard for this project, I’m using the Arduino Nano on an expansion board.  Keep it simple using common wiring colors, keep it modular so connections can be made with ease, keep your project sustainable; a part can be replaced rather than the entire system.  The DuPont wire connectors that come with prototyping starter kits makes it easy to create your own custom wiring connections. The wires are easy to solder when a more permanent connection is needed.  I make custom wiring harnesses for neater, cleaner, and more easily connectable modules.

 

Raspberry Pipi3

The latest version of the Raspberry Pi v3 uses a Linux OS and is a computer that can do so much more than an Arduino Uno, why not just use it for everything?  While it is possible to do many of the same tasks as you would do with the Arduino Uno or variant, it’s not always best.  The Arduino Uno and variant microcontrollers are best for doing the same actions, over and over again, such as reading a sensor and doing something with the value.

As I mentioned previously, you can do a lot with a Raspberry Pi, and depending on how much you are doing, it won’t take too long before you discover it has limits.  When the Pi overheats, it will either freeze or shutdown, hopefully, the processor has a heatsink.

More Info:

Please share with friends and follow to receive a notification when I publish a new article.

Why DIY when you could buy?

You value the project because you are able to customize and experience the process of its creation, both physically and mentally.

Practical Reasons:

  • Integrity and dependency on specific vendor:  Complete packages are limited in capability and scalability, also they often include unwanted strings attached, i.e. Advertisements; company owns your data for purposes of profiting by selling for marketing purposes.  Mass produced products are typically not designed for longevity. Can the equipment be repaired or is it disposable?
  • People have complex preferences and want more customizable, possibly less expensive solutions, typically with the trade-off related to labor, can be improved or perform to preferred standards
  • Interest in learning and/or educating others:  You enjoy or have an interest in the activities associated with the process of a subject.
  • Necessity:  Resources and costs vary by region.
  • What else?

Cost considerations

Many items can be purchased locally or sourced from the Worldwide market through the Internet.  I don’t know about you, but I rarely have money to spend on projects and whenever possible reusing and re-purposing junk is ideal.  Many of my projects contain parts I’ve purchased at local dollar stores and items found through eBay online vendors. Online researching, reviewing, and sourcing materials

Time

It takes time to learn how to use tools and equipment successfully, let alone, have the time to actually make the project meet your expectations.  Will you take the time to safely use the equipment necessary to complete the project?  Are you able and willing to troubleshoot problems as they arise?

Time used for the project is time that could be spent with family, friends, learning something more important, etc.

Skill and Ability

Even though it may pain me to swallow my pride, I try not reinvent the wheel.  If I don’t have direct experience performing a task, I take the time to research how others have approached similar problems.  It is best to learn from others before making a serious mistake simply because I don’t want to appear stupid. Practice makes permanent. We cannot expect to become experts on a subject overnight, it’s okay not to know how to do something, try to find someone who can help, take small simple steps towards achieving the goal.

Resources for DIY Hacking Electronics:

For electronics projects, reliably wiring the hardware and designing the software to operate using an Arduino variant or Raspberry Pi, is a challenge.  Hacking Electronics – Simon Monk ( link to Amazon ).  Regardless of your experience level, this book is an excellent resource, what tools are needed, when and how to solder, and many basic fundamentals of working with modern electronics.  The second edition, includes Raspberry Pi.

More Info:

Please share with friends and follow to receive a notification when I publish a new article.

Using a Raspberry Pi and USB Camera

You have a Raspberry Pi, or are comfortable with the idea of using one, and you want to use it to capture video or images using a USB camera.  Even though the Raspberry Pi has a port designed specifically for using a camera, it’s not as low-cost, nor as convenient as the USB corded camera.

CanaKit Raspberry Pi 3 B+ (B Plus) Starter Kit (32 GB EVO+ Edition, Premium Black Case)

It would be a lot nicer if you had a web interface to access, view, and manage the content you’ve capture using the USB camera.  Learn to set up a LAMP (Linux, Apache, MySQL, PHP) stack on your Raspberry Pi and configure it to work as a web server and set up a basic website which you can access on any device on the same network as your Pi.  This is a link to a nice tutorial for setting-up a L.A.M.P. server on your Pi, the WordPress portion is optional, you can stop after installing PHP. 

Motion

Motion is the tool that you will want to use if you want to live stream, record video, capture motion, and grab a lot of snapshots.  More options means a lot more configuration options making setup more complex.

download and install:

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get install motion

usage:  See /etc/motion/ for configuration file(s).  The documentation for Motion is contained within the file motion_guide.html.

The offline version of this file is available in the doc/motion directory. The online version of the motion_guide.html file can be viewed here

growrm2

fswebcam

fswebcam is a simple tool for grabbing snapshots using a USB connected camera and  can be configured to execute routinely using the operating system’s cron job scheduler.

download and install:

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get install fswebcam

usage:  https://www.raspberrypi.org/documentation/usage/webcams/

More:

 

Make a Touch Screen Kiosk

touch screen

Raspberry Pi 7″ Touchscreen Display

AND

SmartiPi Touch case for The Official Raspberry Pi 7″ Touchscreen Display – Adjustable Angle

Making Sound Effects with Arduino

speaker

Sound and Voice Effects

Sound plays an important role in the user experience by adding another layer of depth; making for a more realistic experience.  http://www.robotoid.com/sound/soundingoff-sounds.html

  • Arduino and piezo ~ dual purpose can make sound or be used as a vibration sensor
  • Low-cost option – WT588D ~ $5
  • Other options include the Adafruit Audio sound board $20 and mini computer systems on a board, such as Raspberry Pi or similar $30+.  These devices also need an SD card to provide memory space, more sensitive to vibrations and use more power.

 

SoundFX Lightshow

Using an Arduino Nano on an expansion board with push-buttons, one to play a sound and the other to select a sound effect from a WT588D through a speaker.

For this project, I’ve selected a low-cost option, internal memory, and reasonable sound quality – WT588D-U, this model includes a built-in mini USB port for power and direct programming.  Sound output is amplified by the module and produced by a standard 0.5w 8-ohm speaker or can be connected to an amplified speaker system. The down-side with this module is that it can be difficult to get the programming software and drivers installed and configured.

Using the WT588D voice module connected to a basic speaker, the project can deliver cellular phone quality sound.

More information and tutorials specific to the WT588D:

There are several options for triggering a sound clip to play.  Examining the documentation for this module including the schematic…The sound module has a few modes to select from when working with it.  If there are only a few sounds that need to be triggered then the direct button mode would work without a microcontroller. However, if there are several sound clips, it takes just as many wires to connect to a microcontroller using the following 3-wire configuration:

WT588D-3-line-serial
Three Line Mode=

I’ve taken the time to download sound clips, modify, and organize a few themes.

  • Games – sound effects for the mechanics and the animation, GLaDoS voices from the Portal video game
  • Spooky – selection of spooky sounds for Halloween projects.
  • LCARS – Star Trek computer phrases and sounds.
  • Zelda: Link To The Past – sounds from the video game.

 

 

 

Other themes online:

 

IMG_20180726_072519070
Alien Invasion Slot Machine uses the WT588D board for sound effects.

 

Parts:

  • Arduino Nano
  • Expansion Board
  • USB to mini USB ~ 5ft. cord
  • AC/DC Outlet Power Adapter
  • Project Box
  • WT588D Sound Module
  • 8 x 7-segment Display module
  • (1-4) strips of 10 RGB 12mm LEDs.
  • (2) push-buttons
  • photocell
  • microphone
  • PIR sensor

 

Steps:

Prepare the following for wiring and connect to the expansion board:

  • WT588D with wiring harness and speaker
  • (1-4) strips of 10 RGB 12mm LEDs.
  • 8 x 7-segment Display Module
  • (2) push-buttons
  • photocell
  • microphone
  • PIR sensor

 

Connect the push-buttons to the expansion board and upload test code.

Nano with buttons

Connect strips of 10 RGB 12mm LEDs to the expansion board and upload test code.

Connect the 8×7 segment display module to the expansion board and upload test code.

Nano WT588D

HotGlue WT588DConnect the WT588D with wiring harness and speaker and upload test code.

 

 

Any sensor can be used to trigger specific or random sounds and going even further, a basic neural network could make decisions using multiple sensor inputs.

Connect the photocell to the expansion board and upload test code.

Connect the Microphone to the expansion board and upload test code.

Connect the PIR sensor to the expansion board and upload test code.

 

SoundEffects
Completed SoundFXLight Project

Insert Arduino Nano into Expansion Board and plan to provide power using USB to mini USB cord.  Optionally, AC/DC Outlet Power Adapter

https://youtu.be/kD2SiK95vtk

Enclosing the project

Drill 7/16” – 1/2” holes into the project box:

  • HOLE 1: side
  • USB to mini USB ~ 5ft. cord
  • Optionally, AC/DC Outlet Power Adapter

 

  • HOLE 2:  cover push-button
  • HOLE 3:  cover push-button

 

  • top front side
  • HOLE 4:  (1-4) strips of 10 RGB 12mm LEDs
  • HOLE 5:  speaker connector

 

  • HOLE 6:  side
  • microphone, PIR sensor

 

You can purchase a completed SoundFXLight directly from me as a functioning example.

promini sound
Arduino Pro-Mini directly connected to WT588D

Arduino FastLED Library

RGB Strip

The FastLED library is an impressive piece of work:

https://github.com/FastLED/FastLED/wiki/Basic-usage

After you download and install the library give it a try:

Using an Arduino Uno to calibrate an RGB LED strip.

The purpose of running this example is to determine what settings are needed to use the FastLED library.  For this example I’m using an Arduino Uno. The Uno has a ground pin next to pin 13, so for convenience, I’m using pin 13 as a low-current Vcc for the RGB LED lights strip:

pinMode(13, OUTPUT);
digitalWrite(13, HIGH);

// The data pin is the pin we are using to connect to the Arduino.
// Data pin that led data will be written out over
#define DATA_PIN 12

// How many individual LED modules are on the strip?
#define NUM_LEDS 10

// When using an SPI based chipset, the there should be four wires
// Clock pin only needed for SPI based chipsets when not using hardware SPI
//#define CLOCK_PIN 8

Important configuration setting is to specify the model of LED strips being used.  May require some try-and-error.

      // Uncomment one of the following lines for your leds arrangement.

     // FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
      FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
      // FastLED.setBrightness(CRGB(255,255,255));
      // FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS);

A nice variety of color effects is included with the library.  After trying out the RGBCalibration source code example, make the changes need to Demo Reel and give it a go:  https://github.com/FastLED/FastLED/blob/master/examples/DemoReel100/DemoReel100.ino

Copy the settings for the LED strip to the DemoReel example

Upload and if all goes well, you should see a basic visual effects show.

Lightshow

More

Please share with friends and follow to receive a notification when I publish a new article.

 

IMG_20190605_094809140
Existential Crisis

Making a Lightshow with Arduino

They are in games, decorations, shadow boxes, sign borders, torches, spotlights, and so on…

 

 

 

 

This slideshow requires JavaScript.

Making a Lightshow

Using an Arduino Nano on an expansion board with a push-button to change the color palette mode of the RGB LED strip.  A microphone module is used to detect sound and alter the speed of flashing lights.

Arduino

Why Arduino?

The greatest advantage to using the Arduino family of microcontrollers for these types of projects, is that they are ubiquitous.  Since they are so available, they are inexpensive and you can find open-source software to get started. If you’ve ever had the opportunity to work with an Arduino Uno microcontroller board, then you’ve probably executed the flashing LED example.  Going further, you might attach a button, or switch, to trigger the LED or to turn it off making the project interactive.

There are many sensors that could be connected to the Arduino Uno and setup to trigger events, such as the LED flashing, using threshold values that we would need to experiment with in order to figure out what settings work best for creating the effect we want.

While the examples that come with the Arduino software and the examples included with libraries are an excellent start to a project; the Arduino family of microcontrollers is often grossly underutilized in many projects.  Sure microcontrollers are limited in how many instructions it can run and hitting the program size limit doesn’t take very long when you want to control more than a few blinking LEDs.

Even with creative variable handling and custom libraries, eventually, there is a need for another microcontroller or to move to a larger one.  In my hydroMazing Smart Garden System and in my Alien Invasion Slot Machine projects, I push the Arduino closer to its limits.

Time Management and state and trigger flags

At its most basic, a microcontroller loops through a set of instructions handling each action with the focus of The Red Eye of Sauron from Lord of the Rings.  There are a few interrupts that can be configured should an event be so important to receive the full attention of the microcontroller.  Using some form of time management creates a state machine. If x amount of time has passed since x event, then do something and so on…

“The behavior of state machines can be observed in many devices in modern society that perform a predetermined sequence of actions depending on a sequence of events with which they are presented. Simple examples are vending machines, which dispense products when the proper combination of coins is deposited, elevators, whose sequence of stops is determined by the floors requested by riders, traffic lights, which change sequence when cars are waiting, and combination locks, which require the input of combination numbers in the proper order.” https://en.wikipedia.org/wiki/Finite-state_machine

There are rare instances where: RTOS, AI, neural networks exist on microcontrollers, but that’s best left to software-oriented systems such as a Raspberry Pi.

After trying many different timer and time management libraries I felt they were either too much or not enough of what I was wanting in my timers.  A set of timers that are easy to set, keep track of their own state, and each have their own trigger flags.

Button assumptions

buttons

Interacting with an electronics device such as a microcontroller or computer system is relatively easy and typically provided as an example for developers looking to use the device in their project.  Press a button and an LED illuminates. A button or switch may seem like a simple sensor input, but it’s not.

The device’s system resources are consumed waiting and watching for a button press. When we use a button in a project we typically think of it being activated when pressed.  Then what? What should happen if the user holds the button in the active position? Will the button be counted as pressed once, or is the program going to count each second, or x amount of time, as another button press?  Does the program need to know that the button has been released?

Hardware

I’m going to be adding on a lot of peripheral devices and moving away from basic prototyping.  Rather than using the Arduino Uno and a protoboard or breadboard for this project, I’m using the Arduino Nano on an expansion board.  I’ve created several color palettes by porting the sample code from the FastLED library examples to my base code templates.  with a push-button input to change the color palette mode of the RGB LED strip.

wiring harness

Wiring

Keep it simple using common wiring colors, keep it modular so connections can be made with ease, keep your project sustainable; a part can be replaced rather than the entire system.  The DuPont wire connectors that come with prototyping starter kits makes it easy to create your own custom wiring connections. The wires are easy to solder when a more permanent connection is needed.  I make custom wiring harnesses for neater, cleaner, and more easily connectable modules.

 

Lighting Effects

There many RGB LED options, so I will be focusing on the WS2811/WS2812 modules.  Single RGB LEDs to strings of RGB LEDs in various configurations. Most of the RGB options wilRGB Stripl have three wires for connecting to the microcontroller board and require 5vdc or 12vdc.  Unless you are designing a new printed circuit board, use DC/DC conversion modules to convert your power to the needs of your project.  You might need to step-up voltage from 3v to 5v, or maybe step-down 12v to 5v?

*** The more lights added, the more power needed. ***

The Arduino Uno, and variants, should only be used for directly powering peripheral modules and not devices.  Consider the maximum current consumption when determining what is a device and what is a module.  A string of lights is more of a device as opposed to a panel indicator light, motor controller boards are modules, not the motors they drive, MOSFET boards, not the valves or solenoids that they control.  See Arduino FastLED Library.

 

 

 

 

 

Common Options for Power

  • USB Powered Devices
  • AC/DC wall-wart Power Supplies
  • Rechargeable Batteries
  • Solar Panels
  • power

Parts:

  • Arduino Nano
  • Expansion Board
  • USB to mini USB cord
  • AC/DC Outlet Power Adapter
  • Project Box
  • (1-4) strips of 10 RGB 12mm LEDs.
  • (1) push-buttons
  • microphone

bad connection

Steps:

Insert Arduino Nano into the Expansion Board by carefully pressing the Nano pins into the expansion boards headers.  Note the picture where only half of the pins are correctly inserted.  Plan to provide power using USB to mini USB cord.  Optionally, AC/DC Outlet Power Adapter.

Prepare the following wiring connections to the expansion board by soldering and protecting with heat-shrink:

  • (1-4) strips of 10 RGB 12mm LEDs.
  • (1) push-button
  • microphone

Programming considerations:

  • brightness of lights
  • color palette
  • speed of flashing lights
  • what triggers change?

Connect the push-button to the expansion board.

Connect strip(s) of 10 RGB 12mm LEDs to the expansion board and upload test code.

Optionally, connect the potentiometer to the expansion board and upload test code.

mic and pir

Making projects more interactive

Every sensor gives us a data-point to work with, providing an input so that our program can make a decision based on its current environment or what happens when conditions are met.  Going further with the project, I’ve added a microphone to detect sound, and at a later time, I’ll add a PIR sensor to detect motion.

 

 

Connect the microphone to the expansion board and upload test code.

Lightshow Inside

Complete the project with an enclosure.

  • Drill 7/16” – 1/2” holes into the project box:
  • HOLE 1: side ~ USB to mini USB cord ~ Optionally, AC/DC Outlet Power Adapter
  • HOLE 2:  cover ~ push-button
  • HOLE 3:  side ~ 1-4 x strips of 10 RGB 12mm LEDs

Lightshow

More:

Solar-Rechargeable Decorations

Phoenix Fire Lily:  Solar rechargeable battery connected to a flickering LED inside an artificial lily flower residing in a hand-crafted wooden vase.

IMG_20180731_145416444IMG_20180825_170808853lily

I don’t know about you, but I rarely have money to spend on projects and whenever possible reusing and re-purposing junk is ideal.  Many of my projects contain parts I’ve purchased at local dollar stores and items found through eBay.

IMG_20180808_174135637
Discount hackables!!

 

Parts:

  • Artificial Lily Flower
  • Flickering LED
  • Thermostat Wire
  • 100-330ohm Resistor
  • Mini switch
  • Solar-panel ~ 5vDC
  • Rechargeable Li-ion Coin-cell Battery
  • Rechargeable Li-ion Coin-cell Battery charger = TP4056 Mini USB 1A Lithium Battery Charger Module
  • USB to mini USB ~ 5ft. cord
  • Optional ~ hand-crafted vase station

Steps:

IMG_20180826_135523525

  • Cut the end of the stem and remove the wire.

IMG_20180826_135554418

  • Gut the Artificial Lily Flower by removing its pistil.

IMG_20180826_135814012IMG_20180826_134320215

  • Using a 8-10″ length of Thermostat Wire that extends just beyond the end of the lily’s stem, solder a 100-330ohm resistor to flickering LED and/or later near the mini switch inside the recycled case.

Do I really need a resistor?

  • Clear LED without resistor = 30mA @ 3vDC
  • Flickering Yellow LED ~ 6mA @ 3vDC
  • salvaged 10 LED string of lights = 6mA @ 3vDC

 

  • Carefully thread the wired LED through the lily and down her stem.

IMG_20180826_135619996

  • Add a piece of heat-shrink tubing, solder jumper wires, and attach connector header.

IMG_20180826_134646442

  • Solder a set of short jumper wires to the Rechargeable Li-ion Coin-cell Battery charger output.
  • Solder the Rechargeable Li-ion Coin-cell Battery charger output short jumper wires, resistor, to the mini switch and recycled case ( two “AA” batteries ).

IMG_20180826_134721596

IMG_20180826_134731388

  • Solder the coin-cell battery holder to the Rechargeable Li-ion Coin-cell Battery charger
  • Insert the Rechargeable Li-ion Coin-cell Battery into the Rechargeable Li-ion Coin-cell Battery charger.

IMG_20180826_134228643

A look inside the inexpensive battery case.

IMG_20180826_134310725

  • Gut everything from the case!

IMG_20180826_134428371

  • Drill a few holes.  One for the solar panel wires, and the other for USB connector.

IMG_20180826_134806554

  • Solder a simple switching diode, such as 1N4148, to the positive side.
  • Using short jumper wires, solder the Rechargeable Li-ion Coin-cell Battery charger input to the solar panel ~ 5vDC.

IMG_20180826_140031232

  • Insert the switch and wrap wires so they lay flat inside the case.

IMG_20180826_140138221

  • Test the output.
  • Optionally, attach USB to mini USB cord to the charger
  • Store inside a hand-crafted vase station.

IMG_20180731_145416444IMG_20180825_170808853lily

 

You can purchase a completed Phoenix Fire Lily directly from me as a functioning example.

lily base partslily base v2

 

More: