Puppy Alarm Clock

Rise and shine! It's tail-wagging time!

Project Overview

Do you hate waking up to your iPhone's alarm clock? So do I. That's why I developed the puppy alarm clock. In this project, I have the ESP32 microcontroller host a web page that I built (pictured to the right). The user can connect to this website and set a wakeup time.

The ESP32 then compares this wakeup time to the current time (from NTP) and drives a motor at the desired time. The motor opens the dog crate, and then the user can wake up to puppy kisses instead of to their alarm clock.

Hardware Design

The main goal of this PCB is to drive the motor. I designed a simple h-bridge that allows the dev board to drive the motor in either direction using 2 GPIOs. (GPIOs do not provide nearly enough current to drive a motor without an h-bridge). I also added some LED's to indicate which direction the motor is spinning, and a button. I use the button to tell the microcontroller to move the motor back to its original position (to close the crate again after it opens. I also converted a picture of my dog Rudy to a bitmap and added it to the PCB to make the board look a little bit more fun.

Since I only fabricated one of these boards, it made sense to mount an ESP32 dev board onto my custom PCB instead of mounting the ESP32 onto the PCB (as I did for the AirU). This saved me a lot of time in the design phase, and was also desirable because it meant that I could disconnect and reconnect the ESP32 dev board for programming and leave everything else connected to the dog crate.

See the Puppy Alarm Clock in Action: