How to hack the G5 Smartwatch and use it as a HID:

Buying the device:

First you need to get a G5 Smartwatch. I got mine from Ali Express. it should have the NRF52840 chip.

Hacking the device:

I opened it up and wired it up to a raspberry pi 4 using raspbian os (pretty sure any pi would do for this) and used open-ocd to unlock the device via the SWD pins.


Shoutout to lupyuen for their work here https://github.com/lupyuen/openocd-spi . Lupyuen tons of great work around nrf chips

Note that I had to downgrade gcc and g++ to gcc9 and g++9 for it to work

Uploading Custom Firmware:

Once the device is unlocked I flashed the Espruno firmware from https://github.com/jeffmer/WatchApps/tree/master/firmware (another shoutout)
I will try to upload the hex file of this firmware on here if it lets me.

 
Uploading Apps:


After you have espruino you can start to install the actual applications to make the device work as a watch and.. you guessed it, a mouse and keyboard!
You can snag the basics right from the same resource as the firmware, our new friend Jeffmer! using his app loader we can load the main app, menu, a watch face if you like :)
his apploader can be found here (https://jeffmer.github.io/WatchApps/)

after that use the official Espruino apploader to upload this code https://github.com/GitZero1/NRF5-espruino-smartwatch-as-BLE-HID

Using the Apps:

1) Now you just go to the menu by pressing the top button
2) choose the mouse or keyboard app
3) on your phone/computer search for bluetooth devices and locate your G5 watch and connect to it.
4) profit

the keyboard is simple just press the buttons as if they are keyboard keys.
the mouse will move your cursor 10 pixels in the direction you swipe the watch screen. tapping the screen will result in a left click while press&holding the screen will result in a right click.
Since these are not very practical to use I am calling them concept apps and may do some tweaking to improve them but likely wont.

Hope you enjoy! Happy hacking!!