Last week I just wanted to make an analog watch face for my watchX. First I decided to get the maths behind it. It’s really simple. Just a couple of trigonometric calculations.
Then, I put those equations into a simple code.
Here is the main flowchart of the code.
Calculate_Watch calculates the position of hands.
Draw_Watch includes drawing elements for the watch face.
Draw_Dots_CircularForm is drawing the dots to indicate hours.
Draw_Data shows sensor data
Sleep is putting the watch into sleep mode for better power consumption. B3 wakes it up.
And there are some other blocks that you can use as well.
Draw_Dots_RecForm draws a more rectangular fashion watch face.
Watch_Float adds some kind of parallax effect using IMU. (Only works with circular dots)
You can download the code from here and investigate yourself about how it works
You can also modify it and make some different watch faces as well.
Here are some examples;
I am looking forward to your implementation.