An ESP8266 is used to control a 12VDC or 24VDC string of white or RGB LED's.
The final Pcad-2004 schematic and PCB layout. (The schematic is also in PDF format, the BOM is included in the zip)
x-zip-compressed - 733.95 kB - 11/22/2016 at 19:23
The final ESP8266 arduino source code.
x-zip-compressed - 645.00 kB - 11/22/2016 at 19:22
The “under cabinet wifi LED lighting controller” project has been completed.
Here are some bullet point features:
-During normal operation, the wifi connection is not needed. The LED's are turned on/off automatically by the infra red distance sensor or manually by the pushbutton switch.
-The LED configuration wifi pages do not require an internet connection.
(A tablet or phone connects to the ESP8266 module directly and not through a router)
-A 12V wall pack powers the controller and LED modules.
-The module has been installed under one of the shelves in my pantry for about two weeks. (It's a closet style pantry)
Figure 1: The red arrow points to the module in the pantry
The software was changed so when the IR sensor reads the pantry door going past a certain point, the LED lights turn on. The wifi software still allows the user to configure the module and the push button allows the user to manually turn the lighting on and off.
Figure 2: A much closer view of the Controller
The lighting LED modules were relatively easy to install. Double sticky tape holds the modules on the pantry door jam inner molding. This is a nice out of the way place where the LED's are not shining in your eyes. Also, the LED modules should not get bumped much there. There is a gap between molding and the drywall, so the wires are easy to stuff into the gap to hide them from view.
Figure 3: The LED modules on the inside of the pantry door jam
To detect the door opening, the software was changed to “threshold” type of LED activation.
The screen capture below shows the final wifi page.
That's all on this project.
I made a short project video going over the basic operation and hardware on the project:
Warning: my video skills are not the best.
The project hardware and software is complete, but I have not installed the module yet. For the most part, I'm happy with how the project turned out.
As with most new PCB layout's, there are things that can be improved upon. Traces sometimes need to be cut or a mod wire is needed. Fortunately, only a Dremel tool was need on the Rev A version of the LED lighting controller. There are enough other issues that a “Rev B” was made.
Figure 1: a screen capture of Rev A (red is the top copper and green is the bottom copper)
Figure 2 a screen capture of Rev B.
Here is the list of 6 items Rev B addressed:
1) The hole spacing on the PCB is not correct for the bud enclosure. The Y spacing is 1.075” and it should be 1.10” spacing. (completed)
2) The photocell (PH1) and supporting circuitry (C8 and R1) were removed. The photocell circuitry was not used on Rev A. This made room for the ICP header to not hit the IR sensor header when both are being used. (completed)
3) Move the LED indicator pin from the TX line to pin 17 (IO16) on the ESP8266 module. (completed)
4) The pushbutton switch was moved to the edge of the PCB across from the terminal block. This is to put the manual override switch closer to the user and keep the wires away from the user’s hand. (completed)
5) The pushbutton hits the wall of the enclosure. Move the switch away from the edge. (completed) (on the rev A version, a Dremel tool was used on the mounting holes to slide the PCB over some so the switch would fit in the enclosure)
6) +5V, GND, and SEN. labels were added to the 3 pin IR sensor header. (completed)
The new schematic, BOM, PCB layout, and gerbers are in the files section.
2016-10-3, schematic and PCB layout, under cabinet LED.zip
In previous ESP8266 projects, I have used the NodeMCU Vers. 0.9 as a target board.
Figure 1: The NodeMCU 0.9 board with the ESP-12 removed
The NodeMCU board is super convenient, you only need to press on the download button in the Arduino IDE. (no holding of buttons on power up) But, the LED lighting controller needed to be as small as possible. So, to handle the downloading of new software, a NodeMCU board had the ESP-12 removed and the 6 control/power wires attached at the correct places on the lighting controller board.
Figure 2: The external programmer for the ESP8266 on the lighting controller (the NodeMCU board removed)
I do not have a schematic together yet for this point to point wiring. Sometime the schematic will be needed...
The controller board seems to fit well in the enclosure base. (The enclosure is from Bud, model CU-18426-W )
Figure 1: The enclosure (with flanges) and the controller PCB
red and black wire in the above image is the 12VDC in. The yellow
and white wire is anode and cathode leads going out to my LED load.
I'm really a big fan of the red push button. I should to to work it into all of my future projects. :)
I need to post a video sometime of the unit operating.
The ESP8266 add on for the arduino IDE is being used to create the software. A user interface for the configuration page was scratched out on some paper before starting. Right now, the ESP8266 runs in access point mode. Since the configuration page is seldom going to be used, this seemed like a good idea. Below is a screen capture of the user interface so far.
Figure 1: Android screen capture of the software
The software is by no means complete. The web site “css3buttongenerator.com” was used to create the buttons. The SPIFFS file system is used to store the CSS and JPG files. That's all for now.
Below are some images of the reflow process. White PCB scraps were used around the edges of the board. This keeps the stencil from bending over the edges of the board that will be reflowed. Blue painters tape was used to hold down the white PCB scraps and the left edge of the stencil.
Figure 1: Board A ready to have solder paste spread
The paste was spread on all boards. It looks like the stencil was a little low on the board near the top. (the D-pak heatsink tab is missing some paste)
Figure 2: The paste is down on all 3 PCB's
I use a $20 walmart hot plate for reflowing the SMT parts. I've been using it for years without trouble. I turn it on and it takes about 3 and a half minutes to reflow the PCB's. (An old school stop watch was used, near the top of the image) The boards are lifted off of the hot plate by tweezers.
Figure 3: The PCB's ready for reflow on the hot plate
The board reflow process seemed to turn out good. I did not see any tombstoned parts or any solder bridges. I think the stencil really helped with this. Usually, if I put down paste by hand I get many solder bridges.
Figure 4: Reflowed boards!
The next step is to install the through hole parts and then start on the electrical testing. Hmm. I should also post some details about the software.
The boards arrived from OSH Park today! I put a board into the enclosure base and then test placed several of the parts on one of the boards. The components seemed to fit.
Next, I'll try reflowing the SMT parts. I've used the hotplate method of reflow with some success in the past.
Some new digikey parts arrived. The PCB mount push button switch is really tall, 17mm. Several different switch caps arrived. (see picture below) So far, the big red button seems like the best candidate.
Also, the neat little TO-220 switcher arrived. This switcher can can take a up to 28V in and has 5V at up to 500mA. There were also some caps and a photo transistors in the order.
Things have been going well on the project. A stencil from "OSH Stencils" has arrived. This was my first order from them. The stencil seems like it should work well, it even came with a solder paste spreader.
Figure 1: The Osh Stencil for the LED controller board.
The only minor goof I made on the stencil was not putting a "cross" on the heat tab areas of the D-pak footprints. (the large open area might have too much solder paste on it now)
The cost was about $10 USD and they had quick shipping.