SleepyClock for watchX v1.2

I have uploaded SleepyClock to Github.
The Project is build with the Atom Editor and PlatformIO (PIO).

SleepyClock is generally based on TapClock, but it works from the wakeup point of view, more like “Basic Watch”.

See Documentation

Get the files from here:

Very Urgent, you need an calibrated MPU!
Work in progress…

Wow this is an exciting post:) Can’t wait to test it out :confetti_ball::tada: I am using Atom editor which is fun, it won’t be an issue to try it.

Runtime with 500ms SLEEPTIME, MAG in Sleepmode.

45hrs at 33% Battery.
49hrs at 20% > Night > Empty in the Morning

This is almost close to interrupt based sleep mode:) Plus you have IMU enabled.

Yes, but 500ms SleepTime is too much as you have to wait too long for the clock.
The System needs more than one turn to detect the position if it comes from motion.

Maybe it can be tuned a bit.

Github is updated (to v0.1.7)
I have modified the wakeup/position detection a bit to get better reaction.
Every wakeup the system has a 20ms time window for position detection.

With 500ms SLEEPTIME i’am currently at 40hrs runtime and 23% battery.
I don‘t think i get 2 days runtime.

I am very curious about the results please let us know:)

I got nearly 46 1/2 hrs runtime.
The Clock was shown 92 times and a few tens „Stats“ Screens as well.
The „Wakeup“ Reaction was quite good with 500ms Sleeptime.

46 hours is really impressive when you consider 92 times:)

I have run some tests about BLE power down mode. Initial tests result in power down test code helps to reduce power consumption by 1mAh. I have concluded that removing the BLE also helped me to reduce power consumption by 1mAh as well.

We will share a detailed post:)

Removing the Module and your code reducing power consumption at the same level?
Cool, waiting for…

Not exactly but yes:) The watchX consumes around 2mAh with BT Module and no power consumption.
When you flash the power saving code for the BT Module consumption drops to 1mAh.

I prefer to keep the BT Module in a trade of 1mAh consumption:)

These days I am looking for an Arduino core to code NRF module inside the BT Module. That will also make a difference once a come up with a code that better then it is used to be.

FYI: Reducing the OLED Brightness from 10 to 0 helps to save 5mAh :slight_smile:

I will add Brightness to the Setup Menu.

Released v0.1.9 (97,6%/45,1% Memory, 78%/40% Memory without MAG/BMP code)

  • Added Contrast to Setup and EEProm
  • Added Button-Longpress to Setup Menu using JC_Button Library for Menu scrolling and value changing
  • Added Sensor Screen with Button (3)
    • Sensor Screen shows IMU/MPU (moved from “Stats”), MAG and BMP values

The MAG needs calibration, rotate your watchX 360° on a desk. See MAG Library.

I am not sure if I keep MAG and BMP in code.

Memory usage without Magnetometer and BMP is magnificent:) It looks like there is a lot of room for improvement :slight_smile: Great work!

But there is a lot code (from TapClock) which I haven’t added here yet.

The BMP Code is the huge one.
I am looking for a smaller library.

My RunTime Record 51hrs using an pimped Board (removed bluetooth module).

1 Like

Can’t wait to see your test results with the higher capacity battery:)

125hrs runtime :slight_smile: with the new battery.


I am uploading the sleepy clock :partying_face: :partying_face: for better run time:)

Remember that you need callibration.