• Community
  • Oak-D failed after calibration.py run

I already tried to run a similar script. The output is the following:
python3 calibration_dump.py
File "/tmp/calibration_dump.py", line 70
<title>depthai-python/calibration_dump.py at main · luxonis/depthai-python · GitHub</title>
^
SyntaxError: invalid character '·' (U+00B7)

The thing is that I am 100%sure that before the calibration.py run the eeprom content was correct.

btw: calibration_factory_reset.py
fails with
Factory reset calibration FAIL: Missing or corrupted factory default calibration

I also tried to modify calibration_flash_v5.py so that it is not creating a backup file which fails with my corrupted eeprom. But it seems i don't have any binary calibration file to feed to the camera. Is there such a file available somewhere?

./calibration_factory_reset.py
Factory reset calibration FAIL: Missing or corrupted factory default calibration
:-(
It seems to me that with a binary factory default calibration file (which i can't find anywhere) i might be able to flash it with the calibration_flash_V5.py (after commenting out the backup stuff which fails)

10 days later

I would like to bump this. I was trying to get my OakD running again and unfortunatly plugged in the other device i have due beeing confused. Now i can at least confirm that the call:
./calibrate.py -brd BW1098OBC.json -s 2.81 -db -m process -drgb
git e377e9bcf7caa87f421fd95e53d8263d23bec764 corrupts the EEPROM on the device.
The downside is that i don't have any working OakD anymore :-(.
So please help me get my devices out of their soft bricked state.

Hi @tstone sorry for late response, thanks for finding that out, will try to brick one of my oak cameras and see how I can fix it, will get back with the results tomorrow. It's weird because calibrate script shouldn't be able to corrupt factory data.

@tstone can you share the images used for calibration? I did some calibrations after capturing 13 images and I didn't encounter the issue, the images are saved in depthai/dataset

Here is an image of the calibration panel:

Nevertheless i think the problem stems from the missing EEPROM calibration data in the cams in the first place. So i think if i manage to write some matching eeprom content a new calibration run might probably work out?

a month later

tstone

I couldn't replicate the error, now that I'm looking trough errors again, I see you used oak-d-cm4 calibration, is this your board? Thought it was oak-d.

5 days later

If you have an EEPROM why don't you check for the type yourself and pull the right config file to not let the users run in this problem at the first place?

Yes you are right, i have two of these semi bricked Oak-D over here. But what is the correct board file to calibrate these cameras?
ACME01.json BW1098OBC.json OAK-D-CM4.json OAK-D-IoT-40.json OAK-D-PRO.json OAK-D-W.json
BW1097.json DM2097.json OAK-D-CM4-POE.json OAK-D-LITE.json OAK-D-PRO-W.json

None of the above seem to be the right one?

    tstone

    Sorry for the inconvenience, we are working on a better GUI for calibration, until it's finished, for OAK-D cameras, please use BW1098OBC, more information about the current calibration process here.

    So, calibrating with the wrong json should not over-write any sensitive fields that would make your board soft-bricked, it'll only give bad depth performance. Can you try to see if the mono-preview example and rgb-preview example works?

    Mh, so i used the right board file for the calibration run. I think the boards had a "different" calibration data. I am pretty sure that this worked when the cameras where new. But with later versions i got calibration data missing, that's why i started the failed calibration run.

    The mono-preview example works. The rgb_preview.py fails with
    Usb speed: SUPER
    Traceback (most recent call last):
    File "/bulk/baustelle/depthai/depthai-python/examples/ColorCamera/./rgb_preview.py", line 30, in <module>
    if device.getBootloaderVersion() is not None:
    AttributeError: 'depthai.Device' object has no attribute 'getBootloaderVersion'

    I am pretty sure that its not a hw failure as both cameras failed (one by accident) after the calibration process.

      25 days later

      tstone

      Sorry I missed your reply, please try to pull the latest for depthai-python and install depthai 2.19.1 (with python3 -m pip install depthai==2.19.1) this should solve the AttributeError: 'depthai.Device' object has no attribute 'getBootloaderVersion'.

      For calibration data missing, do you have any back-up file? These should be generated with the current EEPROM content before writing new calibration data.