Basic Watch + Bluetooth Music Control


Github Download link:

Forked from
Developer’s original blog:

Installation instructions:

  • Download the firmware from the Github download link
  • Download the missing library: You can also import this library as follows: Sketch -> Include Library -> Manage Libraries then search Adafruit_SleepyDog and install.


  • watch firmware put the hardware to sleep in order to preserve power
  • Any of the buttons will wake the watchX up
  • Top left button allows the user to enter the menu and make a selection
  • Buttons at the bottom right and top right are for navigation purposes
  • Buttons at the bottom right and top right also function as changing the music at the connected phone or pc/mac. In order to use this function you should connect watchX to your phone pc/mac.
  • Top right button functions as “Next Song” while bottom right button functions as “Previous Song”

See the firmware in action:


Hallo Mustafa,
nice job, the music control. In your sketch the line:
should be the command for “next title” and:
the command for play and pause.
Do you know how to change the audio volume (iOS)?
Best regards


Hello Michael,

You need to change MEDIANEXT with VOLUME+ or VOLUME- . So It should be:
For volume up: ble.sendCommandCheckOK(F(“AT+BLEHIDCONTROLKEY=VOLUME+”));
For volume down: ble.sendCommandCheckOK(F(“AT+BLEHIDCONTROLKEY=VOLUME-”));

You can take a look at the other futures of BLE module from thedocument: Page 108;)


… thanks. it works. Some iOS apps other than music players use the volume command to change status. For example the ProCamera App: The volume command triggers “take photo” or “record/pause”. So watchX can be used as a camera remote.


This is awesome. How is the program space?


I have spent a few hours trying to get basic watch ported properly to a lower usage oled library. But they work differently to the Adafruit one which you can specify a character location.

I will have to start from scratch. Also the fonts are not as nice. I would rather stick with the Adafruit library, or maybe I need to find some others I have not tried yet.

I might just tidy up the basic watch code.

Any suggestions?
We need an MCU with more space and RAM.


It’s full + full %99 :slight_smile: The adafruit OLED library alone take %69 of the program space. We definitely need to switch to an another library.

Yes the second library is very basic and I don’t like it neither. As soon as I find time I will search for a better library or modify the text based one.

Human kind went to the moon and back with 16kb :smiley: we should do better on firmware side :wink: