Watches OPPO Watch (beluga)

Hardware Support

The following list shows the state of the features of the OPPO Watch.
You can report any hardware support issue here. Use the label beluga for issues specific to your watch.

goodLight Sensor
goodHeart Rate
Model NumberModel NameCodename
OW19W6OPPO Watch 41mm WiFibeluga
OW19W8OPPO Watch 46mm WiFibeluga
OW19W12OPPO Watch 46mm LTEbelugaxl


The OPPO Watch Free is not supported! See the list on the porting status page to find out if your model is supported.

Prepare installation

Download AsteroidOS nightly builds

Store the files in your "Downloads" folder so the later commands work

asteroid-image-beluga.ext4 zImage-dtb-beluga.fastboot

Install ADB & Fastboot

On Linux systems with apt package manager

sudo apt install android-tools-adb android-tools-fastboot

On Windows systems install the Google USB driver

Get the Google USB Driver ZIP

Download this zip file containing ADB & Fastboot from Android SDK

Extract the content to a folder of your liking.
Navigate to that folder using the Windows commandline (cmd.exe).


1. Unlock your bootloader


Unlocking the bootloader may void your warranty.
The unlock process will trigger a factory reset of Wear OS. Backup any data you do not want to loose.
Installing AsteroidOS requires an unlocked bootloader.
Accessing the fastboot bootloader menu on your watch can be achieved using ADB in Wear OS, as described below in step 1.1.
If you are familiar with the manual method to access the bootloader menu, you can skip to step 1.3. Those methods are explained on the useful commands page.

1.1 Enable ADB on your watch

1. Open the settings app
2. Open the System page
3. Open the About page
4. Tap the Build number 7 times to reveal Developer options
5. Open the Settings app again
6. Open the Developer options page
7. Enable ADB debugging and OEM unlock

1.2 Reboot to fastboot bootloader mode

Enter the following ADB command in a terminal with your watch connected to USB.
adb reboot bootloader

1.3 Use fastboot to unlock the bootloader

With your watch now in fastboot mode, enter this command in a terminal to start the unlock procedure.
fastboot oem unlock

1.4 Follow the instructions on your watch's screen

Please note again, this may void your warranty and will wipe your userdata.

2. Install and boot AsteroidOS

Choose your installation type

You can now decide if you want to replace Wear OS definitively by flashing the system and boot image. Or try AsteroidOS as a dual-boot by sideloading the AsteroidOS system image and boot it only temporarily. The "real installation" provides the best experience but it is advised to make a backup of your data first. The "temporary installation" is a good way to try AsteroidOS if you don't plan to use it daily and intend to keep your previous OS.

  1. Real installation
  2. While your watch is in bootloader mode, flash the userdata and boot partitions using Linux:
    fastboot flash userdata ~/Downloads/asteroid-image-beluga.ext4
    fastboot flash boot ~/Downloads/zImage-dtb-beluga.fastboot
    fastboot continue
    or using Windows:
    fastboot flash userdata %systemdrive%%homepath%\Downloads\asteroid-image-beluga.ext4
    fastboot flash boot %systemdrive%%homepath%\Downloads\zImage-dtb-beluga.fastboot
    fastboot continue

  3. Temporary installation
  4. It's important to not boot into WearOS after unlocking your bootloader!
    While your watch is in bootloader mode, flash the recovery partitions using Linux:
    fastboot flash recovery ~/Downloads/zImage-dtb-beluga.fastboot
    or on Windows:
    fastboot flash recovery %systemdrive%%homepath%\Downloads\zImage-dtb-beluga.fastboot
    Then, use the top button on the watch to select "Recovery mode" and push the bottom button to boot into AsteroidOS.
    The bootlogo will popup with the message "Push asteroidos.ext4 via ADB" will show below the bootlogo.
    Push AsteroidOS to the internal sdcard using Linux:
    adb push -p ~/Downloads/asteroid-image-beluga.ext4 /sdcard/media/0/asteroidos.ext4
    or using Windows:
    adb push -p %systemdrive%%homepath%\Downloads\asteroid-image-beluga.ext4 /sdcard/media/0/asteroidos.ext4
    Everytime you want to reboot AsteroidOS:
    While in recovery mode use the top button on the watch to select "Recovery mode" and push the bottom button to boot into the temporary image of AsteroidOS.

3. Enjoy your new OS!

Boot problems

Bootloop of any kind or stuck boot process

Don't panic. None of the commands we advised you to use can damage or brick your watch permanently.
You can always go back to the fastboot bootloader menu, by using the manual finger combos for your watch.

Boot gets stuck even after repeated reflash

Congratulations, you might have found a new issue for us to solve. While this should not happen with stable builds, the nightlies are advancing quickly, and are not tested on all watches. You are likely using a nightly build, as the installation pages currently link to it. You can try again and install a stable build when available.
To help us solve the problem, you could try to collect logs. It is possible that the watch does not show a UI but is already accessible using ssh ceres@ or adb shell in the state the boot process stops. In case SSH connection works, try the following commands to write logs to local .txt files. or, if your watch presents an ADB interface, use the following commands: In case no connection is available, it is still interesting to see if the watch leaves any traces in your local dmesg. Try to spot USB related messages in sudo dmesg -w while the watch is connected and booting. Record the log using the sudo dmesg > dmesg-local.txt command.
You can share those logs in a new Github issue tagged with the watch codename. For support chat, you are invited to join our Matrix channel.

Watch only boots when powered via USB, but shuts off when booted while worn

This is a clear sign of a worn battery that will soon fail. Maybe you should replace it.
The boot process of AsteroidOS uses all cores of a watch to ensure a fast startup. This leads to power spikes during the boot process, which can completely shut down watches with worn out batteries. It has been observed that WearOS can still boot on watches with worn out batteries, but AsteroidOS cannot, depending on the progress of battery wear. However, AsteroidOS can usually still provide a useful 10-20 hours of uptime when the watch is worn once booted while powered up.
Batteries are relatively easy to replace on watches with screwed down backs. Glued back plates usually require creative solutions involving hair driers.

Watch successfully boots into the AsteroidOS user interface, but immediately reboots

This is a known behavior when the battery charge is very low. The watch usually recovers from this condition by simply boot cycling for some time. All watches also charge in fastboot or recovery mode. Letting the watch dwell on the fastboot or recovery menu screen for some time should fix the problem even faster.

Flashing problems

Watch is not detected and all fastboot commands fail

ADB connection works, but fastboot does not?

The fastboot oem unlock command not working even though the watch could be booted into fastboot mode using adb reboot bootloader is a known issue on windows systems. It is caused by using a watch manufacturer USB driver with missing fastboot support. Try removing that one and install the offical Google USB driver we linked above in the install section.

Fastboot command stops with error during the ~5 minute flashing process

Smartwatches are prone to lose a proper connection to their cradle over time due to sweat corroding the watch pins.
Clean the pins and pads with isopropyl alcohol and repeat the flashing process.
Try to ensure a stable USB connection by putting the watch and your computer on the same flat surface. Try to not move the cable connecting your computer and the watch during the whole flashing process. In case of worn or corroded contacts and pogo-pins that lost their springiness, it might be useful to attach the watch to its cradle or charging cable using duct tape or rubber bands.

Fastboot command displays "invalid sparse file format at header magic" when starting to flash the device

This is not a fatal error and can safely be ignored. Fastboot expects images to be in sparse format. When a raw image is supplied like in case of most of the AsteroidOS watches, fastboot converts it to sparse and shows above message.

Fastboot command crashes or hangs at "invalid sparse file format at header magi" (explicitly missing the "c" in magic)

This error occurs when using deprecated fastboot and ADB versions on Windows systems. If you already had adb.exe and fastboot.exe installed and skipped downloading our supplied ZIP file, please install and try those commands instead. Another reliable source for updated windows ADB and fastboot versions is the official Google platform tools ZIP file.