Dodecagon Portal Project
Hey everyone what's up,
So this is my "DODECAGON PORTAL" which is a huge Nanoleaf like device which is made from combining 12 PCBs together at a certain angle to make a dodecagon shape.
The goal for making this project was simple, I wanted to make a huge Nanoleaf like Setup with PCBs, Previously I made this similar version which was small so I wanted to enlarge that project so I created this Dodecagon Portal Project which is actually version 2.
In this Instructables, I'm gonna show you guys how you can ReCreate this Project Step by Step!
Supplies
These are the things I used for this built
- PCBs which were provided by PCBWay
- WS2812B LEDs x 84
- 100nf Capacitor 0805 x 36
- ESP12F Module x 1
- AMS1117 3.3V x 1
- 10uF Cap x 1
- 100uF Cap x 1
- 0 ohms Resistance x 2
- 10K x 4
- Female header pins
- THT Micro USB Port x 1
- 10uF 16V Aluminium Capacitor x 1
- Solder Paste
- 3D Printed Soldering JIG
- HOTPLATE REFLOW
Working Process/PCB Prep
This Project utilizes two PCBs one is the mainboard and another one contains 7 WS2812B LEDs.
Mainboard has ESP12F Module hooked up with WS2812B LEDs. The mainboard generates the signal for the first WS2812B LED, through NZR communication mode, the first pixel obtains the data from ESP8266 via DIN Port and then sends the 24bit data to the second pixel via its DOUT Port. Main Board Contains 7 PCBs so when the data reaches to 7th pixel, we add another PCB onto the main board which adds 7 more pixels to this setup, the data then transfer from the first PCB to the second PCB, and so on.
The Second PCB doesn't have an ESP12F module soldered on it, it's just a breakout for 7 RGB LEDs.
My idea here is to solder 12 PCBs together in this arrangement, each PCB will get soldered to each other at an angle of 150, just like a classic dodecagon. So overall, this project requires 12 PCBs, 1 mainboard, and 11 LED Breakout boards. BUT Buying two different PCBs will cost more so I prepared this Setup in such a way that if I need to use the ESP12F which is on the bottom side, I have to add a 0Ohms resistor that connects the DIN port of the first LED with GPIO12. Because of this, we only need to add ESP12F to one board, and the rest of the PCBs can be directly soldered with WS2812B LEDs without changing anything.
the main schematic is attached*
Downloads
PCBWay!
After Preparing the PCB for this project, I send the PCB Gerber file to PCBWay for samples.
Why PCBWay?
Duh, because their service is top-notch and great.
I placed the order and received some cool-looking PCBs in just a week! I have to say, the PCBs that I received were nice as expected, PCBWay, you guys rocks!
PCBWay offers a large variety of services which also includes PCB Assembly, Flexible PCBs, even 3D Printing, not just any 3D printing, Metal 3D Printing!
Check out PCBWay if you need great PCB service for less cost. - https://www.pcbway.com/
After receiving the PCB, it's time to start the assembly process.
Downloads
Assembly of Main Board
To Prepare the first PCB which would be this Main Board,
- I first applied solder paste to each component's PADs and then pick and place each component in their assigned place in the right order.
- After this, I turned on my DIY SMD HOTPLATE which is a ghetto Hotplate for reflowing PCBs.
- I place the PCB on it and let the solder paste melt.
- This whole process took hardly 5 minutes.
- Now we need to add ESP12F on the bottom side with a Soldering Iron because we cannot use our hotplate for this task.
- We First add ESP12F in its place and then add the AMS1117 Voltage Regulator along with 10uf Cap, 100uF Cap, and 0ohms Resistance. then we add THT Components which are the Main Power Switch, Programming header pins, and this THT Micro USB Port.
In the PCB design, I made a mistake.
The Micro USB Pads are right now on the TOP Layer of this PCB, it needed to be on the bottom side. now because of this mistake, when I place the USB port on the bottom side, its polarity inverts, and positive became negative, and negative became positive.
To correct this, I just cut down both of its tracks and soldered two wires separately to make positive terminal negative and negative terminal positive. We only have to do this change in a single PCB as this is only for supplying power to the Main Board.
Preparing 11 More Boards
After Preparing the Mainboard, we need to make other 11 Boards which will only have 7 WS2812B LEDs and 3 10nf Capacitors each.
- First, we gather all the components that we need which are 77 WS2812B LEDs and 33 10nF Capacitors.
- we start by placing solder paste to each component pad one by one.
For such a task, a stencil is mandatory which I didn't get because I'm such an idiot.
Anyways, this project required a total of 12 PCBs, and 11 of them are breakout boards for ws2812b so we need to reflow all 11 PCBs one by one by first applying solder paste to components pads and then placing the LEDs in their assigned place and then reflowing the PCBs all together one by one. this will take an eternity to finish (not exactly eternity, only one hour)
Testing Each Board
Now, before the final assembly, we first need to check each PCB as they might not work because I probably have not applied solder paste properly to each pad.
(Note to self- USE STENCIL IN THESE KINDS OF PROJECTS)
To test each Board, I prepared this setup which consists of an Arduino nano connected with a push button.
I've uploaded the Buttoncycler sketch which changes the color of WS2812B LEDs on Button Press.
We have to manually solder VCC, GND, and Din Port to 5V, GND, and D6 of Arduino Nano board.
then we provide supply via micro USB cable and press the button, if PCB is shorted the setup won't work and if it does work then this means our setup is perfectly soldered and now we need to remove the wires from this PCB and add the next one for checking.
This will also take time but after checking all the boards, all that's left to do is the final assembly.
Downloads
FINAL Assembly
The shape Dodecagon has 12 sides, the internal angle between the two sides is 150°. To Solder this setup at a proper 150° angle, I modeled a JIG in Fusion360 which holds two PCBs at an angle of 150°.
By putting the JIG at both sides of two PCB, we can securely connect two PCBs together and solder them together by adding solder wire between their two solder pads.
This whole Assembly process involves me putting two PCBs together and connecting them together by soldering their pads together. No glue is required here, PCBs are being held in their place by solder joints.
to give this Structure more adhesion, I soldered .8mm wire on the outward sides of two joints to give the structure strength from the outside.
Making this kind of stuff with PCBs is possible but it's not really durable. this structure is so fragile that if it drops from this table, solder joints might tear off and this huge dodecagon will be destroyed!
Anyways, let's flash some sweet sweet code in this setup.
Downloads
CODE
Now, I will First Upload ButtonCycler Sketch to this setup which is actually a hello world code of WS2812B LEDs.
For Uploading the code, I will be using my Nodemcu programmer which is actually a NODEMCU whose ESP12F module is powered down and we are using its CP2102. For Detail version, check out my post about this process.
https://www.instructables.com/Program-ESP8266-With-NodeMCU/
The Nodemcu programmer setup has these breakout points that get connected with ESP12F Module.
- 3v to 3v
- GND to GND
- RST to RST
- GPIO0 to GPIO0 //D3 is GPIO0 on Nodemcu
- TX to TX
- RX to RX
I added a Jumper between ENA and GND Pin on Nodemcu. this will turn off the ESP12F of the Nodemcu and our external ESP12F will get connected with the Nodemcu's CP2102 chip
FLASHING STEPS
- Connect the Nodemcu programmer with the ESP12F Board
- open Arduino ide, plug the USB on Nodemcuthen
- go to the Tools menu and select the Nodemcu board that you are using
- select the right port, and hit upload
after uploading goto the serial monitor and hit the reset button on Nodemcu.
After doing this, our setup will be connected with the smartphone, now copy this IP address in the serial monitor and open it in your web browser,
you will see the DODECAGON WEBSERVER!
Downloads
RESULT
So here's our DODECAGON setup, alive and running.
It's being powered by a 5V 2A Charger and yes, it requires a 2A Charger as it's drawing a lot of current than a regular Neopixel ring.
Please leave a comment if you need any help with this!
Thanks, PCBWAY for providing PCBs for this project, Check out PCBWay for getting great PCB service for less price!
Peace