Introduction: 5$ PCB CALENDAR WITH BINARY CLOCK
Hi! I made this PCB calendar and binary clock with Eagle CAD. I used ATMEGA328P MCU (from Arduino) and 9x9 LED matrix. Dimensions for my board is 8cmx10cm(3.14inch x 3.34inch). It`s a bit too small but first: free version of Eagle CAD allows 80cm^2 and second: jlcpcb.com max size for 2$ pcb is 10cmx10cm. I will be working on much better version of this project with STM32L series MCU and DCF77. But this also is cool and simple project from which You could learn all the process how PCB is designed and manufactured + how to use Arduino as programmer.
In this instruction I will show You how to make Your own PCB calendar.
P.S. It`s my first prototype in pictures and video so I made some small mistakes (luckily magic smoke didn`t come out :D ) Via size is too big in my first project and solder mask can`t go over the drill so some texts are not fully writen. Last year is 2021 instead of 2023. I ALREADY FIXED THIS IN FILES YOU CAN DOWNLOAD ;)
Step 1: Design a Schematic
First You should choose controller for Your project and how You will control LEDs. I choosed ATMEGA328P as it is used in Arduino and it can be programmed in Arduino IDE. But this is not the best controller for low power applications. I recommend STM32 L series micro-controllers for low power applications.
For LED controlling I choosed 9x9 LED matrix as this is one of the best way to control a lot of LEDs (81 of them) with only 18 GPIO pins.
I added extra P-channel MOSFET to control power for all LEDs. This MOSFET can be driven with PWM signal to control LED brightness.
For battery I choosed CR2032 (150mAh). Although this is quite power efficient design because only one LED is on at any time and controller could be left in sleep mode, CR battery won`t last too long. For my next project I will use rechargeable battery with 5V USB port.
I choosed to use ATMEGA328P internal oscillator because it can be lowered to 1Mhz or even less for better power consumption but it has problem with internal clock frequency stability (there will be some seconds error in 24h).
Step 2: Design a PCB
I recommend this video to start with Eagle and search in forums.autodesk.com if You have some trouble. You can download and use my gerber files if You don`t want to make Your own design. In Eagle just import gerber files File->Import->Gerber.
In Eagle CAD 21 and 22 layer You can change text and add graphics to PCB. Eagle Layers
Great tutorial how to add graphics to Eagle PCB: Adding Custom Graphics to EAGLE PCB Layouts
Step 3: Make Your PCB
EDIT: great instruction how to make PCB: DIY Professional Double Sided PCB
Of course You can make it by Yourself but these days it`s much cheaper and better quality to make PCB in China. From JLCpcb.com You can get 10x10cm 10pcs as low as 2USD. Problem with JLCpcb.com is when You choose different color as standard green (black color is 17USD :( ) I also recommend elecrow.com because all colors cost 4.90$ (except matt-black and purple).
Just a quick example how to order PCB from JLCpcb:
1)press "QUOTE NOW"
2)press "Add your gerber files"
3)upload zip or rar
4)all properties could be left default
*the only thing You should change from properties is PCB Color (a little bit more expensive). In this case it`s cheaper to order them in www.elecrow.com
Step 4: Soldering
If You replicate my project this is the hardest step because I used 0603 SMD LEDs and 0402 resistors but It`s actually not that difficult to solder small parts if You have the right tools for the job. For me it took about one hour to solder all components. I learned how to solder from the master itself: EEVblog #997 How To Solder Surface Mount Components
I used sharp tweezers and small weller solder iron tip Amazon link
Use as thinn solder wire as You can get!
Step 5: Programming
WARNING: remove battery before You connect it to Arduino. Ardunino works with 5V but battery is 3V. I didn`t add diode in series with battery because 3V-Vdiode_drop would be 2.7V at best.
First follow this tutorial how to set up Arduino as ISP so You cold programm ATMEGA328P with Arduino IDE. In instructions follow Minimal Circuit (Eliminating the External Clock) example. If You have Arduino with SMD MCU You can follow this instruction: Arduino-Leonardo-as-Isp
You can download my Calendar.ino sketch and check how it works. There are some features still mising (set time with buttons, sleep modes and leap year calculation). IF statements could be replaced with SWITCH statements or even with arrays.
Attachments
Step 6: Binary Clock
Binary clock displays time in binary format. Binary clock Wikipedia
If You are not programmer at first it seems strange but this is great way how to get used to binary numbers ;)
Step 7: Project BOM and Gerber Files
calendar_main_sch.txt file has all the parts for this project (open it with notepad or notepad++ for correct formatting)
Resistors R1 to R77 are LED current limiting resistors and can be from 100 to 400 Ohms but I recommend to use 220 Ohms resistors. You can read this tutorial for more information: How to calculate the series resistor for an LED
Q10 to Q18 are N-channel MOSFETS in SOT-23 case. You can use any N-channel Enhancement Mode MOSFET but check in datasheet parameter: "Gate Threshold Voltage". Max value must be lower than 3V.
caledar_main_sch.zip has all gerber files (These files are already fixed with smaller via size so solder mask can fully cover them and vias will be invisible and last year now is 2023). You can import them in Eagle or upload to JLCpcb and "QUOUTE NOW"
Calendar.rar is all my Eagle CAD project. Probably You should go into Library manager and add library location. In Eagle: Library->open library manager->Avalable->Browse->add Libraries location->click on library->use.

Participated in the
PCB Contest
25 Comments
1 year ago
This could be cool as a binary clock for the unix clock. Could be a large display but serious geekness.
3 years ago
I’d like to build it but in through hole format, do you have a schematic for the wiring?
4 years ago
Really nice project! Thank you for sharing. Now jlcpcb.com offers $2 for 10 PCBs with any color, it seems they've removed the extra fee for other solder masks recently.
4 years ago
This is awesome! You should sell them on Kickstarter!
Reply 4 years ago
Thank You! Currently I don`t have a plan to sell these. My goal is to inspire people in electronics by showing some simple projects.
Reply 4 years ago
I think JeremyM146 is right! You should try to sell these as kits in Tindie for example for people who want to start in electronics and don't know much about ordering parts and so on!
Great instructable!
Reply 4 years ago
Thank You :) I`m now working on better version of this (slightly bigger, with STM32L0 MCU and rechargeable battery). I have never tried to sell something in Tindie so it would be interesting experience
Reply 4 years ago
Yeah you should do it keep us posted if you decide to
Reply 4 years ago
Well, I can't wait to see those on Tindie! Keep up the good work. If you need something just send me a message I have experience selling on Tindie!
4 years ago
This is very interesting project... One suggestion, please include RTC chip as wll so that at poer faliure the RTC works for the time...
Reply 4 years ago
Thank You! I`ll make new version based on STM32L0 MCU with integrated RTC ;)
Question 4 years ago on Step 3
Hi! Good day.
Is there a Gerber file available forma download? Ir so, what Is the name ir where can i Finde ir?
Thanks!
Answer 4 years ago
HI! Yes, all gerber files and drill file is in "calendar_main_sch_2019-01-17.zip'' You can find it in Step 7 documents ;)
Question 4 years ago
The BOM file cannot be downloaded; is it just me or it happens to other too?
Answer 4 years ago
I uploaded now as .txt file. I hope it will work now ;)
Reply 4 years ago
Yes, it works thanks :)
Just a couple of things:
1) there are some 10 ohm resistors; are they really 10 ohm or they are 10k?
2) the images of the schematic are not very clear; maybe it is better to include the full resolution ones too as attachment (or, better, the schematic as a pdf)
3) from the pictures it seems to me that the years print is 2019,2020,2021,2022,2021 (and not 2023). Is this a mistake?
4) maybe it would have been easier to use the so-called charlieplexing technique rather than a full matrix, to save pins and components
Thank you for your project :)
Reply 4 years ago
1)10 Ohm resistors are in series with programming pins. I added them for safety.;
2)I`ll generate PDF file, I tried exporting it as image but it seems like schematics is too big;
3)Sorry, this is mistake :( I will fix this and upload new gerber files ;)
4)Charlieplexing technique also was my first thought because it needs less GPIO pins but then I choosed to use matrix. I think it`s easier to burn MCU if someone adds incorrect series resistance in Charlieplexing technique.
Thank You veary much for feedback ;)
Reply 4 years ago
Thank you for your help ;)
Just another question, since I'm not so much proficient with eagle: you can't modify the layout from the gerber only, can you? I wanted to learn something by slightly modifying your design (for instance switching PC4 and PC5 with PD0 and PD1 , so that I2C is accessible - for an RTC if needed) but without starting from scratch. Is it possible?
Reply 4 years ago
I added all my project as Calendar.rar in Step7. I guess You should add my libraries as I explained in Step7.
Hope it works ;)
Reply 4 years ago
Yeah, we'll try that as soon as we got some time to tinker with it. Thank you :)