New MetaClockClock V3 finished with 60 Clocks

The holiday break at the end of the year is always a good time to finish projects started during the year. This one is about my ‘MetaClockClock’ Version 3.

Red Hands on Blue

2020 with Red Hands on Blue

It is named ‘MetaClockClock’ because many ‘analog clock’ modules are used to build a larger matrix to show time (or whatever you like). The MetaClockClock features 60 double-shaft stepper motors. Each clock can be equipped with hands (e.g. 3D printed or laser cut) to build a matrix of individually controllable clocks.

MetaClockClock with 3D printed hands

MetaClockClock with 3D printed hands

Each clock has an extension connector to hook up a LED ring with 40 individually addressable RGB LEDs (WS2812B) each. This is used to color the hands and the inside of the clocks, creating different effects. Using the LEDs the clock is usable at night.

MetaClockClock Random Pattern

MetaClockClock Random Pattern

The hands are moved by stepper motors and followed by the LEDs. The 120 stepper motors (one dual-shaft motor for each clock) is controlled by a microcontroller to create choreographs or to write any text or numbers.

This clock is the successor of the previous version (“60 Billion Lights”: 2400 RGB LEDs and 120 Stepper Motors hiding behind Canvas Art). It is possible to arrange the clocks in any way with any kind of framing material. I have decided to use a canvas so I can hang it on the wall as a ‘piece of art’. Of course ‘art’ can be very subjective, so you could use whatever you like.

V2 (top) and V3 (bottom)

V2 (top) and V3 (bottom)

Back of V2 (top) and V3 (bottom)

Back of V2 (top) and V3 (bottom)

There are several items which make a difference:

Comparison (60 Clock Version with 2400 RGB LEDS)

Item V2 V3
Size 103 x 53 x 5 cm 105 x 48 x 2.5 cm
Weight 6.5 kg 5.3 kg
Clock Diameter 70 mm 80 mm
PCB 75 120
MCU 15x NXP LPC845 (M0+) 30x NXP K02FN128 (M4F)
Firmware 38 KByte FLASH, 13 KByte RAM 53 KByte FLASH, 13 KByte RAM
5V (running) 6 A 5 A
5V (standby) 6 A 0.5 A
3D Printing 60 m, 48 h 14 m, 14 h
Back Frame Aluminum + Plywood Aluminum
BOM Clock 60x $6.50 60x $8.00
BOM Ring 60x $5.00 60x $5.00
  • Modular: instead of four fixed clocks, each clock is on its own PCB, making it possible to arrange them in any way I want. The V3 boards still use RS-485 for communication and can be mixed with previous versions.
  • Size: The size of each clock increased from 70 mm diameter to 80 mm for easier mounting. The size changed from 103x53x5 to 105x48x2.5 cm for a 60 clock version.
  • Weight: the new version uses less PCB material, reducing the weight from 6.5 kg down to 5.3 kg. Additionally the mounting easily can be done with inexpensive aluminum profiles on the back.
  • LED: the optional RGB LED rings are now controlled by the clock boards directly, making wiring easier. The rings are using 2.54 mm headers to connect to the base board.
  • 3D: Because of the easier mounting there are less 3D printed parts, reducing the amount of PLA (2.75 mm diameter material) and printing time.
  • MCU: the WS2812B RGB LEDs are controlled with DMA which required to upgrade the clock microcontroller from an ARM Cortex-M0+ (LPC845) to an M4 (K02FN64/128). In V2 one LPC845 is driving 4 clocks while in V3 one MCU can drive either one or two clocks.
  • Power: Each clock has a circuit to cut off the power for the motors: this reduces the power surge at power on, additionally I can put the clock into ‘sleep’ mode if not used e.g. overnight. V2 uses around 6A@5V if running, while the V3 needs 5A@5V while running and around 500 mA otherwise (I’m not using very deep low power mode yet).
  • Firmware: The software has been refactored and is compatible with the previous versions. Different clock arrangements are configured by tables in the software. As master both the Kinetis K22 and LPC845-BRK based boards can be used.
  • Costs: The cost per clock is about the same as for the previous version, but PCBs are less expensive (size less than 10×10 cm, so you can order 10 PCBs for only $5). Material costs of each clock (excluding the LED ring) increased from $6.5 to $8, mainly because of a more powerful microcontroller is used plus the addition of the power-off circuit. If you build a clock without the RGB LEDs this reduces the BOM by $5 for each clock.

Below pictures and videos of the current V3 build. The boards get programmed with a standard 10 pin SWD interface, e.g. with the NXP MCU-Link:

Clock programmed with NXP MCU-Link Debug Probe

Clock programmed with NXP MCU-Link Debug Probe

The concept is to have independent clock modules. To save costs (MCU, RS-485 interface, power circuit) there is a ‘MCU’ and a ‘Motor’ PCB. Each has two hall sensors on the front side to detect hand zero positions. The Motor PCB is optional, so it is possible to build a MetaClock with MCU PCBs only. The rings with 40 WS2812B-SIDE RGB LEDs are optional too.

Clock PCBs (Front) with hall sensors

Clock PCBs (Front) with hall sensors

The flexibility comes with the costs of connectors and wires. But the 2.5 mm JST connectors are very inexpensive (1000 pieces for less than $10) and cables can be ordered from AliExpress.

Clock PCBs (back side)

Clock PCBs (back side)

I have populated the boards with our PnP machine with OpenPnP, but it would be possible to order assembled parts e.g. from PCBWay or other vendors.

Below is a picture with the details of the MCU board. You can find all Schematics and PCB Files on the GitHub site listed at the end of this article. As for the previous builds it uses the VID28-05 dual-shaft stepper motors.

MCU Board Details

MCU Board Details

Below the 60 clocks mounted on the back profiles:

60 Clocks on Alu Profile

60 Clocks on Aluminum Profile

Small 3D printed parts mount the clocks on a back frame built with standard aluminum profiles:

Clocks on Back Frame

Clocks on Back Frame

The firmware has been developed with Eclipse (NXP MCUXpresso IDE) with the NXP MCUXpresso SDK.

MCUXpresso IDE

MCUXpresso IDE

The firmware is using FreeRTOS and features a command line shell and scripting interface which implements both direct (serial, RTT) or remote (RS-485) connection.

Commandline and scripting Interface

Command line and scripting Interface

As for the previous version, I used acrylic pouring on canvas to create the background of the clock. Below pictures of the process. The painting is on a black background:

black painted canvas

black painted canvas

The canvas gets ‘flooded’ with black color and cups placed on it:

Cups on black paint

Cups on black paint

Pouring colors into the cups creates a ‘cell’ effect:

Acrylic Cell Effect

Acrylic Cell Effect

acrylic cells

acrylic cells

After removing the cups, the canvas gets tilted to move the paint:

tilting canvas

tilting canvas

finished acrylic pouring

finished acrylic pouring

Pour Details

Pour Details

Pouring Cells

Pouring Cells

The boards then get placed on the back of the canvas:

Boards behind Canvas

Boards behind Canvas

PCBs behind Canvas

PCBs behind Canvas

Different kind of ‘hands’ can be used, for example 3D printed or laser-cut. Below the version using laser-cut PMMA:

Mounted Acrylic Hands

Mounted Acrylic Hands

The LED rings are optional, but create a cool effect. I have created covers in different colors (3D printed PLA), but the bare PCB dark blue solder mask looks cool too. The RGB LEDs are individually addressable and used to illuminate the hands or the clock inside or both.

Illuminated Hands

Illuminated Hands

Below a version with different 3D printed hands:

3D Printed Hands

3D Printed Hands

60 Rings with total of 2400 RGB LEDs:

Mounted LED Rings

Mounted LED Rings

Below it shows the MetaClockClock using white PLA 3D printed hands with no LED Rings:

Using the RGB LEDs, more and different effects are possible.

1845

1845

I have implemented more ‘intermezzos’ and demos, including Conway’s Game of Live:

Summary

I’m very happy with the new version. I still have more boards and stepper motors available, so I consider to build one or two smaller ‘MetaClockClock’ or to extend this 60 clock (5×12) version to a larger one. I probably build one without the canvas too (just using a black or white color). If you want to build your version: the files are available on GitHub.

Happy Clocking 🙂

Links

PS: Happy New coming 2021!

2021

2021

5 thoughts on “New MetaClockClock V3 finished with 60 Clocks

  1. Pingback: MetaClockClock V4 for the Year 2021 | MCU on Eclipse

What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.