At long last, this project is complete. There were a lot of iterations, a lot of mistakes, but the end product is something I can be proud of. My first large-ish project using the 3D printer and LEDs and all that goes with it. I learned a lot and am very satisfied with the results. Looking back at the originally planned features, I was able to check each one off and even add a few. The sign takes up about a 17 (H) x 18 (W) inch area and looks pretty clean on the wall, if I do say so myself.
effects and features
The plan was to have a sign that could display any color and at least a few lighting effects. The final product is able to do just that. Any color can be selected via the custom app (shown below). Predefined colors can be used through voice command. There are currently eight different effects (see video demo below), which is more than I originally planned. The LEDs can be turned off to preserve battery power.
As designed, it can be hung on a wall or stand on top of a flat surface. It’s fairly sturdy despite the “does it” overhanging. Due to its slender profile, it doesn’t take up too much space on a table either. The 10,000mAh battery keeps the sign lit for about two full days when displaying the rainbow effect. If it were to display all white, I’m sure the battery would last less than a day since white would use the most power. Turning off the LEDs when not in use further preserves power and the sign is able to idle with just the ESP32 powered on (without sleep function) for nearly a full week. Not bad! I could probably squeeze out a few more days of idle power if I implemented the sleep function of the ESP32, but for this project, I didn’t really see the value.
Controlling the sign is done via the custom Android app or through Google Assistant. Any of the eight effects can be activated, the sign can be turned on or off, and the brightness can be set to slightly dim. While the app allows selection of any color for display, only predefined colors are used with Google Assistant activation. Google Assistant is powered through IFTTT and AdaFruit’s IO service. Definitely a great way to integrate smart features into almost any project.
cost and materials
The sign was entirely 3D printed other than the LEDs, battery, and controller. Cost of materials does not include wires and screws, which most people have already, nor electricity (which isn’t much). Cost of filament is estimated based on the final print and does not include test prints. Disclaimer: Links to specified materials are affiliate links. If you enjoyed this project and would like to support other projects, please considering using these links to make your purchase.
Grand Total: ~$57
- ~$16 Black PLA
- ~$6 White PLA
- ~$5.20 WS2812B RGB Addressable LEDs (used 52 LEDs)
- ~$7.50 ESP WROOM-32 dev board
- ~$22 Anker PowerCore 10,000mAh Power Bank
Obviously, if you chose to make a sign yourself, the cost would vary based on how big it is and how many LEDs you plan to use. My design used 52 LEDs, which I thought was sufficient to light the sign while keeping within my battery power limits. The cost of the battery will vary greatly too. This particular power bank does go on sale now and then, but at the time I purchased it, it was unfortunately not on sale. I went with this particular power bank for its physical dimensions while also providing enough power for what I believed would be sufficient for a day’s worth of use.
wrap up & demonstration
This project has been fun and full of learning opportunities. Of all the features listed in the planning stage, the only one I did not implement was a plug-in option. Overall, I’m very satisfied with the end result and I’d probably make something even better the next time around. I’m looking forward to the next project and using what I’ve learned. Below is a video demonstration of the sign.