Hello!

I wonder if there is any way to flash the EEPROM manually instead of with calibrate.py

I am using an OAK-FFC 4P with two IMX378 modules, I have run calibrate.py and the EEPROM has been flashed. I have to prepare several of these cameras (OAK-FFC 4P + 2x IMX378), the extrinsic values are the same for all cameras, so I wonder if it is possible to flash manually those others, with the intrinsic values of the first flashed camera, instead of running calibrate.py too many times with each camera.

If possible, what intrinsic values should I get from the first flashed camera and how do I get them? Additionally, how do I flash those values obtained from the first camera to the rest of the cameras?

Thanks!

    Hi MartnTous
    Yes, it is possible to manually flash the EEPROM with the intrinsic values of the first flashed camera. The intrinsic values you need to get from the first flashed camera include the camera matrix and distortion coefficients.

    To get these values, you can use the Calibration Reader API code provided in the Luxonis documentation. This API code allows you to read the calibration data stored on the device over XLink, including the camera extrinsic and intrinsic parameters, along with other calibration values written on the device (EEPROM).

    Once you have these values, you can use them to manually flash the EEPROM on the other cameras. Examples for flashing the calibrations: https://docs.luxonis.com/projects/api/en/latest/samples/calibration/calibration_flash/ (alternatively, you can just load it on the device - for testing purposes, to see if the calibration is okay)

    Please note that while the intrinsic values might be the same for all cameras of the same model, the extrinsic values might differ depending on the physical setup of each camera. Therefore, it's recommended to calibrate each camera individually to ensure accurate results.

    Thanks,
    Jaka