FLEXBALL - a Hundred Pixel Flexible PCB Ball With WiFi
7832 Views, 53 Favorites, 0 Comments
FLEXBALL - a Hundred Pixel Flexible PCB Ball With WiFi
Hello makers, it's maker moekoe!
Flexball is based on a flexible PCB which is equipped with 100 WS2812 2020 addressable LEDs. It is controlled by an ESP8285-01f - the smallest ESP based module by Espressif. Additionally it has an ADXL345 accelerometer sensor on board.
Original idea was to display text messages on that round matrix (10x10) but unfortunately the distances of the arms are too big to be read easily (you can watch it in the end of the video). Nevertheless it is the most beautiful LED sculpture I have build so far.
Thanks PCBWay for sponsoring this project! These flexible boards are their creation and made with pure love.
Get Inspired!
Enjoy the video!
You will find nearly everything for the ball in this video. For some further informations, design, PCB and code files you can check out the following steps.
PCB Design!
This is my first flexible PCB design, so for sure you will find a few things which may are not the best to use here. The most important part for me as a DIY maker is that it will work in the end - and hey, it does! :)
For flexible circuits there are some special design rules which I have read about:
- Don't use traces with corners or edges in the flexible parts of the design. The traces could crack and the signals could be damaged. Curved traces are the better ones here.
- Same goes for the GND planes which could break due to bendings of the PCB. Better option here is to use a hashed net like shown in the picture above.
- Pads and vias should be connected to traces with these teardrops... Couldn't find this option in my favorite design software Eagle. If you can help, please tell me in the comments :)
The hardest part while designing this PCB was the circular arrangement of the LEDs, the caps and the pads at the end of the arms. I've created a simple Excel sheet to calculate the XY-positions according to the radius and the angle of the corresponding arm. It is for sure a huge help if you need circular arrangements like these. Unfortunately I am not able to add the file to this step. If you're interested then please let me know.
Everything You Need!
I have attached the BOM to this step. Details about every component can be found here.
Ideas to some main components can be found in the following list:
Downloads
Assembling the Ball!
Next to the hundred LEDs there isn't any special detail to keep in mind. I've used my DIY hotplate soldering iron but it wasn't the best idea at all. First it was too small to heat up all of the PCB. Second is that I have reduced the temperature in order to protect damage the PCB. It was a bit too low, therefore I had to use my reflow gun as well.
The rest was just a bit of trail and error. :D The hundred LEDs didn't want to work at first try. It took me about two hours to get it all light up. But the most satisfying moment was once all LEDs light up perfectly.
The other tricky part was to solder the arms of the bottom circle to the top one. I can definitely recommend using a third hand here, otherwise it could get really hard!
The Code!
The code is based on the FastLED library which can drive several addressable LEDs like the APA102, SK9822 or WS2812.
The only must have add on in the code is the latching part. The ESP is able to hold its own power supply as long as the latching pin is held high. Once it is pulled to GND the ball disables its own power. A basic example is shown in the attached file.
Downloads
Have Fun!
This project is still a work in progress. Nevertheless it was a secret project of mine and I couldn't wait longer to show you guys this awesome stuff. If you have other ideas what the ball can be used for then please let me know in the comments below.
Hope that you enjoyed reading this Instructable and may found a way to build your own flexball!
Feel free to check out my Instagram, Website and Youtube channel for more informations about the flexball and other awesome projects!
If you have questions or something is missing then please let me know in the comments below!
Have fun creating! :)