I have a similar setup running on the front door and the “portal” window on the front of the house, but have wanted a permanent “holiday light” install for some time. Recently my friend Dee has been wanting to do the same, so I was once again interested in carrying this project through, in time for Christmas 2020 hopefully. These aren’t “put them up and take them down” lights, as I want to be able to use them year round like others do and light up the house for special dates such as Independence Day, Valentines, Veterans day, etc. Additionally as Dee pointed out, they can be lit up on low white or amber brightness every so many LEDs for a normal outside lighting feature.
The setup is rather simple. WS8312B LED strings driven by a D1 Mini with WLED running on it. I really like to use my own code, and I do have my own code running on our Christmas tree and our grand daughters little house, but WLED is more robust, recovers better, and can stand alone without my Home Assistant home automation system if needed. Dee had found WLED and told me about it and once I tried it I was convinced it was the easiest and best way to go.
WLED is installed and all the parts are now in hand. I estimated I needed at least 20.62 meters of strips for this. Unfortunately the strips come in 5 meter lengths so I’m about .62 meters short that I’ll have to either buy another strip, or find some left overs I have from other projects. Time will tell on that one.
Not the prettiest of plans but it helped to visualize the various breaks I have to make and extensions needed to get across the front of the house. There are larger dormers for each window and the front door that have to be bypassed to get a better across the front look. I am hoping this doesn’t break up the effects too much but that’s how it is.
Originally I had looked at using the bulb type of RGB lights, but they just had that “Christmas lights up year round” feel to them so I moved to the strips. These will be mounted up under the eaves, facing towards the house for more of an under glow appearance. Hopefully it will look like I want it to. The down side is these are hard to find in any affordable 12v versions, so I reverted back to 5v versions. With 5 volts there is more likelihood of voltage drops across the length, so there may have to be more power injection points. I’m going to try to do just the ends, if that doesn’t work and there are obvious brightness issues in the middle, I’ll insert another power point in the middle.
Included with the LED strips are a handful of mounts to use to hang the strips, but they are too few and will not work in the location I want to put them so I designed and 3D printed some to make the mounting hopefully easier and better. I also plan on putting the power packs under the eaves instead of trying to run long power runs so I needed to be able to mount them. I will have to water proof them but they should seal up with some effort. The strip mounts are on the left, the power pack mount on the right in the picture above.
These are already setup and tested so the next steps are designed a 3D printable housing for the D1 Mini to go under the eaves and get out and start mounting the strips with some help. Updates with install pictures and results eventually… hopefully before Christmas!
I picked up the super common, super cheap Harbor Freight sand blasting cabinet to replace the really small one I had recently. I had already found a lot of videos on how to improve the product with some making lots of sense and some completely off the wall and costing more than the original product.
Primarily I knew I wanted to 1) Added a metering valve suction feed instead of the pipe that I always had problems with in the small one, 2) Move my small shop vac dust collector setup over to help keep it clear inside, and 3) add some type of dust separator to avoid filling up filters or bags too quickly.
Version 1 – First Attempt
After looking at the options for metering valves online, they seemed really simple. However, searches on ThingiVerse and around the net really didn’t result in any 3D printable solutions that I liked. So I fired up TinkerCAD and played with some options.
My first clunky design likely would have worked BUT I wanted it to look a bit better and have a better tapered feed to the output so I started from scratch, found a pipe and threaded cap that seemed to fit the bill and added the features I thought were needed to make a valve work.
The final design looks better and likely will work better in the long run. No telling, the plastic may get ate up from the aggregate flowing through it all the time but the cool thing is I’ll just print another one when/if that occurs.
The shop vac exhaust was the next step and just required a couple of 90 degree adapters to mount to the exhaust port and then to the dust separator. This seems to be working fine so far but obviously time will tell.
Update 2020-01-19 – Missed an old post to approve (sorry) and saw a new post about this so here is the metering valve part on Thingiverse. https://www.thingiverse.com/thing:5207020
(Pronounced Nan OM
eter – Like speedometer of course)
Having historically
kludged together a breadboard, or dead bug wired something to simply
test an SR04, measure a resistance, or test a servo or stepper
driver, I finally decided I’d do something a little more permanent.
What trigger this was seeing VolsR’s
(https://www.instructables.com/member/VolosR/)
little Nano based “semi” multi-meter solution on
Instructables.com.
His circuit info
wasn’t completely accurate and he has since developed a more
advanced printed circuit board version, but there was enough to get
me started on putting a little multi function meter / tester
together. I followed his basic concept and used his code as the core
as it worked well, and then added a few more functions I needed or
wanted. I even used his basic layout of his original board as it just
worked well.
At this point the little box can:
Measure DC voltage (with reverse voltage diode protection)
Read an analog input and show the value, as well as the min, max and average values
Measure the resistance of a resistor
Measure the voltage drop of a diode or LED (and test the LED there too)
Act as a beeping / LED continuity tester
Generate a PWM output
Test a servo
Test a ping / SR04 sensor
Drive a stepper motor driver\
Monitor the external battery supply voltage on the Vin pin
Allow adjustments to the data dump timer (more later)
Do an I2C bus scan and show attached device addresses.
Sample view of the Volt Meter mode
Additionally the
device is outputting data for the current mode to the serial port
(USB or TTL) that can be used to log sensor data over time. It can
also be minimally controlled over the serial port with mode toggle or
selection, PWM width change, servo pulse changes, and logging time
period changes. The data is dumped in a CSV format with the mode
name, millis(), data1, data2, data3, data4 format. Using the millis()
value one could time chart the data if desired. You could also use a
wireless serial bridge such as a 2.4G or Bluetooth version and log
that data back remotely as well I guess.
The I2C bus is
exposed next to the display but at this point the Nano is at 99% of
memory used on my compiler (30624 or 30720 bytes), so there is not
much room for growth. Your compiler mileage may vary. I’m
compiling under Arduino 1.8.7 on Ubuntu 18.04 with the Adafruit 1.0.0
SoftServo library and the 1.1.3 Stepper library. You can comment the
“useFonts” #ifdef to remove the font usage and use the normal
text scaling instead. It does save quite a bit of space.
Sample of the analog read view
Unfortunately the
libraries, along with the fonts, eat up a lot of memory on the
device. The images do not make any difference so removing them
doesn’t help a lot. One could remove the fonts and have more
programming space if desired I think. Only 69% of the dynamic memory
is being used so I do not believe there will be any stability issues.
Obviously the code could be optimized but I’m pretty done with it
at this point. In reality only the A3 and A6 pins are left to be used
so there isn’t much left to work with there either. My code is not
pretty nor optimized but it works so I’ll leave it at that.
Current pin uses are:
(P) = PWM Pin
// 0 – Rx – On header pin lower right – Used to receive commands from serial console, etc // 1 – Tx – On header pin lower right – Dumps CSV data to here // 2 – Left Button // 3(P)- Middle Button (on interrupt) // 4 – Right Button // 5(P)- Software Servo Pin // 6(P)- PWM output on three pin header // 7 – Ping Trigger // 8 – Ping Echo // 9(P)- Stepper IN1 // 10(P)- Stepper IN3 // 11(P)- Stepper IN2 // 12 – Stepper IN4 // 13 – Used for speaker output and LED display // A0 – Main Analog Input // A1 – External Battery Power Supply Voltage 100k/10k divider // A2 – Input for Diode and Resistor testing // A3 – SPARE // A4 – I2C bus // A5 – I2C bus // A6 – SPARE // A7 – Voltage Meter input – on 100k/10k divider
I used Adafruit’s
SoftServo library as the normal servo library kills some PWM pins and
I wasn’t sure if they would be needed. It works well for this use
and I’ve used it on other robots as well. The AdaFruit OLED library
is used for the SSD1306 device which is the 128 x 32 pixel version.
VolsR’s updated version uses the larger 128×64 version but
personally I would rather have the board space than more display
space for this project.
To add the images I
“temporarily borrowed” some icon art from online (I’ll give
them back when I’m done) and converted them to the HEX format
needed using the handy image2cpp online at at
https://diyusthad.com/image2cpp.
Works great and good enough results for me.
The Circuit
I haven’t drawn a
full schematic up but each test point is pretty simply. Using the
above pin outs one should be able to replicate it. The voltage
dividers on the volt meter and external battery are simple 100K / 10K
voltage dividers. The buttons simply go from the pins to ground and
we use the internal pull up resistors on the Nano. I did not use any
pull up resistors on the I2C display and it works fine. The tiny
speaker connects directly to pin13 and to ground. It does show a
positive terminal so I connected it like that. The dropping resistor
for the diode / led is a 2.2K in mine, just tweak the code as needed.
The Buttons
With only three
input buttons there are limits BUT in reality you can get six (6)
options out of them at least. The middle button is hooked to an
interrupt that toggles the “mode” for the box. The left (down)
and right (up) buttons selection options within the modes if there
are any, i.e. in PWM they change the pulse widths, etc.
Simultaneously pressing the Up and Down toggle the “Pot Mode”
allowing a pot to be connected to the analog input to control the
PWM, Servo and data dump timer modes. Just makes it easier to test
things. Pressing the down and select toggles the beeping sounds on
and off, including the continuity mode. In analog reading mode the
down button resets the averages.
The Down Sides
There are obviously
some down sides to the little box. For one the voltage measurements
aren’t the most accurate. I’m not sure if it’s the voltage drop
on little 1N914 diode I’m using for reverse protection or something
else. I do have an adjustment in the code to offset the diode and
it’s accurate at lower voltages but off at higher voltages. I know
voltage drop can vary by voltage but wasn’t aware it was that much.
The Conclusion
So far the little
NanOMeter has been pretty handy. I’ve built a couple probe wires
out of header jumper wires to more easily use the volt meter and
continuity tester piece. Also built a header adapter for the analog
input and resister/diode/continuity connectors from male headers that
can be inserted to flip the gender of the connectors without surgery.
I also added an additional header that provides power and ground
directly from the battery (7.4v old Canon camera battery) that I can
use to power bigger voltage / current requirements without leaning on
the Nano’s regulator too much. Great for driving stepper motor
controllers and could be used to drive H bridge motor drivers as
well.
So if you need a
simple voltmeter/analog tester/ohm meter/diode drop/continuity
tester/PWM tester/Sevro tester/SR04 tester/stepper tester/data
logger/I2C bus scanner, this could be useful.
The NanOMeter now
has a prominent place on my bench and is quite handy when I need to
check an address on an I2C device, validate a resistor value, test an
analog based sensor etc.
Have spent time working on my Dad’s old B4000 truck I recently acquired from our son. It’s a great little truck with just a few things needing attention. Pictures and details here
After a long time of cleaning part, buying parts, prepping parts, and testing parts the 1966 Galaxie 500 is back on the ground with an update 3.55 9″ posi unit and a clean and undercoated bottom. More details in the link.
On 08/11/2019 I watched the famous (infamous?) Frenck (http://www.youtube.com/frenck) live stream his work on a SDS011 Particulate Matter Sensor. I had already noticed the sensor in the ESPHome support list but Frenck was taking a different approach. He was live streaming getting the device working for the Luftdaten.info project of tracking air quality. Read More Here
Pretty much sums up my life and I have no apologies about it. I’ve enjoyed many different hobbies, have become good enough at most, and hope to keep on keeping on for some more years or decades before I’m done.
Here you’ll find information from 1/24 scale plastic models to full scale cars being built. From old bicycles to old bicycles with 1 kilo watt of electric power. From simple electronics to a smart home that has been “Online since 1999” – long before many were thinking of ‘connected’ homes.
I have built many little robots, big RC mowers, have a couple Trail 70’s being restored or rebuilt. I have a smart home that knows when I’m here, can listen in different apps and handle things when where are not here.
I have way too many 3D printers that have all been built, designed, or modified by myself, and even some old time stop motion animated “brickfilms” for you to enjoy.
Poke around – you’ll find many different directions, unfinished projects, and a mess of other ideas floating around here.