Skip to main content

Date and thermometer clock

Display temperature, pressure, clock, and date on the LCD screen module.

info

Author: Alkhatib Hoda
GitHub Project Link: https://github.com/UPB-FILS-MA/project-AlkhatibHoda

Description

This project showcases an advanced digital clock designed to do more than just tell time—it keeps you anchored in the present while helping you plan for the future. With its ability to display not only the current date and time but also real-time temperature and atmospheric pressure, this device serves as a daily companion that informs your decisions and enhances your awareness of the environment around you.

Motivation

Time is the most precious resource we have; it’s the framework within which we set our goals and pursue our dreams. Every passing second grows into a minute, every minute into an hour, and so on—reminding us that life moves forward, whether we’re ready or not. In a world where deadlines define our progress and achievements, it’s easy to lose track of the days as they slip by. This digital clock was created to serve as an essential tool for staying grounded in time, helping manage not just the simplest but also the most complex actions in our lives. Along with keeping track of time, it also monitors temperature and atmospheric pressure, providing real-time environmental data that aids in daily decision-making.

Architecture

Here is a clear architecture image:

arh.png

According to the image here is an explanation about what each component does:

The componentWhat is itWhy do we need it
Raspberry Pi Pico WA microcontroller board with built-in Wi-Fi.The Pico W is the brain of your project. It controls all the other components and handles communication with the internet to get the current date and time.
BMP280A device that measures the temperature and atmospheric pressure of its environment.To monitor and display the temperature and pressure as part of your project.
LCD screenA screen that shows information in a readable format.To present the temperature, pressure, date, and time in a way that you can easily see and understand. It acts as the output interface of your project.
BuzzerA small device that makes noise.To provide audio feedback or alerts. For example, it could beep when the temperature or pressure reaches a certain threshold, or simply to signal that the system is active.
API Through WifiA web service that provides date and time information.To get the current time and date from the internet.This way your project has accurate and up-to-date time information without needing a separate real-time clock module and can ensure your time information is always accurate.

Log

Week 6 - 12 May

I bought the components .

Week 7 - 19 May

Tested codes for my project.

Week 20 - 26 May

Worked on the documentation and posted my project.

Hardware

When connectedA closer look to the connection:
HardwareHardware

About those two circles… I hope you didn’t notice them. But if you did, just keep going—they were supposed to be a heart, but let’s just say they’re cherry emojis 🍒. Or maybe a broken heart 💔, because let’s face it, time can be a bit of a heartbreaker.

I tried to make a 3D model here :) : 3Dmodel.

Schematics:

Schematic

The schematic image shows a clearer connection for the components , using the online simulator Wokwie.

[!NOTE]
the lcd screen is connected by default to the pico explorer base .

the buzzer is connected (with a resistance) to GPIO 1.
here is the BMP280 connection table

PINconnection with pico explorer ~ pico PIN
VCCpower source (3V3)
GNDground
SCL12SCL line ~ GP21
SDA12SDA line ~ GP20
CSBnot used
SDOnot used

[!TIP]
On the Pico Explorer base, the I2C pins are marked for simple use. You can check the back of the base to see which pins of the Raspberry Pi Pico they are tied to.

Bill of Materials

DeviceUsagePrice
Raspberry Pi Pico WH, Wireless+HeadersThe microcontroller56 RON
Pico Explorer Basefunctional Base for components160 RON
Passive BuzzerBuzzer4 RON
BMP280Digital pressure and temperature sensor17 RON
65 x Fire Jumperconnection12 RON
40 x Dupont Yarn Mother-Father 10cmconnection5 RON

Software

LibraryDescriptionUsage
EmbassyFrameworkFramework
Embedded-graphicsfor drawing 2D graphicsfor rendering graphics on displays
embassy-rpHAL for Raspberry Pi RP2040, supporting both blocking and async APIs for various peripherals.Simplifies peripheral control on RP2040 with async support.
embassy-executorAn async executor for embedded systems, part of the Embassy ecosystem.Manages asynchronous tasks in embedded applications.
embedded-halProgramming LanguageProgramming Language
cyw43_pioA library to control the Cypress CYW43 Wi-Fi chip using the Raspberry Pi Pico PIO.Manages Wi-Fi connectivity for Raspberry Pi Pico.
embassy-syncProvides synchronization primitives like mutexes and channels for async code in embedded environments.Enables safe concurrency in embedded applications.
st7789A Rust driver for controlling ST7789 displays, compatible with embedded-hal.Enables control and rendering on ST7789-based displays.
  1. Inspiration project
  2. YT video