SGP Watch
An Apple-Watch-style watch, but "hacker": 9 faces with real data, and underneath the same educational arsenal of WiFi, Bluetooth, USB-HID, sensors and games. It boots into the watch face; a tap opens the apps.
01Overview
The SGP Watch is the "watch" variant of the SGP Phantom: same board, but the interface boots up as a watch (Apple-Watch aesthetic) and everything else is one tap away. It has no ambient sensor or RFID reader — it's made to be worn.
Boots as a watch
On power-up it shows the last face you chose (it's saved automatically).
9 real faces
Time, date, battery, activity rings, hacker terminal… all with real device data.
Tap = apps
A tap on the face opens the app drawer; swipe to change face.
Legacy v3 mode
It also includes the full original firmware, one button away.
02Hardware / Specifications
Same Waveshare ESP32-S3-Touch-LCD-1.69 board, fully integrated. Unlike the Phantom, the watch doesn't use an ambient sensor or RFID in its interface.
| Component | Detail | Bus / Address |
|---|---|---|
| MCU | ESP32-S3 (2.4 GHz WiFi + Bluetooth LE), native USB | — |
| Display | 1.69" IPS LCD 240×280, ST7789 | SPI |
| Touch | CST816T capacitive (tap + gestures) | I²C 0x15 |
| IMU | QMI8658 accelerometer/gyroscope | I²C 0x6B |
| RTC clock | PCF85063 (keeps the time) | I²C 0x51 |
| Buzzer | Passive buzzer | GPIO 42 |
| Battery | Rechargeable Li-Po + level | GPIO 1 |
03Wiring / Pinout
As a watch, there's nothing to wire: the Waveshare board has the display, touch, IMU, RTC, buzzer, battery and buttons built in. This table is reference only, in case you reprogram or modify it.
| Function | GPIO | Notes |
|---|---|---|
| Power ON / hold | 41 | Keep HIGH so it doesn't power off |
| POWER button | 40 | Power on / hold 3 s = off |
| BOOT button | 0 | "Back": app → apps → watch |
| Battery (ADC) | 1 | Battery level |
| LCD MOSI / SCK | 7 / 6 | Display SPI |
| LCD CS / DC / RST | 5 / 4 / 8 | ST7789 control |
| LCD Backlight | 15 | Brightness (PWM) |
| I²C SDA / SCL | 11 / 10 | Touch + IMU + RTC |
| Touch INT / RST | 14 / 13 | CST816T |
| Buzzer | 42 | Tones/effects |
04Power & controls
Power on
Press POWER. After a rings animation it boots into the last chosen face.
Open apps
Tap the face to open the app drawer.
Change face
Swipe left/right on the watch. Your choice is saved and comes back on power-up.
Back
BOOT goes back: from an app to the drawer, and from the drawer to the watch.
Power off
Hold POWER ~3 seconds.
Set the time
Apps → System → Set Time / Set Date (rollers). The RTC keeps it while there's battery.
05The 9 faces
All of them show real data from the device (RTC, battery, uptime, RAM, radios, IMU tilt). Change between them by swiping, or pick one in Apps → System → Faces.
Activity
Large time + 3 rings: battery (red), minute (green), second (cyan).
Modular
Data grid: date, battery, uptime, free RAM, radio, tilt.
Infograph
Analog face with complications in the corners.
Terminal
Hacker console: time, date, battery, uptime, heap, radio + cursor.
Tactical
Framed military HUD: HH:MM:SS, ZULU, T+, PWR%.
Gold 007
Gold rings + time + "007".
Numerals
Minimal XL time + date + battery.
Binary
Dot matrix: hours/minutes/seconds in binary.
Solar
Day-progress arc (% of the day elapsed).
06How to program it
Just like any ESP32 with the Arduino IDE.
1 · Core & libraries
Install the esp32 by Espressif core (3.x) and these libraries:
LVGL 8.4.0
Exactly 8.4.x, not 9.x.
GFX Library for Arduino
Display driver.
Arduino_DriveBus
CST816T touch.
MFRC522 + Adafruit BME680/280 + BMP280 + Unified Sensor + BusIO
Required by Legacy v3 mode (even though the watch doesn't use RFID/sensor).
lv_conf.h
Included in the sketch folder; if LVGL can't see it, copy it to Arduino/libraries/.
2 · Board settings (Tools)
| Option | Value |
|---|---|
| Board | ESP32S3 Dev Module |
| USB CDC On Boot | Enabled |
| Flash Size | 8MB |
| Partition Scheme | Huge APP (3MB No OTA/1MB SPIFFS) |
esp32:esp32:esp32s3:USBMode=default,CDCOnBoot=cdc,FlashSize=8M,PartitionScheme=huge_app
3 · Upload
- Open SGP_Watch.ino (all the .h tabs open with it).
- Connect via USB-C, pick the Port.
- Verify → Upload. If it won't upload: hold BOOT, tap RESET, release.
07All functions
Besides the faces, the watch carries the same utility categories as the Phantom (except RFID and the ambient sensor).
System
WiFi Lab
Bluetooth (BLE)
USB / HID
Sensors (IMU)
007 Spy
Extras & games
08Legal notice & responsible use
Educational tool. Several functions (deauth, beacon/BLE spam, BadUSB, brute) can be illegal if used against networks, devices or people without authorization.
Use them only on your own equipment and networks, or with explicit written permission. You are solely responsible. Obey the laws of your country.