Desk Clock With 20x4 LCD

As I am mostly working on my desk and there is no clock around me to check (only one is a phone or a small corner Microsoft Windows taskbar clock), I think of making something that not only shows the time but also the temperature and humidity of my room (to feel cozy when the temperature is right).
I had a 20x4 LCD around for so long, so I decided to get some use out of it. In this Instructable, you will find details about how I made it, and you can also build one yourself.
Hope you like it...
Supplies







1 X Arduino(nano/pro_micro/pro_mini):- I am using pro-mini, you can use what you want.
1 x LCD 20x4
1 x Lcd i2c shield
1 x Rtc module 1307/1302
1 x STHX3 Temperature and Humidity sensor
=============================================
There are 2 versions, one with a battery and one without
With battery
1 x 1000mah battery(Lion/Lipo)
1 x 5V step-up battery module with charging
=============================================
Without battery
1 x USB Type-C / Micro USB breakout board(you can use any tereminal you prefferd)
=============================================
If you are using an Arduino Pro Mini, as I have done, then you will require
1 x USB programmer like FTDI
Now, most of you are wondering why I chose this specific temperature sensor. I had planned to use a good old DHT11, but I accidentally damaged it, so I need to buy a new one. Now I have decided to go with more accuracy and more reliability
That's the reason I chose this; it is not that expensive and provides good value, and supports I2C.
Make Everything Running

After gathering all the required parts listed or whatever you have, the first step is always to ensure that they work. After that, jump onto the test setup.
We will start with our heart, or more specifically, our brain —the microcontroller. For this project, I am using an "Arduino Pro Mini". I am using this because of its compact size and less power consumption, but you can use whatever is available to you. I have made the code versatile enough to make sure it will work on different Arduino*.
Make the connection as shown in the diagram, and program the ARDUInoooo, and hope it will not blast....... just kidding,
Make sure everything wires perfectly and tweak around here and there. If you feel/see everything is fine, go to the next step
Coding.. the MCU
Now, you can use this code, which I have attached to this section.
And make sure you do not forget to add the required library:
DS1302: -DS1302.h ()
LIQUIDCRYSTALI2C: - LiquidCrystal_I2C.h
SHTX30 :-Microfire_SHT3x.h
Downloads
Designjing the Enclouser



Coming to the next part, to create an enclosure for this, I came up with this design, as I prefer to keep things simple and practical. It's just a normal 3d printed enclosure with enough inside space to mount all the components required
But there is no end to imagination. I have provided you with the 3d model of this. You can modify and make it cooler looking
Making of PCB


Now, everything works fine on the breadboard; it's time to move it to the PCB for mine. I have used a doted PCB/perf board to solder all the components directly.
And all connection areas, as per the Diagram shown in Figure in step 2
And Done !!!




And it's a wrap, it is done, everything is working fine, and it is accurate. I have tested it for a couple of days, tried turning it on and off, but it still shows accurate time, and the temperature and humidity level are pretty accurate also
I was thinking of using ESP and wifi and display a bunch of more stuff, but as I said, I like to think simple, that's why I made it simple...
Future Update or Suggestons
As always, you can drop comments and give me some suggestions to improve it, and also, I am planning to make it more compact and add more features to it, and maybe create V2 of it.
And Maksurere, you follow as I am planning to build some more devices
Thanks....... and be safe and keep tinkering ; )