Just Hues: an Ultraminimalist Perpetual Monthly LED Calendar
by andrei.erdei in Circuits > LEDs
210 Views, 8 Favorites, 0 Comments
Just Hues: an Ultraminimalist Perpetual Monthly LED Calendar
Tired of the same old calendars with their rigid grids and glaring numbers? Yearning for a more subtle and visually engaging way to perceive time? Embark on a journey with me as we construct an ultraminimalist LED calendar that discards traditional numerals and embraces the elegance of pure color.
This unique calendar, housed within a 3D-printed frame and diffuser, and some WS2812 LEDs, instead of displaying numbers, it mirrors the actual layout of each month, with LEDs representing individual days. Picture the familiar grid of a calendar month, but without any numbers to clutter the view.
The passage of time is beautifully visualized through a harmonious blend of colors:
- Green illuminates the weekdays, symbolizing the flow of work and daily routines.
- Red highlights the weekend days, marking periods of rest and rejuvenation.
- Blue shines brightly on the current day, anchoring you to the present moment.
And telling the date? Well, that's an adventure in itself! Prepare to channel your inner oracle as you declare, "Behold! It is the eve of the spectral Samhain revelries, the third glowing ember in the fourth week of the fading autumnal month!" (Okay, maybe you can just say "It's Wednesday, October 23rd," but where's the fun in that?)
Powered by a Wemos D1 mini and a simple power supply, this calendar is surprisingly easy to build and personalize.
What you will get:
- All the 3D printing files you need to bring this chromatic calendar to life.
- The complete circuit diagram and code, ready to be uploaded to your Wemos D1 mini.
- The satisfaction of building a truly unique and eye-catching calendar that will spark envy in all who behold it.
So, are you ready to ditch the digits, embrace the hues, and embark on a colorful adventure in timekeeping? Let's get started!
Decoding the Calendar
When we look at a standard calendar, we know there are only seven possible ways a month can start since a week has seven days. Then we can have three or four full weeks, and the month can have 28, 29, 30, or 31 days. If we do the math, we have 7 * 4 = 28 possible configurations for a month in the calendar.
Let's begin with the format where the week starts on Sunday.
November of this year looks like this:
Weekend days are highlighted in some calendars with bold numbers, in others with the color red. In this project, weekend days are red, and weekdays are green.
If I remove the numbers...
November starts on a Friday (the first day before the weekend, the 6th day of the week, the first week is two days long), has four full weeks (meaning all seven days), and the last week ends on a Saturday (the first day of the weekend, the 7th day of the week, the last week is seven days long). So even without any numbers displayed, we can firmly state that November has 3 + 27 = 30 days (which we already knew anyway) 🙂
But if we display the current day in blue...
The 4th day of the 4th week of the month is 2 + 14 + 4 = 20th November (the first week has 2 days + 2 full weeks + the day of the week). Simple, isn't it? 🙂
Now if the week starts on Monday:
We see that November starts on a Friday (the first day before the weekend, the 5th day of the week, the first week is three days long), has three full weeks (meaning all seven days), and the last week ends on a Saturday (the first day of the weekend, the 6th day of the week, the last week is six days long).
So even without any numbers displayed, we can firmly state that November has 3 + 21 + 6 = 30 days (same result as above) 🙂
Displaying the current day in blue...
The third day of the 4th week of the month is 3 + 14 + 3 = 20th November (the first week has 3 days + 2 full weeks + the day of the week). Just as simple, isn't it? 🙂
Components and Considerations
Here's a breakdown of the essential components:
3D-Printed Parts:
- Frame and Diffuser: These components will house the LEDs and provide a sleek, minimalist aesthetic. You can find the design on Tinkercad or use the attached STL files to print them yourself.
Electronics:
- WS2812B LEDs: These individually addressable LEDs are the heart of our calendar, allowing us to create the vibrant color patterns. You'll need 37 of them, easily harvested from a longer LED strip. For this project, I used WS2812B LED strips that I ordered from Amazon.de. They came in 1-meter lengths with a density of 100 LEDs per meter. Interestingly, these strips had a fourth connection labeled "B" (BI, BO) alongside the standard Vcc, GND, and Data lines (DI, DO). I left this extra connection unused.
- Wemos D1 Mini: This compact microcontroller board will be the brains of the operation, controlling the LEDs and keeping track of time. I recently picked up some new modules that have USB-C, and I decided to try one out in this project.
- 5V/2A Power Supply: This will provide the necessary juice to illuminate our LEDs.
- DC Power Connectors: A pair of male and female DC connectors (2.5mm) will ensure a secure connection between the power supply and the Wemos D1 Mini.
Other Bits and Bobs:
- Connecting Wires: Assorted colors will help keep your wiring organized and easy to follow.
- Heat Shrink Tubing: This will provide insulation and strain relief for your connections.
A Note:
It's worth noting that my "100 LEDs/meter" strip didn't quite live up to its name! The actual spacing between the LEDs was 11.2mm instead of the expected 10mm. This discrepancy required some adjustments in the 3D model design. So, if you're using a similar LED strip, be sure to measure the spacing carefully and adjust your design accordingly.
Construction and Assembly
With all our components gathered, it's time to dive into the exciting process of building our chromatic calendar.
3D Printing:
I started by 3D printing the base that will hold the LED strips. Then, I moved on to the calendar box itself. This is a unique piece because it's printed using two materials: the bottom of the lid is made from a transparent PLA (Volcanic Dust), while the walls of the box are printed in black PLA. I wanted a smooth, diffused light for the calendar, so I used 100% rectilinear infill for the transparent lid. To further enhance this effect and prevent the LEDs from creating distinct hotspots, I inserted a sheet of white paper between the lid and the LED grid. This creates a softer, more visually appealing glow.
The printing method will vary depending on your 3D printer, but the most common approach is to start with the transparent PLA, pause the print at the height where the walls begin (after about 3mm), and then continue printing with the black PLA. This creates a beautiful contrast between the transparent lid and the opaque black walls.
The remaining components are straightforward to print, and I used black PLA for those as well.
LED Assembly:
Once the base was printed, I carefully attached the LED strips to it, arranging them in a 4x7 grid with an additional strip of 2 LEDs. I made the connections between the strips according to the wiring diagram.
Before finalizing the connections, I uploaded a short test program to ensure all the LEDs were functioning correctly. (It's always a good idea to check for any faulty LEDs before committing to the final assembly!) Everything worked perfectly, so I secured the LED strips to the base with a few drops of superglue.
Final Assembly:
With the LEDs tested and secured, I uploaded the final software to the Wemos D1 Mini and began the final assembly. This involved carefully placing the electronics within the 3D-printed box and connecting the power supply.
I took several photos during the assembly process, which you can see above. These visuals should provide a helpful guide as you assemble your own calendar.
Web Interface and a Touch of Sparkle
While this calendar thrives on simplicity, it still offers a touch of customization and a subtle dynamic element.
The Web Interface
To configure the basic settings of the calendar, we'll use a web interface. I've employed this same interface in many of my projects, adapting it from John Lassen's original design. You can learn more about this interface and how it works in my previous Instructable.
Keeping it Simple
For this project, the web interface allows you to choose your preferred starting day for the week (Sunday or Monday). That's it! No complex color palettes or elaborate animations here. This minimalist approach to customization aligns perfectly with the ultraminimalist aesthetic of the calendar itself.
A Subtle Sparkle
To complement the static display of the calendar, I've added a subtle "glitter" effect. This effect randomly illuminates a few LEDs in white, creating a gentle shimmer that adds a touch of visual interest without overwhelming the minimalist design.
The code is here.
A Glimpse Into Minimalist Timekeeping
Seeing is believing! To truly appreciate the subtle beauty and functionality of our "No Numbers, Just Hues" calendar, I've captured its essence in a short video.
In this video, you'll witness:
- The calendar displaying the current month's structure with LEDs, showcasing its unique visual representation of time.
- The gentle "glitter" effect adding a touch of magic and dynamism to the minimalist design.
- How effortlessly you can decipher the date using the LED grid, even without traditional numbers.
This visual demonstration offers a captivating glimpse into the minimalist charm and surprising functionality of our creation. Enjoy the interplay of light and color as it redefines your perception of time.
Concluding Thoughts
As the final LEDs fade and our journey through the construction of "No Numbers, Just Hues" comes to an end, it's time to reflect on the experience and glean some insights.
This project was a fascinating exploration of minimalism, technology, and the art of timekeeping. By stripping away the conventional numerals and embracing the language of color, we've created a calendar that is both functional and aesthetically pleasing.
Key Takeaways:
- Minimalism can be surprisingly expressive: Even with a limited set of elements, we can convey complex information and evoke a sense of wonder.
- Technology can enhance our perception of time: By harnessing the power of LEDs and microcontrollers, we can create dynamic and engaging displays that transcend traditional timekeeping methods.
Potential Enhancements:
While this project is complete, there's always room for improvement and customization. Here are a few ideas to explore:
- Embrace the Rainbow: While I opted for a minimalist approach with fixed colors, you could easily add the option to customize the colors of the weekdays, weekends, and current day. Let your imagination run wild and create a calendar that truly reflects your personal style!
- A Symphony of Lights: Beyond the subtle "glitter" effect, consider experimenting with other dynamic lighting patterns. Perhaps a cascading rainbow effect, a pulsating heartbeat, or even a mesmerizing visualization of music. The possibilities are endless!
- Adding interactivity: Incorporate buttons or sensors to allow users to manually change the date or trigger different display modes.
- Integrating with external data sources: As the calendar is already connected to the internet it can display weather information, lunar phases, or other relevant data.
This project was a rewarding journey, and I hope it inspires you to explore your own creative ideas and push the boundaries of conventional design. Now, go forth and build your own chromatic masterpiece!