Various lenses for CMOS camera modules.

9 thoughts on “Lenses

  1. Hi there,

    I recently did a project where I integrated an OV7670 with a QVGA TFTLCD, but receive grainy image quality with RGB565 color mode even after adjusting register settings (eg hue matrix, gamma values). I will try the register settings posted in your libraries, but I’m curious:

    . is there a systematic way to go about calculating the register settings that affect image/color quality, or is it trial and error?
    . you mentioned you work with camera sensors in industry. what are common tests performed to calibrate/setup camera register settings properly?

    Thanks for your help,

    • Hi Alec,
      Thanks for your comment.
      The image quality of OV7670 is not very good, and this sensor is discontinued and updated to OV7675 sensor.
      Normally the OV company will release a fine tuned register settings for customers. But it is confidencial and will not reveal to small customers.
      It is too bad for hobyist and electronic fans. It is why we start this website and give support for different sensors.
      You are welcome to involve us to add support for more sensors and MCU platform you are familar with.

      • It appears that OV7675 is limited to the same output formats as the OV7670; that is, YUV4:2:2 or RGB565. Is 24-bit (eg RGB888) pixel resolution necessary for acceptable quality, or is it primarily phototransistor+ADC quality?

        My platform was with the HCS12 instruction set on a 16-bit Freescale MC9S12C32 uC. The uC only has 2K SRAM and a 24MHz max bus speed, so I had to use a 12MHz PWM to clock the pixels from the camera directly to the LCD. Additionally, I had to route the PWM output to a Pulse Accumulator input in order to have an internal knowledge of when one frame ended (ie when the appropriate amount of pixels had been clocked for). For QVGA format, this allows up to 60Hz framerate, so I could fully accommodate the 30Hz output of the OV7670. I could send the files (asm/C) when I get back to university.

        When looking through the libraries you’ve posted here, I see SCCB communication functions + register initializations, but I don’t see how pixel transfer is actually being carried out. What are best practices for this pixel transfer? Is a high-speed uC usually used to bitbang a clock? Are there more efficient ways than the PWM+PA method I used?

  2. Hi,
    Do you have an example as how you get the image from the Camera sensor?
    I see the board that Has I2C to send commands. But How do I get the image into my Arduino board or raspberry Pi?
    Do you have a complete example?


    • Hi Adrian,
      Please visit download section, there are souce code library and many example in the zip file. The examples show how to make a snapshot and save to SD/TF card.
      But you need a ArduCAM shield to capture the image, cause the Arduino board is too slow to catch up with the image data stream and has limited RAM space.

  3. Hi!
    Is it possible to by somewhere this lenses and cameras?
    We are developing project under arduino wright now where some quantities demanded.

Comments are closed.