In this project, we will build an ESP32-based smart clock for weather forecasting. Makerfabs sent me an electronics kit with numerous active and passive electronic components. A PCB Board with SMD components was also constructed on the board. In addition, it included a 1.44-inch LCD display and a 3D casing. This comprehensive package may be utilized to create a Smart Clock with Weather Forecasting and Alarm System.
You can also create a real-time clock that retrieves the current global time through the Network timing protocol. You can also quickly set your local time zone. It also includes an alarm clock that emits a loud sound. The third best feature is an online global weather forecaster that provides information on the local temperature and humidity. Without reprogramming, you can quickly modify or alter your address or cities.
Features: ESP32 Based Smart Clock with Weather Forecasting
- ESP32 WROOM module: WiFi, Bluetooth, 4MB Flash
- 1.44inch 128128 color display, ST7735 driver
- Micro USB interface for programming
- Support Arduino IDE
- 450mAh Lithium-Ion battery
- Support Battery Charging
- Plug-in components, easy soldering
Design & Schematic
Following is the schematic for the DIY ESP32-based smart clock and weather forecasting system project.
The WiFi and Bluetooth-capable ESP32-WROOM-32 chip is the heart of the project. The LED indicator and three distinct pushbutton switches are wired directly to the ESP32 digital Pin. The 1.44-inch SPI Color LCD is connected to the ESP32 by SPI Pins. For automatic programming, the two SMD Push buttons for Reset and Program are coupled by transistor. This means that no button must be pressed during code uploading.
The board has a CP2104 USB-to-Serial Converter IC. The CP2104 is a highly integrated USB-to-UART Bridge Controller that features a USB 2.0 full-speed function controller and USB transceiver for firmware uploading. In addition to low power voltage regulators and MCP73831 Battery Charging IC for Battery Management & Charging, the board also includes low power voltage regulators.
The device is portable due to the 3.7V Lithium-Ion battery that powers it. The device can also be powered using the USB cable.
PCB, Part List & Components
Inside the box of the ESP32-Based Smart Clock with Weather Forecasting System Kit are the following components:
1. ESP32 SmartClock Kit Mainboard
2. Batch of Capacitors& Resistors/Connectors
3. Colorful LCD Module
4. Lipo Battery
5. Acrylic Boards
6. Nuts & screws
The front part of the PCB looks something like this.
On the PCB Board are SMD Components that have already been soldered. The through-hole components must be soldered on both the front and back of the board. On the rear, we must solder the three buttons and LCD display.
This component list will assist you in soldering the components onto the board.
After soldering is done, the front and backside look as follows.
Source Code: ESP32 Smart Clock with Weather Forecasting
The kit includes preprogrammed software. If you wish to review the code and make any modifications, you can visit the following Github repository.
Download: ESP32 Smart Clock Code
The code has the following header file.
|#include <Adafruit_GFX.h> // Core graphics library|
#include <Adafruit_ST7735.h> // Hardware-specific library for ST7735
This is the reason why you need to add the following libraries to the Arduino Library Folder.
1. Adafruit_GFX library: https://github.com/adafruit/Adafruit-GFX-Library
2. Adafruit_ST7735 library: https://github.com/adafruit/Adafruit-ST7735-Library
3. ArduinoJson library: https://github.com/bblanchon/ArduinoJson
To upload the code, select “ESP32 Dev Module” and “Huge APP” from the drop-down menus and click the upload button.
Testing & Demo
After half an hour of soldering and installation, you may set the WiFi SSID and password over the phone by following a few simple steps.
After powering on the device, it will attempt to connect to the network that was previously saved. Observe the directions provided on the LCD screen if you wish to connect to the new network. Hold a button down for 3 seconds. Then, connect your mobile device to the ESP32 WiFi Network.
Enter the WiFi Credentials and continue as depicted below.
So, after WiFi connectivity is established, the gadget will indicate connection success.
The time and date will then be displayed based on your time zone. It will obtain global real-time from the Network timing protocol, and you can easily set your local time zone.
You can change the time zone by using the 3 push buttons.
The device is also capable of retrieving weather information, including temperature, humidity, and atmospheric conditions. The device functions as an online global weather forecaster, and you can change your address or city without reprogramming.
Additionally, the device can function as an alarm clock. To alter the alarm time, use the three buttons to set the time. During the saved time, the buzzer begins automatically.
So here is how you can create your own ESP32 Based Smart Clock with Weather Forecasting System.
Hope this blog helps you to understand how to design a DIY ESP32-Based Smart Clock with Weather Forecasting. We, MATHA ELECTRONICS will come back with more informative blogs.