Backlit Automated Perpetual Calendar - a CNC Project

13,967

124

21

Introduction: Backlit Automated Perpetual Calendar - a CNC Project

Another approach on Automated Perpetual Calendar theme

I think there is no object more present in our lives than clocks and calendars. The passage of time has always been a major thing in people's lives. I'm no different either, I think this can be seen from the number of my watch projects. Now I would like to show you one of my calendar projects.

There are thousands of calendar projects but I have liked perpetual calendars, the idea of reusing a calendar has always seemed special to me, this way I don't have to change my office calendar every year, do I? The downside is that many of these types of calendars are large, cluttered tables that are hard to read and interpret. Or there are some cubes with the numbers of the days of the week and cubes that have the months of the year written on them, so these unfortunately must be updated every day. There are also sets of different (wooden, metallic. magnetic) pieces with the numbers from 1 to 31, which are matched, chosen, every month and placed on a panel.

I stopped at the variant in which there are two sets of numbers of the months and with a square slider you can choose the conformation of the days of the current month.

Although at first glance it seems inappropriate to enter this project in the CNC contest, you should know that most of the realization of the calendar was the design and milling of acrylic components. Otherwise, the electronic part is very, very simple and so is the software

In the next steps I will explain in detail what it is all about.

Step 1: Operating Principle

I searched the internet for a long time for the origin of this type of perpetual calendar but I didn't find anything. If someone knows something, I would like to know because I would like to be able to attribute the idea to someone, what is right is right.

In the picture above you can see how the calendar looks. In a table of 13 columns and 6 (sometimes 5) rows are placed the dates of the month and by sliding vertically a frame you can choose the configuration of the days corresponding to the current month. For October 2020 it would be as in the figure below.

But a problem arises for September 2020.

As you can see, although September has 30 days, the 31st still appears in the calendar. Even more annoying is February 2021, when although the month has 28 days, the days of 29, 30 and 31 are also visible.

This is the main disadvantage of this calendar, the months will have in the vast majority of cases, the days up to 31 visible. Despite this, on the internet you can find thousands of products or projects made according to this principle. Search etsy, or look at this links on amazon (link1, link2) or youtube (link1, link2, link3, link4) and you will see what I am talking about.

And there is another major drawback of this calendar, as with all office calendars, the fact that they have to be brought up to date sometimes daily or at least monthly, which does not always happen because we simply forget about it :)

My project takes into account these problems and therefore, to display the days of the current month I use a strip of LEDs placed behind a paper screen, on which are printed the numbers of the days of the month, only the necessary LEDs light up to show the days of the actual month.

The colors can be chosen, the current day lights up in a different color, and the weekends and working days in other colors, and all this is done by a microcontroller that takes the time from the internet, so the calendar is updated automatically. For example, February 2021 might look like this (first weekday - Monday).

Step 2: What Is Needed?

Necessary materials:

  • 2 pieces of smoked acrylic one with a thickness of 3mm and the other 5mm;
  • 3mm countersunk head screws, 3mm washers and nuts;
  • A4 White colored paper;
  • 72xWS2812 LEDs from a band of 60 leds/m;
  • ESP-01 module with ESP8266;
  • 5V/3.3V stabilizer;
  • 5.5x2.5mm DC Female Plug with Cable;
  • 5v/2A power supply with 5.5x2.5mm DC Male Plug;
  • Connecting wires.

Tools

  • Of course a CNC, that can even be a very cheap one because we need plastic processing, so the strength requirements are not high;
  • Soldering station;
  • Inkjet printer;
  • Hot Glue Gun;
  • 3mm End Mill;
  • 5mm Countersink End Mill;
  • Other general purpose tools.

Step 3: CNC Machining of Parts

As I said in the first step I don't think it's a surprise that the most important part of the project is the CNC manufacturing of the four components of the calendar. All the necessary vector files are attached below.

Note: The front is milled from 3mm acrylic the rest from 5mm thick acrylic.

There is not much to say about the operations themselves, the cutting and processing of the acrylic materials are treated in extenso here, on instructables:

but also on the internet:

to enumerate a few.

But as a basic rule, the rotation speed of the End Mill must be relatively low, the feed rate relatively high because the melting of the material must be avoided. This melting results in poor quality cut edges and can lead to vibration or even destruction of the End Mill. I used a 3mm End Mill for all cuts, at a speed of about 10000 rpm/min and a feed rate of about 420 mm/min. For countersinking I used a Countersink End Mill with a 5mm diameter. The milling depth was 1.5mm. The result was a profile where the ends of the screws fit very well. Above you have photos from the processing of the parts and of the result.

Step 4: The Paper Screen

While the CNC was working hard on the acrylic parts of the calendar, I printed the screen.

I attached below the SVG vector files, two variants, one with a black background and one with a white background. Notice that I also put the names of the months on the calendar, a logo that you can replace with your favorite logo, or motto, and some special signs that I plan to use in the future to signal important days like birthdays, holidays and so on.

I did the printing on a normal inkjet printer, but with a good quality paper that has a uniform texture, a strong white color, and a thickness slightly larger than a sheet of copier paper. I printed the pattern 5 times on the same piece of paper so that the black background was as opaque as possible. I used the same technique in my “VERBIS - Desktop 8x8 RGB LED Matrix Word Clock” and it worked very well, the display being clear, visible and pleasant to the eye.

Some photos with the printings are above.

Then, I put the paper aside to dry the ink well and continued with the electronic part.

Step 5: The Electronics

The scheme is very simple, I attached it above. For its realization I did the following operations:

  • I cut 5 pieces of 13 LEDs and one piece with 7 LEDs from the LEDstrip and tinned the ends for easy soldering of the connection wires;
  • I glued these pieces in the milled channels in the back piece of the calendar according to the electronic scheme, (the LEDstrip is self-adhesive);
  • With blue wires I made the connections of the pieces of LEDstrip between Data Out and Data In;
  • I soldered the power connections with red wires (+ 5V) and I used green wires (Ground) between the pieces of strips, pay attention to the polarity!;
  • I then made the connections to the power stabilizer, the connections between the stabilizer and the ESP-01 module;
  • At the ESP module I soldered a connection between Vcc and CH_PD as it is in the schematic then I made the connection between the GPIO2 pin of the ESP-01 module and Data In from the first piece of LEDstrip
  • The last operation was to solder the power cord.

You can follow the photos about this operations above.

Step 6: Assembly

After doing all the soldering at the electronic part, I fixed everything I could with a few drops of hot glue: the ESP-01 module, the voltage stabilizer, wires that could move then:

  • I cut the printed paper around the printed pattern at about 1cm and with a sharp object I made two holes, exactly in two opposite corners. I inserted two screws through the acrylic back, corresponding to the holes previously made in the paper and I fixed to the back the middle acrylic piece, the grid;
  • I carefully inserted the screws into the holes in the paper. Why so much care? I wanted to match the printing with the grid and the LEDs as accurately as possible;
  • I then put the front piece on the piece of paper;
  • This time I inserted in the 4 remaining holes, in front, in their place, the other four screws, and I tightened them a little with the washers and the nuts,
  • Then I took out the first two screws and reversed them and tightened them as well;
  • Finally I cut the printed paper as close as possible to the edge of the screen with a sharp cutter.

These steps are shown briefly in the photos above.

The calendar is ready, we just had to enliven it :)

Step 7: Programming

The program is based on the same framework with which I worked on my projects based on ESP8266, namely ESP 8266 Arduino IDE WebConfig by John Lassen and BVB_WebConfig_OTA_V7 from Andreas Spiess.

As I said many times, this framework offers a web interface through which I can configure the ESP8266 module access to a router and I also have access to the exact date and time taken from an NTP server. So it's perfect for this project. All I had to do was add a function to display the days of the current month and the current date but I wanted to also have the opportunity to choose the first day of the week to be Sunday or Monday. I also wanted to use the other LEDs so I thought it would be interesting to display some icons corresponding to some important events: birthdays or holidays during the year.. You can find the source program on Github.

I wrote more about the framework used in:

I did the programming with an adapter for ESP-01 and with a USB to TTL adapter as in the pictures above.

I will not insist on the programming, there are literally thousands of howtos that show ESP8266 programming and I have shown several variants in my older instructables, but if you have any questions feel free to ask.

To compile and load the program into the ESP used the Eclipse IDE for Arduino named Sloeber, the esp8266 library version 2.7.4 and the FastLED library version 3.3.3 , so the newest at this date.

Step 8: It's Alive!

I did some simulations for different months in the future, you can see them in the video below, I think it shows quite well how the calendar works.

As you can see the motto is not very visible, I thought that the red LED from the stabilizer will illuminate it enough but it seems that in the future I will have to add another one or two LEDs for a better effect.

Step 9: ​Options, What's Next?

I made the calendar from acrylic material because I had it at hand but nothing will stop you from making the back and the grid from other plastic material or wood only the front would be transparent or semi transparent acrylic.

The size of the calendar may seem large but if you want to reduce it you can use a LEDstrip with 120 leds/m or even two LED matrix displays of 8x8 leds, a lot of LEDs but you can use the extra ones for example to show the days of the week (color coded with rainbow colors :))

Although I did the project on a CNC, it can be done with a Laser Cutter or on a 3D printer. You need to use the SVG files in step 2 for this. However, it is true that you need a 3D printer whose platform can fit 235x120mm parts. I can only print pieces smaller than 220mm.

Several events can be compiled in the program but it is clear that an interface for their retrieval would be easier. It would also be interesting to synchronize the perpetual calendar with the calendar application on your mobile phone.

Anyway, I'm still very happy with the result. I have a great office calendar. I hope you will make one too.

As always I look forward to your feedback!

CNC Contest 2020

First Prize in the
CNC Contest 2020

Be the First to Share

    Recommendations

    • Metal Contest

      Metal Contest
    • Backyard Contest

      Backyard Contest
    • Summer Fun: Student Design Challenge

      Summer Fun: Student Design Challenge

    21 Comments

    0
    kadeno5
    kadeno5

    Question 5 months ago

    That breadboard adapted attached to the TTL Serial adapter on the back do those stay on all the time or can they be disconnected once the code has been uploaded. ive worked with arduino boards that have USBs built into them, but not this way before

    0
    andrei.erdei
    andrei.erdei

    Answer 5 months ago

    I used the adapter connected to de ESP-01 and to the USB to Serial module only to make my life easier :) Of course the adapter will be removed after loading the program.

    0
    kadeno5
    kadeno5

    Reply 5 months ago

    For your last section you talk about swapping the LEDs with a matrix to make it smaller, doing that would basically make the process the same right? only difference is you don't need to make the strips. I haven't used LEDs in a project before and haven't done a whole lot besides a little bit more than basics with electronics. Would these LEDs work well? I'm doing this project for class and want to make sure I don't end up costing the school more than I already have to. https://www.amazon.ca/BTF-LIGHTING-0-24ft0-24ft-Programmed-Individually-Addressable/dp/B01DC0IMRW/ref=sr_1_3?dchild=1&keywords=72xWS2812&qid=1615226473&rnid=12035759011&sr=8-3

    0
    andrei.erdei
    andrei.erdei

    Reply 5 months ago

    I have worked with this kind of matrices, you can read about them in some of my instructables:
    https://www.instructables.com/VERBIS-Desktop-8x8-R...
    https://www.instructables.com/Playing-Chess-Agains...
    https://www.instructables.com/The-Beauty-of-Math-C...
    https://www.instructables.com/Color-Coded-Clock-Co...
    and I can tell you they are working ok.
    The link which you provided is about a flexible led matrix but there are also cheaper ones if you are worried about the price, for example:
    https://www.amazon.ca/WS2812-Matrices-Color-Module...
    Hope it helps.

    0
    kadeno5
    kadeno5

    Reply 4 months ago

    Do you know if this project could work with 30LED/m as I realized my sister has an LED strip but there 30/m. or would 30 be too much of a gap to use. This is the specific LED strip she has: https://www.amazon.ca/Govee-Waterproof-Changing-Ad... I think i may not use the idea of matrices as I want to keep the same layout so that the first day of the month isn't just the first day of the week as It would be if I made it smaller. so If that LED i sent could work then this would be great. Sorry for some many questions and bothering you so much

    0
    andrei.erdei
    andrei.erdei

    Reply 4 months ago

    Hi,
    with the LED strip from the link you posted you have no chance. The height of the calendar would be the same but the length twice as long, much too large. Maybe if you try to bring the LEDs closer and bend the tape somehow, maybe you will succeed, but your LEDs also have a silicone tube protection for the outside and it would be a shame to disassemble it just for that. You can buy very cheap led strips with 30 leds/meter and there is no point in sacrificing those leds.you own.

    0
    kadeno5
    kadeno5

    Reply 4 months ago

    Ok thanks. I ended up finding these ones which are the proper amount so I think I will go with these: https://www.amazon.ca/WS2812B-Non-Waterproof-Varia...
    They may take a while to arrive but its better than spending too much. Thanks for all your help.

    0
    andrei.erdei
    andrei.erdei

    Reply 4 months ago

    That strip of LEDs looks good!
    You're welcome!

    0
    kadeno5
    kadeno5

    Reply 3 months ago

    Hi, So I was wondering do you by chance maybe have dimensions for all the electronic parts? Where I live just got lockdown extended even longer and more strict So I can't get to the parts. I was hoping to this week and wanted to ask if maybe you may have them. I've tried looking them up online but get just the LxW, not the height which is something I was kinda wanting to use as well to make a full scale 3D model

    0
    andrei.erdei
    andrei.erdei

    Reply 3 months ago

    There are the LED strip, the esp-01 module and the 3.3V stabilizer module?
    https://www.witop-tech.com/ws2813-addressable-5v-r...
    https://docs.ai-thinker.com/_media/esp8266/esp8266...
    https://www.openimpulse.com/blog/products-page/pro...
    but I can't really give you exact dimensions because there are hundreds of variants from hundreds of manufacturers and the dimensions can differ quite a lot. You can be guided by the links above with a certain approximation...

    0
    kadeno5
    kadeno5

    Reply 3 months ago

    Ok, Thanks I just got word that Im still able to go in for a class so I should be good

    0
    kadeno5
    kadeno5

    Reply 4 months ago

    Ok I think that should help. Thanks

    0
    dancopy
    dancopy

    11 months ago

    Greetings Andrei
    Certainly, your calendar design was the most beautiful among all shown
    in the links. But I didn't understand this:

    "As you can see, although September has 30 days, the 31st still appears
    in the calendar. Even more annoying is February 2021, when although the
    month has 28 days, the days of 29, 30 and 31 are also visible."
    Does this remain a mistake or did you fix it?

    Another thing I didn't understand: because the calendar repeats several
    numbers like here:
    1 2 3 4 5 6 7
    2 3 4 5 6 7 8 9 10 11 12 13 14
    9 10 11 12 13 14 ... etc?
    That is, why is it not simply from 1 to 31?
    Thanks

    0
    andrei.erdei
    andrei.erdei

    Reply 11 months ago

    Thank you for your appreciation.
    I will try to answer you...
    "Does this remain a mistake or did you fix it?"
    Yes I fixed it in a way, because the numbers are lit by leds so I can choose what numbers to be visible.
    "Why is it not simply from 1 to 31?"
    Before answering please look again at my month graphics from step one and look also to a normal calendar. How did you show twelve months that are starting at different days of a week with the same LEDs placed in the same place? Do not forget, even if the display looks like an LCD display ( :) ) it is not, there is a single LED behind every number of the day of the month, so to mimic the look of all the months in every year more numbers needed to be printed. Exactly like at the calendars in the links.
    I hope I was able to clarify things a little bit.

    0
    dancopy
    dancopy

    Reply 10 months ago

    Thank you very much for the clarification!

    0
    andrei.erdei
    andrei.erdei

    Reply 11 months ago

    Very interesting your calendar! And it is very suitable for "electronicization" :) If you don't own a CNC machine why don't you turn to a company that has a one near you? Also a part of the project can be 3D printed only the front remains for CNC machining. I hope you can succeed!

    0
    silver55
    silver55

    11 months ago

    Bello e ben spiegato. Si può evidenziare il giorno corrente?
    Nice and well explained. Can you highlight the current day?
    Silver55

    0
    andrei.erdei
    andrei.erdei

    Reply 11 months ago

    Grazie mille per il tuo apprezzamento!
    Thank you very much! The current day is highlighted in blue, maybe it is not to visible in photos and in video, but in reality it is very visible. Anyway you can choose your own colors in the code.

    0
    AMbros Custom
    AMbros Custom

    11 months ago

    Very beautifully executed project. Thanks for sharing.