Skip to content

TiboDevC/clockclock

Repository files navigation

Clockclock

This personal project first intention is to build a clock with a design inspired by Human since 1982.

  1. The idea
  2. The solution
    1. Motors
    2. Real Time Clock (RTC)
    3. Hands
  3. Hardware

The idea

There are many open source models and all these projects use several microcontrollers, often one for two motors, which makes the project expensive and adds a lot of complexity. This makes the project expensive and adds a lot of complexity. My aim is to achieve a much simpler and cheaper project with a single MCU controlling all 48 motors. My aim is to achieve a much simpler and cheaper project with a single MCU controlling all 48 motors.

I also wanted to create a clock that was always on time but not connected to the internet.

The final constraint was to make the clock as small as possible, with a target length of 50cm.

The solution

Motors

I chose stepper motors BKA30D-R5 as they are relatively cheap (<4€/piece), then can turn 360°, and they are 6 cm long which is small enough for the project. Also, they consume only 20mA per motor so a regular USB-C phone charger can handle it (20mA x 48 motors = 960mA).

All motors are controlled by an ESP32-C3 (RISC-V architecture). This MCU is connected to a series of 12 bit-shift registers. Bit-shift registers are connected to steppers driver: VID6606 (or equivalent like AX1201728SG/STI6606z). Each driver can drive 4 steppers, 2 pins per stepper: direction and step.

bit-shift and stepper driver

One bit shift register has 8 output so it controls 2 motors. At any point of time the MCU knows the motor sequence step. Periodically, the MCU sends the step sequence through bit shift registers and once all of them have been updated with the correct sequence, the MCU latch the output. So the MCU is connected to the first bit shift register only and this requires 3 GPIO: shift_clock, latch_clock and data_out. As all bitshift registers are connected in series, each of them send the config to the next one.

data flow

Real Time Clock (RTC)

For the clock to be always on time without internet, I integrated a DCF77 module that picks up the time sent by radio from Germany. Then this time is used to configure the RTC in the DS3231 module.

Hands

Hands are still under development right now, some mechanical issues must be solved.

Hardware

The hardware consists of 2 parts:

Power supply is provided by a USB-C dongle that provides 5V.

Here are the schematic of the main board and the stepper board.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages