Project tutorial
Butterfly Alarm Clock

Butterfly Alarm Clock © GPL3+

This alarm clock is an attempt to get our toddler to stay quiet in the morning while we try to continue sleeping.

  • 1 comment
  • 11 respects

Components and supplies

Necessary tools and machines

Laser cutter/engraver

About this project

My wife asked me, "Do you mind if I spend $27 on a toddler alarm clock?" When I figured out what such an alarm clock does, I decided I could make that from parts I had in my pile.


Since I have access to a laser cutter at work, I got some 1/4" acrylic and cut/etched the wings. The design came from pixabay and has a creative commons license.

I took one wing, created a vector outline for the cut and copied it for the second wing. That's why these don't exactly match the image linked above.


I played around withe the RGB LEDs to try and find an orientation I liked. It seems the edge of the acrylic deflects light perpendicular to its surface. I had to modify the wings with the angular notch to get the light all the way out to the wing tips.

The LEDs are through-hole, but I glued them to the wings instead of a PCB. With the legs sticking out, I soldered wires to them for easier connection to the body when the time came.


I want this to be more than just wings. It must be a butterfly. The body has a microcontroller and the real time clock. The proto-board has its traces sideways because there was less trace cutting that way.

The Arduino is in the head and the RTC is in the abdomen. The thorax is a busy place with interconnecting wires, the barrel jack for power, and the connection points for the wing LEDs. All of those small things needed to be in place before the larger boards were soldered on top. Not all the solder points on the boards have pins. The included pins are either functional or mechanically supportive.

The photoresistor's purpose is to adjust the wing brightness to the room brightness. It sits on the top of the head to face into the room where it's mounted.


I kinda made this up as I went. The two telephone shaped spars hold the wings at about 120 degrees apart. One rib sits between them to hole them parallel and provide a wall mounting surface. Programming a pro mini is done with an external FTDI cable. The pins for that are exposed outside of the base.

The base and wings hold together with super-glue. After assembly, I realized the trough in the middle wasn't deep enough for the electronics. I wanted to make this as anatomically correct as practical, but the wings are on the side of the thorax instead of the top. Sorry, entomologists. Next time I'll take some measurements instead of... winging it.

Final Product

My code didn't check the timer correctly, but that won't be too hard to fix. I'll update that in the project logs. It does however, set the time correctly. Programming the settings is done over the save FTDI cable as flashing the firmware. Just open the serial terminal with 9600 8-N-1 and press "?" for the menu. The settings are stored in the flash of the RTC.

Update: code is fixed. The lights turn on and off at the correct times.


Butterfly Code
This repo contains the Arduino sketch used to program the pro mini

Custom parts and enclosures

Butterfly wings and base
These are the vectors I used to for the laser cutter


Circuit diagram
Schematic otpgvj1fy7
Hardware visualization
Breadboard e12csrvua8


Similar projects you might like

Alarm Clock and Timer Working Standalone

Project showcase by ozyRonald

  • 14 respects

Industrial Alarm Clock

Project showcase by Insight Machines Laboratory

  • 17 respects

Sensal - All Senses Alarm Clock

Project in progress by Leonid Piliptsevich

  • 30 respects

Weather Forecast Clock Using Old Alarm and Arduino

Project showcase by LenkaDesign

  • 41 respects

The Talking Alarm Clock

Project tutorial by Abe-Z

  • 9 respects

Alarm Clock featuring gen4-uLCD-43DT

Project tutorial by 4D Makers

  • 6 respects
Add projectSign up / Login