Skip to content

izivkov/CasioGShockSmartSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,207 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Casio G-Shock Smart Sync

G-Shock Smart Sync Logo

F-Droid GitHub Version Connection Speed

G-Shock Smart Sync is an unofficial, open-source Android app for G-Shock, Edifice, and Pro Trek watches. It allows you to control your watch, sync data, and configure settings without a Casio ID.

It offers a faster, privacy-focused, and more powerful alternative to the official Casio app.


Key Features

  • No Account Required: Skip the Casio ID login entirely.
  • Calendar Sync: Push your calendar events (Google, Samsung, etc.) to your watch as reminders.
  • Auto Timezone: Automatically adjusts watch time when you travel.
  • Remote Control: Use your watch buttons to take photos, control music, or launch voice assistants.
  • Alarm Sync: Configure watch alarms easily from your phone.
  • Phone Finder: Trigger a loud alarm on your phone to find it.

Supported Watch Models

The app works with many Bluetooth-enabled G-Shock, Edifice, and Pro Trek models.

GW-B5600 GA-B2100 DW-B5600 ECB-30

Series Compatible Models (Examples) Note
Square GW-B5600, GMW-B5000, GW-5000, DW-B5600 Classic square design support
CasiOak GA-B2100, GBM-2100 Solar and Bluetooth variants
G-Steel GST-B500, GST-B400, GST-B200 Metal series
Edifice ECB-10, ECB-20, ECB-30 Bluetooth Edifice models
Others GBD-800, GBD-H1000, GG-B100 (Mudmaster) Step trackers and sensors

Note: While these watches connect, not all specific hardware features (like fitness tracking steps on GBD models) may be fully supported yet.


App Walkthrough

Here is a guide to the main screens of the application.

1. Connection Screen

This is the first screen you see. It handles the Bluetooth connection to your watch.

  • Status: Shows generic connection status.
  • Scan/Connect: Automatically scans for your watch.
  • Paired Devices: Lists your previously connected watches for quick access.

The app communicates directly with the watch via BLE. Connection is typically much faster than the official app (~3.5s vs 12s).


2. Time Setting

Manage your watch's timekeeping effortlessly.

  • Local Time: Displays the current time from your phone.
  • Send to Watch: Tap the button to sync your phone's time, timezone, and DST settings to the watch immediately.
  • Home Time: Shows the 'Home' city configured on the watch.
  • Battery: Displays the current battery level of the watch (e.g., High, Medium, Low).

3. Alarms

Read and configure the alarms stored on your watch.

  • View Alarms: See the current settings for all 5 alarms and the hourly signal (Chime).
  • Edit: Tap any alarm to change its time.
  • Sync: You can send these alarm settings to the watch.

Note: Due to Android limitations, we cannot read alarms set in your phone's native Clock app, but we can set the watch's internal alarms.


4. Events (Calendar Sync)

Sync your Android calendars to your watch!

  • Upcoming Events: Lists future events from your phone's calendars.
  • Send to Watch: Pushes these events to the watch's Reminder feature.
  • Compatibility: Supports standard Android calendar events. Complex recurrence rules might show as "Incompatible".

The watch will display these as reminders with the date and title.


5. Actions (Remote Control)

Turn your watch into a remote control. Assign actions to button presses on the watch.

  • Available Actions:
    • Find Phone: Make your phone ring loudly.
    • Take Photo: Snap a picture with your phone's camera.
    • Flashlight: Turn on your phone's flashlight.
    • Next Track: Skip music tracks on your phone.
    • Voice Assist: Launch Google Assistant.
    • Set Prayer Alarms: Set the watch's 5 alarms to Islamic Prayer Times
  • How to use: Short-press the lower-right button on the watch (when in Time mode) to trigger the selected action.

Note: The Take Photo action requires the app to be in the foreground. If the app is in the background, the action will not work.


6. Settings

Configure app and watch preferences.

  • Watch Settings: Adjust specific watch configurations (light duration, power saving, etc.).
  • App Settings: Configure theme, behavior, and advanced options.


Installation

Contributing

We welcome contributions!

  • Code: Submit a PR to add features or fix bugs.
  • Watches: If you have a G-Shock model not yet supported, functionality can often be added. Donations of test units are also highly appreciated to help expand compatibility.

Related Projects

Project Description
GShockAPI The core Android library that this app is built on. It encapsulates all low-level Bluetooth communication and watch protocol logic (time sync, alarms, reminders, DST, etc.) into a clean Kotlin API. This project consumes it as a direct dependency via implementation(libs.gshockapi). You can also use it independently to build your own G-Shock Android app.
G-Shock Time Server A Python script that acts as a headless time server, automatically syncing the time on G-Shock watches over Bluetooth — ideal for Raspberry Pi or other always-on Linux devices.
G-Shock API for ESP32 A MicroPython firmware that turns a low-cost ESP32 microcontroller (with optional touch LCD display) into a standalone, always-on G-Shock time server — no phone or PC required. Watches connect automatically up to four times a day, or on-demand via a button press.
G-Shock Smart Sync Webapp Is an experimental, web-based app that provides G-Shock watch synchronization from a browser, enabling time sync, alarms, reminders, and remote control via Web Bluetooth — no Android required.

For Developers

Capturing BLE Messages with Wireshark

Wireshark can be used to inspect the raw Bluetooth Low Energy (BLE) packets exchanged between your Android phone and the G-Shock watch. This is useful for reverse-engineering watch protocols or debugging communication issues.

1. Phone Setup (Enable HCI Snoop Log)

Android has a built-in BLE packet logger. Enable it via Developer Options:

  1. Go to Settings → About Phone and tap Build Number 7 times to enable Developer Options.
  2. Go to Settings → Developer Options.
  3. Enable Bluetooth HCI Snoop Log (exact label varies by device/Android version).
  4. Restart Bluetooth (toggle it off and on) to start logging.
  5. Reproduce the action you want to capture (e.g., connect the app to the watch and sync time).
  6. Disable the snoop log again, then pull the log file from the device:
adb bugreport bugreport.zip

The HCI log is embedded in the bugreport. Alternatively, on many devices it is available directly at:

adb pull /sdcard/btsnoop_hci.log

Tip: The exact path may differ. Search inside the bugreport ZIP for a file named btsnoop_hci.log.

2. Install Wireshark

# Ubuntu / Debian
sudo apt install wireshark

# macOS (Homebrew)
brew install --cask wireshark

Or download the installer from wireshark.org.

3. Open and Filter the Log

  1. Open Wireshark and go to File → Open, then select btsnoop_hci.log.
  2. Wireshark will decode the BLE packets automatically.
  3. Use display filters to focus on relevant traffic:
Goal Filter
All BLE ATT traffic btatt
Specific device by address bluetooth.addr == AA:BB:CC:DD:EE:FF
ATT write operations btatt.opcode == 0x12
ATT notifications btatt.opcode == 0x1b
  1. Right-click a packet → Follow → Bluetooth ATT Stream to trace a full conversation.
  2. The Packet Bytes pane at the bottom shows the raw hex payload sent to/from the watch.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors