time on the edge

Similar projects worth following
The Edgytokei which literally means edge clock is inspired from the Japanese nunchucks. Just like the nunchucks the clock is just a pair of two arms displaying time by balancing themselves on the edge. The clock consists of two arms and the base on which the arms are anchored. Both the arms are of equal length as the role of the arms changes with different hours of the day.

The fulcrum of the clock flips from the center to the left or right of the clock every quarter hour so that the clock can stand on the edge to represent the time between quarter past and quarter to hour. This flipping of the arms keeps the clock dancing on the edge throughout the day. The base which contains the electronics of the clock provides a anchor for the clock and prevents the arms from falling over.

The cylinders on the elbow of the arms contain the mechanics of the clock. Both the arms contain LEDs on the edge. Depending on which arm is representing the hours the led on that arm light up.

The clock consists of two arms of equal length rather than the usual unequal ones . The lower arm can slide on its fulcrum making the entire clock sit or stand on the edge. The lower arm is driven by a geared 15mm 1 : 200 ratio stepper motor. The upper arm is driven by a second stepper motor located in the elbow. This motor i a 1:100 15 mm stepper. The power lines of this stepper needed to be hidden for neatness and hence are taken via copper tracks and brushes in the base. The brushes give the arm freedom to slide and remain clean. The upper led is also powered by these tracks. The upper led's power has a additional set of slip rings in the elbow. The clock contains two leds one in the base hub and the other in the end of the top arm. The arm's role changes depending on which led is lit. So if the upper led it lit then the upper arm becomes the minutes arm , and if the lower led it lit then the lower arm becomes the minutes arm and visa versa. It is a little confusing but then what the heck. 

The clock is controlled by a over the shelf arduino nano as it is still in prototype stage. The nano keeps the time via a rtc and drives the motors using a standard stepstick from the repraps. The leds are controlled using a uln2803. 

The program of the clock is a little complex as the positioning of the arms has to avoid any kind of crashes. So i had to program all the unique positions of all the hours. 

The biggest PITA was the homing. That actually almost made me scrap the clock for a year. The problem is that when the clock is powered up from a unique position a usual homing of the bottom arm can end up in a crash. So the lower arm needs to know which end it is at when powering up. The solution to it is very unique. The lower arm contains a color strip with 4 parts . 2 parts in length are of the same color and the other 2 parts are another color. A reflective ir sensor senses these values and gives 2 different distinct values for 2 different color. So now the lower arm knows which way to home left or right. Once the direction is known it uses hall sensors to home.

The code also has a GCODE parser which i borrowed from the very kind MARGINALLYCLEVER website. This helped me in the programming phaze of the clock to send it to unique angualar positions. I also wrote a custom gcode sender in processing to send gcode to the clock.. All this kind of sounds ridiculous for a clock, but it ended o being a lot more complex than i thought it was.  

and yes all of it is 3d printed on a custom dual color corey machine. 


arduino firmware

ino - 35.28 kB - 01/07/2018 at 08:00



grasshopper script to simulate angles

gh - 118.08 kB - 01/07/2018 at 08:00


edgy gcode sender.pde

processing script for gcode sending

pde - 8.13 kB - 01/07/2018 at 08:00


  • 1 × arduino nano
  • 2 × stepstick
  • 1 × uln2803 Discrete Semiconductors / Power Transistors and MOSFETs
  • 1 × 7805 Connectors and Accessories / Miscellaneous Connectors
  • 2 × led Fiber Optics / Emitters

View all 7 components

  • prototype 3

    ekaggrat singh kalsi01/07/2018 at 00:32 0 comments

    this was a sort of a final working prototype with most of the issues worked out and the leds added to the arm. 

  • figuring the positions

    ekaggrat singh kalsi01/07/2018 at 00:29 0 comments

    To work out the clock postitions I used a grasshopper script. The angles that i got from the script i directly plugged them into the arduino sketch. Also it there was a position which caused a foul i could simulate it easily in the gh script rather than constantly crash the arms.

  • prototype 2

    ekaggrat singh kalsi01/07/2018 at 00:23 0 comments

    I finally got the copper tracks worked out using copper tape and sim card brushes. I also got a custom gcode parser and sender to make the clock go to unique positions . This made it a lot easier to program and test it. Also i figured out the homing sequence using a reflective optical sensor , hall sensors and magets

  • the begining

    ekaggrat singh kalsi01/07/2018 at 00:05 0 comments

    the first thought seamed simple enough and prototype 1 was born. but it failed completely as the power transfer tracks were doggy and inconsistent.

View all 4 project logs

Enjoy this project?



zakqwy wrote 04/18/2018 at 22:02 point

this is delightful! very neat design.

  Are you sure? yes | no

Rollyn01 wrote 01/11/2018 at 22:45 point

I want this as a wrist watch so badly. Seriously though, great clock. It's sure to be a conversation piece for a very long time.

  Are you sure? yes | no

ekaggrat singh kalsi wrote 01/17/2018 at 01:45 point

thanks.. yes kind of distracting to work with on the desk.

  Are you sure? yes | no

jusTSean wrote 01/11/2018 at 07:01 point

This is great! I love it.  I want one so bad.  Really nice work and a wonderful idea.  Thanks for sharing!

  Are you sure? yes | no

ekaggrat singh kalsi wrote 01/11/2018 at 07:49 point

thanks for liking it .. but you will need to wait for version 2 to come as a kit

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates