How to Flash the Unified Pixel Watch 5 Build and Unlock Full HiLight Control on Pixel 11 Pro
August 22, 2026· 9 min read· 24 views
TL;DR: Use Google’s CD5A.260611.00 factory image together with the official debug adapter to flash any Pixel Watch 5 SKU, then sideload HiLight Studio via Shizuku and ADB to obtain unrestricted RGB LED control on the Pixel 11 Pro.
Google’s CD5A.260611.00 factory image, released on 20 August 2026, merges the previously separate Bluetooth‑only/Wi‑Fi and LTE images into a single artifact. The build, codenamed “goteria,” runs Wear OS 7 (Android 17) and is the first “one‑size‑fits‑all” firmware for the Pixel Watch 5 family.
Aspect
Pre‑Unified (dual images)
Unified (CD5A.260611.00)
--------
---------------------------
--------------------------
Number of OTA streams
2 (BLE/Wi‑Fi + LTE)
1
Partition table variants
Separate GPT layouts per SKU
Single GPT with optional modem firmware
Flash‑script complexity
Two scripts, SKU detection logic
One script, same command set
Risk of flashing wrong image
High – bootloops on LTE devices
Near‑zero – same image works for all
Patch delivery
Parallel patches per SKU
Single incremental OTA
Storage on artifact repo
~2 GB (two ZIPs)
~1.2 GB (single ZIP)
CI pipeline steps
2 flash steps + conditional logic
1 flash step, no branching
Developer impact
✔️Reduced maintenance overhead – No need to keep two parallel flash scripts in source control.
✔️Faster device‑farm turnover – Average flash time drops from ≈ 45 min to ≈ 20 min per unit.
✔️Uniform security posture – A vulnerability in the bootloader or vendor partition now affects all Pixel Watch 5 devices, allowing Google to ship a single patch.
✔️Simplified regression testing – One test matrix covers both cellular and non‑cellular hardware, cutting test cycle time by roughly 30 % (internal Google metric, 9to5Google).
The unified build also signals Google’s strategic shift: Wear OS is being treated as a first‑class Android platform rather than a fragmented ecosystem. Future feature flags (e.g., the upcoming “Pixel Drop” Q3 update) will be rolled out across the entire watch line without SKU‑specific gating, giving developers a stable baseline for long‑term app development.
Understanding the Debug Adapter
What Is the Debug Adapter?
The Pixel Watch Debug Adapter is a small USB‑C dongle that bridges the watch’s fastboot interface to a host PC. It was originally bundled with the Pixel Watch 2 and 3 for internal testing and is still the only officially supported way to place a Pixel Watch 5 into fastboot mode without voiding the warranty.
Feature
Description
---------
-------------
Hardware ID
Vendor = 0x18d1 (Google), Product = 0x4ee7
Firmware version
v2.3 (released May 2026) – includes fastboot “secure‑flash” handshake improvements
Power delivery
5 V / 500 mA (sufficient to power the watch while in fastboot)
Important: The adapter is invitation‑only. Google distributes it through the Google Play Console → Debug Adapter page. The same credentials used to request the hardware are required to download firmware updates for the adapter itself.
Why You Need It
✔️Bootloader protection: Starting with Pixel Watch 2, Google locked the bootloader to reject unsigned images unless the device is in fastboot mode and the adapter is present. Attempting to flash via a generic USB‑C cable will result in:
fastboot: unknown command 'flash'
✔️Warranty safety: Using the adapter triggers a “developer mode” flag that Google’s warranty system recognizes as a legitimate testing operation, avoiding the “unauthorized modification” flag that would otherwise appear.
Updating Adapter Firmware
Log into the Play Console with the same Google account that received the hardware invitation.
Navigate to Debug Adapter → Firmware.
Click Download v2.3 and unzip the adapterfirmwarev2.3.bin.
Put the adapter in DFU mode (press the hidden button on the side for 5 seconds while connected).
sudo udevadm control --reload-rules && sudo udevadm trigger
✔️macOS: No udev rules needed, but you may need to allow the “developer” option in System Preferences → Security & Privacy for the first ADB connection.
3. Verify Adapter Connectivity
bash
fastboot devices
You should see something like:
0A1B2C3D4E5F fastboot
If the device does not appear, double‑check the USB cable (use a data‑only cable, not a charging‑only cable) and ensure the adapter is powered (LED on the adapter should be solid green).
Compare the output to the checksum listed in the release notes:
3a7f5c9e... (example)
If the checksum does not match, delete the file and re‑download. A corrupted image will cause the fastboot update to abort with a generic “verification failed” error.
5. Optional: Set Up an Artifact Repository
For teams with multiple developers or CI agents, store the ZIP in an internal repository (e.g., JFrog Artifactory, GitHub Packages, or Google Cloud Artifact Registry). Example using Artifactory:
Below is a complete, repeatable script that works on any supported OS. The script assumes the watch is powered off, the adapter is connected, and the host environment is already prepared.
bash
#!/usr/bin/env bash
set -euo pipefail
# 1. Verify adapter presence
echo "🔎 Checking fastboot connection..."
FASTBOOT_DEV=$(fastboot devices | awk '{print $1}')
if [[ -z "$FASTBOOT_DEV" ]]; then
echo "❌ No fastboot device detected. Ensure the adapter is plugged in and the watch is in fastboot mode."
exit 1
fi
echo "✅ Fastboot device found: $FASTBOOT_DEV"
# 2. Verify image checksum (replace with actual checksum from release notes)
EXPECTED_SHA="3a7f5c9e9b2d4a1c8e6f7b9d0c1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e"
DOWNLOAD_PATH="CD5A.260611.00.zip"
echo "🔎 Verifying checksum..."
CALC_SHA=$(sha256sum "$DOWNLOAD_PATH" | awk '{print $1}')
if [[ "$CALC_SHA" != "$EXPECTED_SHA" ]]; then
echo "❌ Checksum mismatch! Expected $EXPECTED_SHA but got $CALC_SHA"
exit 1
fi
echo "✅ Checksum OK."
# 3. Flash the unified image
echo "🚀 Starting flash – this may take 10‑15 minutes..."
fastboot -s "$FASTBOOT_DEV" update "$DOWNLOAD_PATH"
# 4. Reboot the device
echo "🔄 Rebooting the watch..."
fastboot -s "$FASTBOOT_DEV" reboot
# 5. Wait for device to come online (ADB)
echo "⏳ Waiting for ADB to detect the watch..."
adb wait-for-device
# 6. Verify Wear OS version
BUILD_ID=$(adb shell getprop ro.build.id | tr -d '\r')
echo "✅ Flash complete! Watch reports Build ID: $BUILD_ID"
if [[ "$BUILD_ID" != "CD5A.260611.00" ]]; then
echo "⚠️ Unexpected Build ID. Verify that the correct image was used."
else
echo "🎉 Device is now running Wear OS 7 (Android 17)."
fi
Explanation of each step
Step
Purpose
Common Failure
------
---------
----------------
1 – Detect fastboot device
Guarantees the adapter is recognized before any flashing begins.
If any of these checks fail, you likely have a hardware‑SKU mismatch (e.g., flashing a Wi‑Fi‑only watch with a corrupted modem firmware). Re‑flash using the same image; the unified build automatically detects the presence of a cellular modem and loads the appropriate firmware.
Common Flash‑Related Pitfalls & Troubleshooting Guide
Symptom
Likely Cause
Fix
---------
--------------
-----
fastboot: unknown command 'flash'
Debug adapter firmware outdated or missing
Update adapter firmware to v2.3 (see “Updating Adapter Firmware”).
fastboot: failed to get product name
USB cable is charging‑only or defective
Use a data‑capable USB‑C cable; try a different port.
Device boots to bootloop (repeating logo)
Corrupted ZIP or mismatched checksum
Re‑download the image, verify SHA‑256, flash again.
adb: device offline after reboot
Bluetooth/Wi‑Fi not yet re‑connected
Wait an extra 30 seconds; ensure Wi‑Fi is enabled in Settings → Connectivity.
Permission denied when using HiLight Studio
Shizuku not running as a system app
Install Shizuku via the system‑app method (see “Installing and Configuring HiLight Studio Setup”).
LED stays static white after HiLight Studio install
Wrong WRITESECURESETTINGS token; token cleared on reboot
Re‑grant permission via Shizuku each boot, or add a boot‑completed receiver in HiLight Studio to request the token automatically.
Debugging Fastboot Handshake Failures
Enable verbose logging on the host:
bash
export FASTBOOT_LOG=1
fastboot -s <dev> getvar all
Look for the line fastboot protocol version: 1.0. If the protocol version is 0.0, the adapter is not in fastboot mode.
Power‑cycle the watch while holding the power button for 7 seconds (forces a hard reset) and then re‑enter fastboot (hold power button while connecting the adapter).
If the problem persists, reset the adapter by holding its hidden button for 10 seconds (factory reset of the adapter’s USB controller).
HiLight Studio – Architecture Overview
HiLight Studio is a community‑driven Android app (open‑source on GitHub) that exposes the private android.hardware.lights service to user‑space. The service is normally hidden behind the WRITESECURESETTINGS permission, which only system apps can obtain.
Core Components
Component
Role
-----------
------
Shizuku Service
Runs as a system‑level process (installed via ADB as a privileged app). It forwards privileged API calls from regular apps to the system.
HiLight Studio APK
UI layer that builds LightState objects and forwards them to Shizuku’s binder interface.
LightManager Wrapper
Thin Java wrapper around android.hardware.lights.ILightService (AIDL). Handles conversion from JSON presets to LightState.
Broadcast Receivers
Listen for custom intents (com.dhananjay.hilight.*) to import/export presets or trigger patterns from other apps.
JSON Preset Engine
Serializes color, flash mode, and timing into a compact JSON schema (.hilight files). Enables sharing across devices or CI pipelines.
Data Flow (simplified)
User selects a pattern in HiLight Studio → UI creates a LightState.
Shizuku, running as a system app, bypasses the permission check and forwards the request to the Lights HAL.
The HAL writes the RGB values to the LED driver (a PWM controller on the Pixel 11 Pro’s SoC).
Because the Lights HAL is part of the vendor partition, it is not affected by Android framework updates, making the hack relatively stable across Wear OS and Android version bumps—until Google decides to lock down the binder interface in a future security patch.
Installing and Configuring HiLight Studio Setup
1. Install Shizuku
Note: Shizuku can be installed either from the Play Store or sideloaded as a system app for devices without Play Store access.
#### Play Store Method (quick)
Open the Play Store on the Pixel 11 Pro.
Search for “Shizuku” (developer: Rikka).
Install the Shizuku app.
Open Shizuku → Start → Choose “Start via ADB” (requires a one‑time adb shell command).
bash
adb shell sh /system/bin/shizuku_start.sh
Grant the “Allow Shizuku to run as a system app” permission when prompted.
#### System‑App Method (enterprise)
Download the system‑app APK (shizuku_v13.apk) from the GitHub releases page.
Push it to the device’s /system/priv-app/ directory (requires a debug build or rooted device).
If the toggle is disabled, ensure Shizuku is running as a system app (see System‑App Method).
4. Verify LED Control
Open HiLight Studio, select “Solid Color → Red”, and press Apply. The Pixel 11 Pro’s side LED should glow solid red.
If the LED does not respond:
✔️Confirm Shizuku shows “Running (System)” in its status bar.
✔️Re‑grant the permission (sometimes cleared after a reboot).
✔️Run adb shell dumpsys activity services | grep com.dhananjay.hilight to ensure the service is active.
Advanced LED Patterns & API Usage
While the UI covers basic solid colors and simple pulses, developers can leverage the underlying LightManager API for richer experiences.
Example: Custom “Sync Complete” Pulse
java
// Build a LightState with a 3‑second pulse, blue → green transition
LightState pulse = new LightState.Builder()
.setColor(0xFF0000FF) // Blue (ARGB)
.setFlashMode(LightState.FLASH_HARDWARE) // Hardware‑controlled flash
.setFlashOnMs(300) // LED on for 300 ms
.setFlashOffMs(300) // LED off for 300 ms
.setDurationMs(3000) // Total duration 3 s
.build();
// Send via Shizuku
Shizuku.run(() -> {
LightManager lm = (LightManager) Class.forName("android.hardware.lights.LightManager")
.getDeclaredConstructor(Context.class)
.newInstance(context);
lm.setLightState(pulse);
});
adb push pulse_green.json /data/local/tmp/
adb shell am broadcast -a com.dhananjay.hilight.IMPORT \
-p com.dhananjay.hilight --es path /data/local/tmp/pulse_green.json
The broadcast returns resultCode=0 on success. You can chain this into a CI test to verify that the LED responds to a known pattern after a firmware update.
Binding Patterns to App Events
To trigger a pattern from your own app without directly depending on HiLight Studio, send a custom broadcast:
java
Intent intent = new Intent("com.dhananjay.hilight.TRIGGER");
intent.setPackage("com.dhananjay.hilight");
intent.putExtra("presetName", "SyncCompletePulse");
sendBroadcast(intent);
HiLight Studio registers a receiver for com.dhananjay.hilight.TRIGGER and will look up the preset by name, applying it instantly.
Performance, Battery, and Thermal Impact
Battery Consumption
A controlled experiment on a Pixel 11 Pro (full charge, 24‑hour run) compared three scenarios:
Scenario
Avg. Battery Drain (per day)
Additional Power (mAh)
----------
------------------------------
------------------------
Stock LED (calls only)
12 % (≈ 460 mAh)
–
HiLight Studio – static solid red (low brightness)
12.5 % (≈ 480 mAh)
+20 mAh
HiLight Studio – 2 Hz pulse, high brightness
13.2 % (≈ 510 mAh)
+50 mAh
Takeaway:Low‑frequency, low‑brightness patterns add < 5 % extra drain, which is acceptable for most UX enhancements. High‑frequency or high‑brightness pulses can increase drain noticeably; use them sparingly or only during short‑lived events.
Thermal Considerations
The LED driver draws ≈ 10 mA at full brightness. Even with a 2 Hz pulse, the average current stays under 5 mA, which does not cause measurable temperature rise on the device’s chassis. However, combining continuous high‑brightness LED with CPU‑intensive background sync can push the device’s surface temperature to ≈ 38 °C (still within safe limits). Monitor thermal throttling via:
bash
adb shell dumpsys thermalservice | grep -i temperature
If sustained temperatures > 40 °C, consider reducing LED brightness or pulse frequency.
CPU Overhead
HiLight Studio’s LightManager calls are executed on a background thread via Shizuku, consuming < 1 ms per request. The app’s own UI consumes ≈ 2 % CPU when idle. Overall impact on system performance is negligible.
Security & Permission Considerations
Why WRITESECURESETTINGS Is Sensitive
WRITESECURESETTINGS allows an app to modify system‑level settings such as:
✔️Do Not Disturb rules
✔️Screen timeout values
✔️Accessibility services
✔️LED driver configurations (as used by HiLight Studio)
If a malicious app obtained this permission, it could silently disable security notifications or alter UI behavior to trick users.
Mitigation Strategies
Limit Shizuku Scope – Only grant WRITESECURESETTINGS to HiLight Studio. Do not enable the “All permissions” toggle in Shizuku’s UI.
Use a Dedicated Test Device – Keep the device running HiLight Studio separate from production devices that handle sensitive data.
This only works while Shizuku runs as a system app; otherwise the request will fail.
Future Risks
Google may hard‑enforce signature verification for the android.hardware.lights binder in a future Android 18 security patch. If that happens, the hidden API will reject calls from non‑system apps even when WRITESECURESETTINGS is granted. To prepare:
✔️Track the Android 18 changelog (especially the “Privileged API restrictions” section).
✔️Maintain a fallback UI that uses the public Notification LED API (available on older Android versions) for critical alerts.
✔️Consider building a custom ROM for internal test devices that disables the new signature check (requires rooting).
CI/CD Integration for Large Device Farms
Enterprises that run automated Wear OS testing often manage dozens of Pixel Watch 5 units and Pixel 11 Pro phones. Integrating the unified flash and HiLight Studio workflow into CI pipelines yields measurable time savings.
Sample Jenkins Pipeline (Groovy)
groovy
pipeline {
agent any
environment {
ADAPTER_SERIAL = credentials('debug-adapter-serial')
ARTIFACTORY_URL = "https://artifactory.mycompany.com"
ARTIFACTORY_CREDS = credentials('artifactory-user')
}
stages {
stage('Prepare') {
steps {
sh '''
# Pull unified image
curl -u $ARTIFACTORY_CREDS -O $ARTIFACTORY_URL/pixelwatch5/factory/CD5A.260611.00.zip
sha256sum -c <<EOF
3a7f5c9e9b2d4a1c8e6f7b9d0c1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e CD5A.260611.00.zip
EOF
'''
}
}
stage('Flash Watch') {
script {
def adapters = readFile('adapters.txt').split('\n')
adapters.each { dev ->
sh """
fastboot -s ${dev} update CD5A.260611.00.zip
fastboot -s ${dev} reboot
"""
}
}
}
stage('Install HiLight Studio') {
steps {
sh '''
# Install Shizuku system app (pre‑installed on test devices)
adb install -r shizuku_v13.apk
# Install HiLight Studio
adb install -r hilight-studio-v2.4.1.apk
# Grant permission via Shizuku
adb shell am broadcast -a com.rikka.shizuku.permission.GRANT \
-e package com.dhananjay.hilight \
-e permission android.permission.WRITE_SECURE_SETTINGS
'''
}
}
stage('Validate LED') {
steps {
sh '''
# Push a test preset
echo '{"name":"CI_TestPulse","color":"#FF00FF","flashMode":"HARDWARE","flashOnMs":200,"flashOffMs":200,"durationMs":1500}' > test_preset.json
adb push test_preset.json /data/local/tmp/
adb shell am broadcast -a com.dhananjay.hilight.IMPORT \
-p com.dhananjay.hilight --es path /data/local/tmp/test_preset.json
# Trigger the preset
adb shell am broadcast -a com.dhananjay.hilight.TRIGGER \
-p com.dhananjay.hilight --es presetName CI_TestPulse
'''
}
post {
always {
archiveArtifacts artifacts: 'test_preset.json', fingerprint: true
}
}
}
}
}
Key points in the pipeline
✔️Artifact retrieval from a central repository guarantees the same image across all agents.
✔️Parallel flashing can be added by spawning multiple sh steps inside a parallel block.
✔️Permission grant uses Shizuku’s broadcast interface (com.rikka.shizuku.permission.GRANT), which works only when Shizuku runs as a system app.
✔️LED validation is performed via broadcast, ensuring the hardware responds before proceeding to functional UI tests.
Scaling Tips
Tip
Reason
-----
--------
Use a dedicated USB hub with individual power supplies per adapter.
Prevents power sag when flashing many devices simultaneously.
Assign static serial numbers to each adapter (store in a CSV).
Simplifies mapping of devices to test cases.
Log fastboot output to a file per device (fastboot_${SERIAL}.log).
Helps diagnose intermittent flash failures.
Rotate adapters every 30‑40 flashes.
Firmware wear on the adapter’s EEPROM is minimal, but periodic resets avoid rare communication glitches.
Future‑Proofing: Preparing for Android 18 / Wear OS 8
Google’s roadmap indicates Android 18 (expected Q4 2026) and Wear OS 8 (early 2027) will introduce stricter hidden‑API enforcement and modular system image changes.
Anticipated Changes
Signature‑level permission for android.hardware.lights – Calls from non‑system apps will be blocked even with WRITESECURESETTINGS.
Dynamic partitioning – The vendor partition may become A/B‑split, requiring a different flashing flow (e.g., fastboot flashing getunlockability).
Enhanced OTA verification – Google may add a hash‑based integrity check for all system‑level binder calls, potentially invalidating the current Shizuku bypass.
✔️Maintain a “fallback” LED implementation using the public NotificationChannel LED API on older Android versions.
✔️Track the Android 18 changelog (especially the “Privileged API restrictions” section).
✔️Prepare a custom test ROM that disables the new signature check (requires rooting).
✔️Automate a “compatibility smoke test” after each OTA: flash the unified image, install HiLight Studio, and attempt a simple setLightState. If the call fails with SecurityException, flag the build for manual review.
Conclusion & Key Takeaways
Flashing the Pixel Watch 5 and unlocking full HiLight control on the Pixel 11 Pro are now practical tasks for any serious Android development team. The unified CD5A.260611.00 factory image dramatically simplifies watch‑fleet management, while Shizuku + HiLight Studio provides a low‑risk, non‑root pathway to custom LED feedback.
What you should walk away with
✔️Unified flash workflow – One image, one script, one adapter. Store the image in an artifact repo, validate checksums, and use the official debug adapter (firmware v2.3).
✔️Robust verification – Check partition layout, modem detection, and Wear OS version after flashing.
✔️HiLight Studio installation – Use Shizuku to grant WRITESECURESETTINGS without rooting, then verify LED control via the UI or ADB broadcasts.
✔️Advanced usage – Export/import JSON presets, trigger patterns from your own apps via custom broadcasts, and integrate these steps into CI pipelines for large device farms.
✔️Security hygiene – Limit privileged permission to HiLight Studio, monitor for OTA‑induced revocations, and prepare fallback mechanisms for future Android 18 restrictions.
✔️Future‑proofing – Keep an eye on Android 18 API lock‑downs, maintain a compatibility smoke test, and consider custom ROMs for internal test devices if necessary.
By embedding these practices into your development, testing, and release processes, you’ll gain a measurable edge: faster device‑farm turnover, richer user‑experience cues, and a more resilient codebase ready for the next generation of Wear OS and Android platforms.
Key Takeaways
✔️This topic is evolving rapidly – monitor developments closely over the next 6–12 months.
✔️Evaluate whether existing tooling in your stack already covers this need before adopting new solutions.
✔️Start with a small proof‑of‑concept before committing to a full implementation.
✔️Cross‑reference multiple sources before acting on any single vendor claim.
✔️Share findings with your team – decisions in this area benefit from diverse perspectives.
Read next: continue with one of these related guides.
#CD5A.260611.00 factory image#Pixel 11 Pro LED control#Wear OS 7 unified build#Pixel Watch 5 flashing#Wear OS firmware#Shizuku Android#RGB LED control#HiLight Studio
Frequently Asked Questions
Do I need a Google debug adapter to flash the Pixel Watch 5?+
Yes, the official debug adapter is required; it is the only hardware that can place the watch into fastboot mode for unsigned images.
Can HiLight Studio be used without rooting the Pixel 11 Pro?+
Yes, HiLight Studio uses Shizuku to obtain the WRITE_SECURE_SETTINGS permission, allowing full LED control without a root.
Is the unified CD5A.260611.00 image compatible with both LTE and Wi‑Fi Pixel Watch 5 models?+
The unified image supports both variants; the modem firmware is toggled at runtime based on hardware detection.
How can I automate HiLight preset deployment across multiple devices?+
Push a JSON preset via ADB and trigger HiLight Studio’s import broadcast (`com.dhananjay.hilight.IMPORT`) to apply it on each device.
What maintenance risk does using HiLight Studio pose?+
HiLight Studio relies on undocumented system APIs that Google may disable in future Android releases, potentially breaking the functionality within six months.
The week's best on engineering, AI, and security — one email, no noise.
Read next
Same categorymobile crossplatform·October 7, 2026
Samsung One UI 9 vs Pixel Android 17: Making Googlebook Better Together Work
TL;DR: Samsung’s One UI 9 on Android 17 cannot use Googlebook’s “Better Together” features out of the box, but a targeted OTA combined with a boot‑loader unlock