Blueprint

Christmas Themed Focus Clock

A christmas themed clock with an adjustable pomodoro timer with an optional screen time reminder (20-20-20 rule) to help you focus on studying or work.

Created by Shaan Shaan

Tier 3

2 views

0 followers

Iamalive Iamalive 🚀 requested changes for Christmas Themed Focus Clock ago

Hey, nice project! But I do have some questions: First, is the single journal entry that you have mean that you did 18 hours of work in one day? If not please show on what day what you did! Additionally, please include a wiring diagram that shows how your final project's parts will wire together(and include that image in your readme), and also make some basic code that your board will use! It's fine if it's basic, as long as you tried :D

Shaan Shaan submitted Christmas Themed Focus Clock for review ago

Shaan Shaan added to the journal ago

Creating project

Planning (0.5h)

For my clock I plan on including:

  • A rotary encoder
  • A screen
  • Lights
  • Buttons

I'm going to start off designing my PCB first, then creating the case afterwards. I want this project to be minimal while also having a lot of functionality at the same time so I'm not going to try and add any extra stuff beyond my original plans.

Here's some features that I have planned out:

  • Pomorodo timer
  • Screen time reminder
  • Custom timers

To start, I chose a RP2040 as the brain of this project as I have the most experience with it and its a versatile chip that can be used for almost anything. I already have a 3.7v rechargable battery that I have laying around so I'll use that as the power source for this project.

..

Brainstorming CAD + Picking screen (2.5h)

I'm going to go design the case first because I still need to figure out what screen I need and creating the case for me to look at will help in deciding what size to go for.

Heres a rough idea of what it might look like
image

For my screen I ended up choosing this 0.96in oled display since most screens that I looked at were either too expensive or needed a seperate module to control it which increased the total cost a ton.

Creating schematic (6h)

I wired up my battery, LDO, RP2040, decoupling caps, crystal, and flash storage as a start.
image

I added the LCD as a connector symbol but for the footprint I'm going to create a custom one so that I can mount it on the board itself. I then added my controls; my rotary encoder, buttons, and some mode indicator LEDs.

For the speaker I wanted something that is easy enough to program and I can upload custom alarm sounds to it, which is when I found the DF Player mini. I plan on having a small speaker attached to it with wires and have it mounted somewhere on the box.

I can't mount the player directly on the pcb so I'm going to use a 2x3 connector instead to represent the pins that I'm actually going to use (I'm also using the SPK1 and SPK2 pins for wiring up the speaker but since its not on the pcb I'm not including it in the schematic).
image
image

Here is all my peripherals wired up now
image

Now to program my board, I need to add a USB-C connector. My goal is for the USB C connector to charge the battery and to be able to program my board. I can do this because I discovered on my charger, I don't have to use the mini usb connector to charge the battery, I can also charge it through the 5V and GND pins too. There's also a BAT pin and a second GND pin on the module that can directly power my PCB.

image
image

Now it's time to clean up/organize my schematic and have it reviewed.
image

After some small changes (some visual changes and a flipped diode) I'm now ready to start PCB Designing

PCB (3.5h)

The PCB was relatively straightforward but took a bit of time.

Started with the RP2040, flash memory, and crystal
image

Decoupling caps, USB Lines, Power, and Onboard LED
image
image

Added the rest of the components and connectors
image

The most time consuming part was trying to get all the GPIO pins connected with all the traffic on the RP2040, but after maneuvering a lot of traces to make room for new via's I finally was able to finish routing them.

Organized all the silkscreen references and created boxes to label each connector
image

Because there was no stock available for my old transistor controlling the vibration motor I switched to the Si2302CDS-T1-GE3
image

BOM & Cart(2h)

Here's my BOM that I've been building on in the background

Item Name URL Price Quantity
SSD1306 OLED Display AliExpress $5.58 1
Rotary Encoder - $0.00 1
Vibration Motor DigiKey $2.82 1
Speaker Driver DigiKey $8.53 1
Speaker DigiKey $3.36 1
3.7V Battery (self provided, not included in total) - $0.00 1
Adafruit Battery Charger (self provided, not included in total) - $0.00 1
1x2 Male Pin Connector DigiKey $1.48 10
1x3 Male Pin Connector DigiKey $0.15 1
1x4 Male Pin Connector DigiKey $0.15 1
1x5 Male Pin Connector DigiKey $0.15 1
2x3 Male Pin Connector DigiKey $0.18 1
PushButton DigiKey $0.45 3

Totalling to $22.85 CAD or $16.57 USD

Now all I need is to gather all my cart screenshots before I submit

CAD (4h)

image
I roughly recreated the LCD screen using the measurements provided online. Now I'm going to finalize the case

image
I think this is good now. I'm going to hollow the inside and create the parts where the buttons, rotary encoder, speakers, battery, vibration motor, and screen go.

My original plan of having everything mounted on the board is unfortunately not going to work because of some components being too long, so I'm going to have to wire everything manually and use connectors instead.
image
After I updated the PCB to use connectors I decided since most of my parts that I'm going to order will be so small and that I can't find their dimensions online and that they don't need proper mounts I can just hot glue all of them in place. And for my PCB I already have screws from my other projects to secure it to the case

Shaan Shaan started Christmas Themed Focus Clock ago

1/5/2026 - Creating project

Planning (0.5h)

For my clock I plan on including:

  • A rotary encoder
  • A screen
  • Lights
  • Buttons

I'm going to start off designing my PCB first, then creating the case afterwards. I want this project to be minimal while also having a lot of functionality at the same time so I'm not going to try and add any extra stuff beyond my original plans.

Here's some features that I have planned out:

  • Pomorodo timer
  • Screen time reminder
  • Custom timers

To start, I chose a RP2040 as the brain of this project as I have the most experience with it and its a versatile chip that can be used for almost anything. I already have a 3.7v rechargable battery that I have laying around so I'll use that as the power source for this project.

..

Brainstorming CAD + Picking screen (2.5h)

I'm going to go design the case first because I still need to figure out what screen I need and creating the case for me to look at will help in deciding what size to go for.

Heres a rough idea of what it might look like
image

For my screen I ended up choosing this 0.96in oled display since most screens that I looked at were either too expensive or needed a seperate module to control it which increased the total cost a ton.

Creating schematic (6h)

I wired up my battery, LDO, RP2040, decoupling caps, crystal, and flash storage as a start.
image

I added the LCD as a connector symbol but for the footprint I'm going to create a custom one so that I can mount it on the board itself. I then added my controls; my rotary encoder, buttons, and some mode indicator LEDs.

For the speaker I wanted something that is easy enough to program and I can upload custom alarm sounds to it, which is when I found the DF Player mini. I plan on having a small speaker attached to it with wires and have it mounted somewhere on the box.

I can't mount the player directly on the pcb so I'm going to use a 2x3 connector instead to represent the pins that I'm actually going to use (I'm also using the SPK1 and SPK2 pins for wiring up the speaker but since its not on the pcb I'm not including it in the schematic).
image
image

Here is all my peripherals wired up now
image

Now to program my board, I need to add a USB-C connector. My goal is for the USB C connector to charge the battery and to be able to program my board. I can do this because I discovered on my charger, I don't have to use the mini usb connector to charge the battery, I can also charge it through the 5V and GND pins too. There's also a BAT pin and a second GND pin on the module that can directly power my PCB.

image
image

Now it's time to clean up/organize my schematic and have it reviewed.
image

After some small changes (some visual changes and a flipped diode) I'm now ready to start PCB Designing

PCB (3.5h)

The PCB was relatively straightforward but took a bit of time.

Started with the RP2040, flash memory, and crystal
image

Decoupling caps, USB Lines, Power, and Onboard LED
image
image

Added the rest of the components and connectors
image

The most time consuming part was trying to get all the GPIO pins connected with all the traffic on the RP2040, but after maneuvering a lot of traces to make room for new via's I finally was able to finish routing them.

Organized all the silkscreen references and created boxes to label each connector
image

Because there was no stock available for my old transistor controlling the vibration motor I switched to the Si2302CDS-T1-GE3
image

BOM & Cart(2h)

Here's my BOM that I've been building on in the background

Item Name URL Price Quantity
SSD1306 OLED Display AliExpress $5.58 1
Rotary Encoder - $0.00 1
Vibration Motor DigiKey $2.82 1
Speaker Driver DigiKey $8.53 1
Speaker DigiKey $3.36 1
3.7V Battery (self provided, not included in total) - $0.00 1
Adafruit Battery Charger (self provided, not included in total) - $0.00 1
1x2 Male Pin Connector DigiKey $1.48 10
1x3 Male Pin Connector DigiKey $0.15 1
1x4 Male Pin Connector DigiKey $0.15 1
1x5 Male Pin Connector DigiKey $0.15 1
2x3 Male Pin Connector DigiKey $0.18 1
PushButton DigiKey $0.45 3

Totalling to $22.85 CAD or $16.57 USD

Now all I need is to gather all my cart screenshots before I submit

CAD (4h)

image
I roughly recreated the LCD screen using the measurements provided online. Now I'm going to finalize the case

image
I think this is good now. I'm going to hollow the inside and create the parts where the buttons, rotary encoder, speakers, battery, vibration motor, and screen go.

My original plan of having everything mounted on the board is unfortunately not going to work because of some components being too long, so I'm going to have to wire everything manually and use connectors instead.
image
After I updated the PCB to use connectors I decided since most of my parts that I'm going to order will be so small and that I can't find their dimensions online and that they don't need proper mounts I can just hot glue all of them in place. And for my PCB I already have screws from my other projects to secure it to the case