Flash User Bootloader
This script will flash user bootloader to the connected OAK camera. can only be flashed to devices that have on-board flash memory.We suggest using Device Manager, a GUI tool for interfacing with the bootloader and its configurations.
Demo
Example script outputCommand Line
1~/depthai-python/examples/bootloader$ python3 flash_user_bootloader.py
2 [0] 1844301041C83D0E00 [X_LINK_USB_VSC] current bootloader: 0.0.26
3 Which DepthAI device to flash User Bootloader for (Note: Only NETWORK supported) [0..0]: 0
4 User Bootloader version to flash: 0.0.26
5 Flashing User Bootloader...
6 Flashing progress: 0.0%
7 Flashing progress: 18.8%
8 Flashing progress: 31.2%
9 Flashing progress: 48.2%
10 Flashing progress: 94.2%
11 Flashing progress: 100.0%
12 Flashing successful. Took 7.55600329185836 seconds
Source code
Python
C++
Python
PythonGitHub
1#!/usr/bin/env python3
2
3import depthai as dai
4import sys
5import time
6
7deviceInfos = dai.DeviceBootloader.getAllAvailableDevices()
8if len(deviceInfos) == 0:
9 print("No device found to flash. Exiting.")
10 exit(-1)
11else:
12 for i, di in enumerate(deviceInfos):
13 print(f'[{i}] {di.getMxId()} [{di.protocol.name}]', end='')
14 if di.state == dai.XLinkDeviceState.X_LINK_BOOTLOADER:
15 with dai.DeviceBootloader(di) as bl:
16 print(f' current bootloader: {bl.getVersion()}', end='')
17 print()
18 selected = input(f'Which DepthAI device to flash User Bootloader for (Note: Only NETWORK supported) [0..{len(deviceInfos)-1}]: ')
19 info = deviceInfos[int(selected)]
20
21# Open DeviceBootloader and allow flashing bootloader
22with dai.DeviceBootloader(info) as bl:
23 print("User Bootloader version to flash:", bl.getVersion())
24
25 # Create a progress callback lambda
26 progress = lambda p : print(f'Flashing progress: {p*100:.1f}%')
27
28 print(f"Flashing User Bootloader...")
29 startTime = time.monotonic()
30 (res, message) = bl.flashUserBootloader(progress)
31 if res:
32 print("Flashing successful. Took", time.monotonic() - startTime, "seconds")
33 else:
34 print("Flashing failed:", message)
Need assistance?
Head over to Discussion Forum for technical support or any other questions you might have.