Skip to content

Camera Testing on The Arduino Giga/display shield #181

@mjs513

Description

@mjs513

@KurtE - @facchinm - @pillo79 - @iabdalkader

Over the last day or two I have been testing all the cameras that are currently supported by zephyr that I have on hand - OV7670, GC2145, OV2640 and OV5640 plus one that the OV7675 that I just sent a PR to zephyr to support: zephyrproject-rtos/zephyr#94270

As @KurtE and I mentioned before the only way we found to get these cameras to work reliably with the Giga and the H7 was to change from using SDRAM to using a fixed buffer in memory otherwise they will fail with the DCMI issue and stop. In the Porting the Arduino camera and display ecosytem to Zephyr discussion it appears that the issue is with dma transfer. @KurtE can explain more as he did most of the testing on this issue.

However, with that said using the fixed buffer instead of sdram:
OV7670:

  1. Video on the giga display was showing about 40 frames per second plus we are able to send a single snap shot to the arducam app for windows that we are using.
  2. However, to get the camera to work I had to change 1 register setting per drivers: video: ov7670: update init regs zephyrproject-rtos/zephyr#94183

GC2145;

  1. Video on the giga display was showing about 40 frames per second plus we are able to send a single snap shot to the arducam app for windows that we are using.
  2. However we did added several changes to the reg initialization:
    {GC2145_REG_RESET, GC2145_REG_RESET_P0_REGS},
    //////////////frame rate   50Hz
    {0xfe, 0x00},

    {0xf7, 0x1d},
    {0xf8, 0x84},
    {0xfa, 0x00},

    {0x05, 0x01}, // hb
    {0x06, 0x3b},
    {0x07, 0x01}, // Vb
    {0x08, 0x0b},

    {0xfe, 0x01},
    {0x25, 0x01},
    {0x26, 0x32}, // step
    {0x27, 0x03}, // 8.15fps
    {0x28, 0x96},
    {0x29, 0x03}, // 8.15fps
    {0x2a, 0x96},
    {0x2b, 0x03}, // 8.15fps
    {0x2c, 0x96},
    {0x2d, 0x04}, // 8.15fps
    {0x2e, 0x62},
    {0x3c, 0x00},
    {0xfe, 0x00},
    {0x00, 0x00},

Did not issue a PR as @KurtE has another PR in draft for the GC2145.

OV2640:

  1. Video on the giga display was showing about 40 frames per second plus we are able to send a single snap shot to the arducam app for windows that we are using.

OV5640:

  1. With the lastest release the camera fails right away with the DCMI error. However, this was working prior. So not sure where the issue is.

OV7675:

  1. PR issued for the additional camera.
  2. Video on the giga display was showing about 40 frames per second plus we are able to send a single snap shot to the arducam app for windows that we are using.
  3. vsync-active = <1> for the ov7675

Cheers. Not sure if you want to change to using a fixed buffer in the camera libary or not to fix the issues.

Here is a copy of my giga overlay showing all notes for clock settings for the cameras:

arduino_giga_r1_stm32h747xx_m7.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions