Basic Watch + Bluetooth Music Control


#1

Github Download link: https://github.com/mtulu-argeX/Basic_Watch

Forked from https://github.com/kghunt/Basic_Watch
Developer’s original blog: https://www.reddit.com/r/watchX/comments/8vmotl/basic_watch_fairly_big_update/

Installation instructions:

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

Usage:

  • 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:


#2

Hallo Mustafa,
nice job, the music control. In your sketch the line:
ble.sendCommandCheckOK(F(“AT+BLEHIDCONTROLKEY=MEDIANEXT”));
should be the command for “next title” and:
ble.sendCommandCheckOK(F(“AT+BLEHIDCONTROLKEY=PLAYPAUSE”));
the command for play and pause.
Do you know how to change the audio volume (iOS)?
Best regards
Michael


#3

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: https://cdn-learn.adafruit.com/downloads/pdf/introducing-the-adafruit-bluefruit-le-uart-friend.pdf Page 108;)


#4

… 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.


#5

This is awesome. How is the program space?


#6

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.


#7

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: