English | 中文
This document describes how to flash compiled firmware to AI Smart Glasses devices.
Device Pre-installed Firmware: Your AI Smart Glasses device usually comes with pre-installed factory firmware and can be used directly.
Only need to re-flash firmware in the following situations:
- 🔧 You have modified firmware code and need to test new features
- 🐛 Need to fix system issues or upgrade system version
- 🔄 Device system damaged and needs recovery
- 🆕 Need to install specific version of firmware
If this is your first time using the device, we recommend referring to Getting Started Guide to start application development directly.
- One AI Glasses developer sample (contact email to purchase)
- USB data cable (for connecting device and host)
- Development host (Windows/Linux)
- Compiled firmware file (update.img)
- SocToolKit flashing tool
- ADB tool (Android Debug Bridge)
After firmware compilation completes, use the local output image directly:
# Build in AIGLASS_DEV_ENV workspace root
./setup_build_env.sh
# Choose one
# Device with display capability (default)
./build.sh
# Device without display capability
./build.sh --without-display
# Firmware output path
ls -lh output/image/update.imgSocToolKit flashing tool is located in the project's tools directory, select the version for your operating system:
tools/
├── Windows/
│ └── SocToolKit/
│ └── SocToolKit.exe
└── Linux/
└── SocToolKit/
└── SocToolKit
Run the corresponding SocToolKit tool according to your operating system:
Windows:
tools/Windows/SocToolKit/SocToolKit.exeLinux:
tools/Linux/SocToolKit/SocToolKitIn the SocToolKit interface:
- Use USB data cable to connect AI Smart Glasses to development host
- Wait about 10 seconds for system to recognize device
You can use either of the following methods to enter flashing mode.
-
Open terminal/command prompt window
-
Enter the following command to enter device interactive command line:
adb shell
-
After successful connection, you'll see the device command line prompt
-
Enter the following command in device command line to enter flashing mode:
reboot loader
-
Wait a few seconds. The device should normally restart into loader mode. If it does not respond for a long time, follow the troubleshooting note below first.
Troubleshooting Note: If
reboot loaderdoes not restart the device immediately, or the device never enters flashing mode, go back to the host and check the current process list with:adb shell topIf you find an app or process name starting with
{, note its PID and kill it with:adb shell kill -9 <PID>Then retry
reboot loader. This usually means a boot script did not finish normally, leaving the system stuck and unable to switch into flashing mode.
Recommended when:
- The device cannot boot normally
adbis unavailablereboot loaderkeeps failing
-
First make sure the device is fully powered off:
- Set the power switch to off
- Disconnect the USB cable between the device and the computer
-
Locate the flash button inside the small round hole on the temple:
-
Use a non-metal pointed tool such as a toothpick to press and hold the flash button
-
While still holding the button, connect the device to the computer with the USB cable
-
Wait until SocToolKit detects the device, then release the flash button
-
Once the device appears in the flashing tool, continue with the remaining flashing steps
In the SocToolKit interface:
- Click "Firmware..." button in SocToolKit interface
- In the file selection dialog that pops up, navigate to firmware directory
- Select the update.img file you just compiled
- Click "Open" to confirm selection
- Confirm firmware path is displayed correctly in interface
- Click "Upgrade" button to start flashing
- Wait for flashing progress bar to complete
During flashing:
- ⏳ Keep USB connection stable
⚠️ Do not disconnect device power⚠️ Do not close SocToolKit tool- 📊 Monitor progress bar and log information
- When flashing progress reaches 100%, tool will prompt flashing success
- Device will automatically restart
- Wait for device to complete startup (about 10 seconds)
# Connect device
adb shell
# Check device status
uname -a- Check if device display is normal
- Check if camera function is normal
- Check if audio function is normal
- Complete connectivity validation by following "First-time Wi-Fi Provisioning Check" below
- Make sure your router has 2.4GHz Wi-Fi enabled, and your phone is connected to the target 2.4GHz network.
- On an Android phone, open Wi-Fi settings and tap "Share" on the current network to generate a Wi-Fi QR code.
- Put the glasses into provisioning mode (auto when booted without network, or manually by short-pressing the button 10 times).
- Show the QR code on your phone to the glasses for scanning, then wait for a successful provisioning prompt.
- If the QR code is from a 5GHz/5G network, the device cannot connect. Switch to 2.4GHz and share again.
The mobile app is coming soon and will provide an easier provisioning entry.
graph TD
A[Compile Firmware] --> B[Copy update.img to Local]
B --> C[Start SocToolKit]
C --> D[Select Chip RV1106B]
D --> E[USB Connect Device]
E --> F[Wait 10 Seconds]
F --> G[Execute adb shell]
G --> H[Execute reboot loader]
H --> I[Confirm Device Shown in SocToolKit]
I --> J[Click 'Firmware...' Select update.img]
J --> K[Click 'Upgrade' Start Flashing]
K --> L[Wait for Flashing Complete]
L --> M[Device Auto Restart]
M --> N[Verify Flashing Result]
N --> O[Start Application Development]
Problem: Prompt device not found when executing adb shell
Solutions:
# Check device connection
adb devices
# If no devices, try restarting adb service
adb kill-server
adb start-server
# Check devices again
adb devicesProblem: After executing reboot loader, the device does not restart immediately or does not enter loader mode for a long time, and SocToolKit does not show the device
Solutions:
- First run the following command on the host to check whether there is an abnormal app or process name starting with
{:adb shell top
- If such a process exists, note its PID and run:
adb shell kill -9 <PID>
- After killing the abnormal process, retry
reboot loader - This usually means a boot script did not finish normally and the system is stuck
- If the device cannot boot,
adbis unavailable, or the software method keeps failing, switch directly to "Method 2: Enter via the Hardware Flash Button" above - Check if USB connection is stable
- Try changing USB port
- Try changing USB data cable
- Wait longer (sometimes takes 30 seconds)
- Manually restart device and try again
Problem: Device connected but SocToolKit not showing
Solutions:
- Confirm correct chip model selected (RV1106B)
- Check if USB driver installed correctly (Windows system)
- Try running SocToolKit with administrator privileges (Windows system)
- On Linux system check USB device permissions:
# View USB devices lsusb # Add udev rules (if needed) sudo nano /etc/udev/rules.d/99-rockchip.rules
Problem: Flashing progress bar stuck or error reported
Solutions:
- Check if USB connection is stable
- Check if firmware file is complete (compare file size and MD5)
- Ensure sufficient disk space
- Recompile firmware and retry
- Try reducing USB transfer speed (in SocToolKit settings)
Problem: Flashing successful but device shows black screen or no response on boot
Solutions:
- Wait longer (first boot may take 2-3 minutes)
- Check if firmware matches hardware version
- Try re-flashing
- Check device hardware connections (battery, screen, etc.)
- View boot logs via serial port (if serial debug available)
Problem: Windows system cannot recognize device
Solutions:
- Download and install Rockchip USB driver
- Check device status in Device Manager
- Update or reinstall driver
- Disable driver signature verification (for testing only)
Problem: Need to flash old version firmware
Solutions:
- Use same flashing steps
- Select old version update.img file
- Backup current configuration before flashing (if needed)
- ✅ Ensure firmware compilation has no errors
- ✅ Backup important data and configurations
- ✅ Fully charge device battery (at least 50%)
- ✅ Prepare stable USB connection environment
- ✅ Verify firmware file integrity
- ✅ Keep computer and device power stable
- ✅ Do not move or touch device
- ✅ Monitor flashing log information
- ✅ Wait patiently for completion, do not interrupt
- ✅ Verify device function integrity
- ✅ Record firmware version information
- ✅ Save flashing logs (if problems encountered)
- ✅ Test key function modules
After firmware flashing completes, you can:
-
Develop Applications
- Refer to Application Development Guide
- Use cross-compilation toolchain to develop user-level applications
- Deploy and debug programs via ADB
-
Configure System
- Configure network connection
- Set system parameters
- Install necessary software packages
-
Test & Verify
- Run test cases
- Verify hardware functions
- Performance testing
-
Debug & Develop
- Log debugging via ADB
- Program debugging using GDB
- Performance analysis and optimization
- Development Environment Setup Guide - Development environment setup
- Application Development Guide - Application development getting started
- Firmware Development Guide - Firmware development introduction
- Troubleshooting - Common problem resolution
If you encounter flashing issues:
- 📖 Check the common issues section of this document
- 💬 Ask questions on GitHub Issues
- 📧 Send email to: iam5stilllearning@foxmail.com
- 💡 Check Troubleshooting Documentation
Last Updated: 2025-11-12 | Version: v1.0.0


