Binocular camera module


#1

I have not found much information about the binocular camera module that is available for the MAIX GO. Where can I find relevant information?

  • where must it be attached to the board? Is it the same connector as for the single camera?
  • is there a demo with source code?
  • How to select which camera is active? Is it via DVP_PWDN/DVP_PWDN_IN, or is the data of both cameras send to the board (more or less as I2S transmits left/right as alternating data items in a stream?)

Any information is welcome!


#2

Hi Sentry - From inspecting the module and it’s schematic it does appear there are two zero resistor links on the board that determine if DVP_PWDN acts as a power down function (R11) or a camera selector (R12). My module came with R11 not connected and R12 populated, which reroutes DVP_PWDN to all the ENB pins on all the BL1551 analog switches (labeled as DVP_SEL in the schematic).

As far as samples goes, in a very recent commit to MaixPy (wipping added 12 days ago) you can find a simple sample binocular camera program you can start with:

import sensor
import image
import lcd
import time
lcd.init()
sensor.binocular_reset()
sensor.shutdown(False)
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.shutdown(True)
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
while True:
    sensor.shutdown(False)
    img=sensor.snapshot()
    lcd.display(img)
    time.sleep_ms(100)
    sensor.shutdown(True)
    img=sensor.snapshot()
    lcd.display(img)
    time.sleep_ms(100)

Here’s what it does:
binocular_test

Other than the image being mirrored, it looks pretty good to me. All the key code bits here can be found in ports/k210-freertos/mpy_support/omv/sensor.c.


#3

Thank you!

You provided the information I needed. Although I love python, I am still not sold on micropython. So I have made a demo for the kendryte standalone sdk, see here.