TapClock for WatchX

Hi,
you need to copy the calibration values out of the serial window of the calibration sketch
into the TapClock sketch and replace my values with yours as each MPU is different.

See the screenshot here which values are needed: https://i.imgur.com/FOmkXfg.png
You have to choose one of the calibration values for each section.

Replace the values for:

// Offsets got from IMU_Zero Sketch
  mpu.setXAccelOffset(106);
  mpu.setYAccelOffset(-397);
  mpu.setZAccelOffset(1255);
  mpu.setXGyroOffset(68);
  mpu.setYGyroOffset(-9);
  mpu.setZGyroOffset(29);

After you have replaced my calibration values in the sketch and uploaded it the Stats Screen
show nearly 0 at each axe if the WatchX lies on a flat and horizontal surface.
See https://i.imgur.com/mNhEpCd.jpg

See the sketch header as there are some more infos
like heating up the MPU for 10 Minutes before you run the calibrating sketch
and use a flat and horizontal surface for calibration.

Cheers

Ohh, it’s clear now:) I will try as you suggested and report back:)

Uploaded TapClock v0.6.0 to Github

I added WordClock’s Watchface which you can choose from the Setup Menu.
Watchface Value: 1=TapClock Watchface, 2=WordClock Watchface.
Added Gestures for the Setup Menu (Move Cursor/Change Values)
The Timer for the Sleepmode (Clocktime) is also adjustable in 1/10sec steps from the setup.

First Post updated (linked Wakeup Video/Gestures/Watchface)

1 Like

TapClock v0.6.1 is availbale at Github

New:
Change Wakeup Mode
1: MPU Wakeup (TapClock Mode)
2: Right Lower Button Wakeup (WordClock Mode)

First Post Updated

Can’t wait to test it out:)

v0.6.3 is out
Added a third Watchface BlockClock based on the new font.
See Font for Greiman Library (with Battery Symbols) for details.

I am now at 93% storage.

First Post updated.

TapClock 0.6.4 is out (Happy new Year Edition)
Changes:

  • Include “Clock5x7.h” Font file through the sketch or library System instead of modifying the SSD1306ASCii library.
    See HowTo here Font for Greiman Library (with Battery Symbols)
  • EEPROM reading and writing of Setup Parameter
    If the EEPROM System was never used it will preset’ed during Setup()
    EEPROM stores Clocktime (40), Watchface (1), Wakeup Mode (1) and (NEW!) Contrast (20), defaults in brackets
    Only changed Setup Values are stored to EEPROM
  • Faster changing of Setup Values by holding the buttons pressed for more than 1500ms
  • Reset Uptime and Counter in “Stats” with URB
  • Re-Write Setup Menu Rotation
  • Some cosmetics

See also notes inside the sketch

First Post updated

Happy New Year!

I have been using the Tap Clock since the previous update. I am so happy with the watch face 3. First couple of days I have used it with shake wake up(wakeup mode 1) battery drained a little fast so I switched to wakeup mode 2 which is waking it up with button press. I have a better battery duration. Can’t wait to test new release:)

Happy new year!! :tada::tada::confetti_ball:

I know, the MPU needs around 50% of the the total battery usage.
I had tried your BLE Power reducing tips but nothing really helps.

I did wonder if waking every X Millis then checking the watch orientation could somehow be employed to implement a bring to wake functionality.

Thats more or less what TapClock with MPU WakeUp does.
The MPU Interrupt wakes up the system and the sketch checks two different watch positions before the display is powerd on.
You only need to replace the MPU WakeUp with an timer wakeup.

Hi there, this is my favorite firmware right now! I have finally printed a decent case so I can wear the watchx on a regular basis. I have also deactivated mpu like mtulu has, in order to have more runtime.

I would like to play a bit more with the mpu however, as I wasn’t able to get the calibration sketch up and running as of yet. I flashed the sketch from your repo, it compiled and flashed fine, but then the watchx seems dead. I get no output on the serial monitor at all :frowning:
First I thought, maybe I was too impatient and just let it sit for about 15 minutes after reuploading the sketch, but still nothing was sent over serial. there are also no leds lighting apart from the short breathing when the hardware is reset via button press. Is there anything I need to be aware of that needs to be configured in the sketch? should I simply wait longer?

The calibration sketch uses the serial at 9600 baud, make sure your terminal is correctly set.
The sketch is waiting for the serial connection before it proceeds, double check your available interfaces after start of the sketch as well.

If the connection is Ok you should see immediatly an
Initializing I2C devices… in the terminal window.

hmm the baud rate default was 9600 so I think that is not the problem. I will try again and fiddle a bit more with the serial monitor. maybe it’s a stupid thing I was missing. Haven’t done a lot of arduino development, so I am not familiar with the built in serial monitor yet. good to know, that the sketch is waiting for a connection. thanks!

I uploaded v0.8.0 of TapClock to Github.

A lot changes and fixes done since 0.6.4 :slight_smile:

  • RTC Interrupt based Alarm Wakeup
  • Only one WatchFace possible because of low RAM, but other Watchfaces can be chosen from sketch
  • All needed files are in the sketch folder
  • Version v0.2 Clock5x7.h font file
  • No need to modify the OLED library
  • See Sketch Dokumentation

The New Dokumention is the TapClock_v0.8.0_ReadMe.txt file inside the Sketch folder.

First Post Updated.

Well done! Thanks for the updates. I think we need a future that all other watch firmwares should benefit. Which is Low Battery Warning. Most of the time I check the battery level but end up forgot to charge it. I realised how important is a low battery warning:)

1 Like

I uploaded v0.8.2 of TapClock to Github.

Some changes done

  • MPU Wakeup fixed
  • Button Wakeup permanent active
  • Some Setup changes
  • Setup: Wakeup Mode replaced with MPU Enabled
  • Alarm Mode 6 (Multi Weekday Alarm, see Sketch Readme)

I am now at 93% Memory with BlockClock Watchface so I can’t add nothing big.

First Post updated.

If you have an idea how to check the battery if the system is on sleep let me know.
Maybe it’s enough if battery check is done on every wakeup.

I think it’s enough to check battery on every wake up. If the battery is below certain point, we may warn the user with led blink. As the battery level gets critically low, we may use buzzer:) What do you think?

#Edit: Such an amazing update:) I just uploaded. It’s more amazing then it’s used to be:) I had to install so many new libraries though;)

#Edit-2 I have been using the new update for last 12 hours. Here is the issues I find out so far:

  • MPU motion LED stays turned on once the watch detects a motion.
  • Right part of the Zeros cut out so they look like C

Will hopefully be fixed within the next version release.

Could you show me this with an picture please.