Introduction: 3D Printed Arduino Clock With 28BYJ-48 Stepper Motor

About: Maker 101; Beginner and intermediate level Maker projects! You can find projects such as "How to" and "DIY" on programmable boards such as Arduino, ESP8266, ESP32 and Raspberry Pi on this channel. The projects…

This project showed how to make a 3D printed decorative clock using Arduino and a hobby stepper motor. A 28BYJ-48 Stepper Motor and ULN2003 motor driver were used in the project. Of course, we have programmed the Arduino microcontroller board, which is indispensable in all our projects.

Step 1: How It Works?

The design is known as 'Hollow Clock'. The 3D models were designed by Shiura and shared on Thingiverse. The design consists of nine parts. The design consists of nine parts. One of the main parts is the Body. Reduction gear is set by just sliding in, using oblique axis guide in the Body part. Minute driving gear is held by the axis of stepper motor. Minute driving gear is held by the axis of stepper motor. 

Hollow Clock 3D Parts - https://www.thingiverse.com/thing:4761858

Step 2: Breadboard Circuit

An Arduino Nano board was used to control the ULN2003 driver. You can build the circuit either with the ULN2003 driver IC or with the ULN2003 driver board.

Step 3: Printed Circuit Board (PCB)

After building and testing the breadboard circuit, I designed a printed circuit board to turn the project into a useful prototype. Printed circuit boards are plates with conductive paths on the surface for mounting electronic circuit components. 

To get the PCBs, simply upload the shared "Gerber file" from https://www.pcbway.com/project/shareproject/ to PCBWay and create an order. High-quality PCBs will arrive in a few days depending on the shipping address.

The 3D Printed Arduino Clock Board needs a few components. Place and solder components according to shared reference designator.

Step 4: Source Code

First, upload the shared stepper-test.ino source code. Next, place the index, hour and minute parts on the body, respectively. If your motor runs to the wrong direction or generates noise with weak torque... Change the order of the numbers in code as: int port[4] = {4, 5, 6, 7};


If everything is ok, upload the shared 'arduino-code-for-hollow2-8phase.ino' clock source code. Don't forget to update the port numbers.