This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OPT8241: EVM FX2 firmware on custom board

Part Number: OPT8241
Other Parts Discussed in Thread: INA226, OPT9221

We are currently developing our own camera based on the OPT-8241 EVM, but we have omitted/change some portion of the circuit. We don't use the INA226 current sensors and the PMIC from the EVM, but we are using the Cypress FX2 micro controller.

We didn't modify yet the firmware of the FX2 supplied with the EVM and when we load it on our board, we get no image in Voxel software. I can tell that the image sensor is working since it gets hotter and ILLUM_P/N and ILLUM_EN are activated so my illumination module is working.

So, is it normal to see this behavior? Will the FX2 firmware run correctly if there is missing I2C devices on our board? From the log/debug window, I'm guessing that something is not initializing correctly, maybe because of the missing components on I2C bus.

Voxel Viewer v0.9.10
Texas Instruments Inc.

INFO: ParameterDMLParser: Found register map with name 'OPT9221' (vPG1P0)
ERROR: HardwareSerializer: Invalid config data in hardware.
WARNING: MainConfigurationFile: Failed to read configuration from hardware.
WARNING: MainConfigurationFile: Could not open file 'Serial_No._Placeholder.bin'
ERROR: DepthCamera: Failed to update value for parameter 'mix_volt'
ERROR: DepthCamera: Failed to update value for parameter 'pvdd'
ERROR: DepthCamera: Failed to update value for parameter 'mix_volt'
ERROR: DepthCamera: Failed to update value for parameter 'pvdd'
ERROR: CameraSystem: Could not refresh parameters for TintinCDKCamera(0::0451:9105::Serial_No._Placeholder).
INFO: ToFCameraBase: Starting with 320x240@30fps
ERROR: USBIO: Could not transfer '0' bytes
ERROR: USBIO: Could not transfer '0' bytes
ERROR: USBIO: Could not transfer '0' bytes
WARNING: USBBulkStreamer: Resetting bulk endpoint at 1517401511501394
ERROR: USBIO: Could not transfer '0' bytes
ERROR: USBIO: Could not transfer '0' bytes

  • Hi Maxime, 

    The PMIC from the EVM is considered to be present in the code of VoxelViewer. You won't be able to see a stream if the registers are not the same as in the EVM. For the stream to work on VoxelViewer, you need to build a new board in Voxel SDK with the settings you require. You can remove the PMIC parameters from the "TintinCDKCamera" code, but you need to initialize the PMIC separately. 

    Otherwise, you can create a new board deriving from the ToFTintinCamera class and use that instead. 

    Here is the code to the SDK:

    The instructions to add a new camera can be found here:

    Once you build VoxelSDK after making the changes, go to VoxelViewer. Open File->SDK Selection and give the build directory as the path (you have to build with python bindings). 

    The slave address for the PMIC is also present in the FX2 code as well. You need to change the initialization settings accordingly: 

    github.com/.../pmic.c

  • Hi Suramya,

    Thanks for the reply, it clarifies why I was unable to see an image in VoxelViewer. We are about to modify FX2 firmware to get it work with our design, but I was curious to see if our hardware was working properly.