A go library for interfacing with InfiniTime firmware over BLE on Linux.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
FloralExMachina 2da80044b3
Remove MPRIS controls (#7)
1 week ago
blefs Assume MTU if not available from BlueZ 1 month ago
weather Use timestamp with timezone offset to (finally) fix weather issue 1 month ago
LICENSE Initial Commit 1 year ago
README.md removed pulseaudio-utils and libpulse dependencies 2 weeks ago
btsetup.go Use adapter ID in btmgmt as well 7 months ago
dfu.go Clarify DFU debug logs 7 months ago
go.mod Update go-bluetooth library for 5.65 support 3 months ago
go.sum Implement resource loading feature 3 months ago
infinitime.go Add local time characteristic (#4) 2 weeks ago
music.go Add debug logging 7 months ago
navigation.go Use NavFlag type in SetFlag() 4 weeks ago
resources.go Close files properly when returning an error (Arsen6331/itd#29) 2 months ago



This is a go library for interfacing with InfiniTime firmware over BLE on Linux.

Go Reference


This library's import path is go.arsenm.dev/infinitime.


This library requires dbus, and bluez to function. These allow the library to use bluetooth, control media, control volume, etc.


sudo pacman -S dbus bluez --needed


sudo apt install dbus bluez


sudo dnf install dbus bluez


This library currently supports the following features:

  • Notifications
  • Heart rate monitoring
  • Setting time
  • Battery level
  • Music control
  • OTA firmware upgrades
  • Navigation


The DFU process used in this library was created with the help of siglo's source code. Specifically, this file: ble_dfu.py