This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52840 ble image transfer demo in parallel mode

Hello,

We are referring to demo project (https://github.com/NordicPlayground/nrf52-ble-image-transfer-demo). This is quite matching for our requirement. However we have to make quite few changes to it.

First is we are not using Arducam camera module. We are trying to interface OV2640 camera sensor directly to the nRF52840 development kit.

The Arducam module communicates to the nRF kit on SPI. But as we want to interface OV2640 directly to the nRF kit, the data coming to the kit would be in parallel.

In our case also, the image has to be transferred via BLE to the android device.

So the question is, is the parallel interfacing of camera module to the nRF kit possible?

Is there any demo for interfacing parallel port camera with nRF kit from which we can take reference from?

Thanks.

Parents
  • Hi,

    None of the NRF chips have HW support for a camera (DCMI), therefore interfacing parallel port camera might be a bit challenging because of the high data rate. Even if you would be able to hack GPIOTE and PPI to do it, you will not be able to send the image data away enough fast, so you will need an external SRAM where to save the image data and slowly send it out from there.

    /Erik

Reply
  • Hi,

    None of the NRF chips have HW support for a camera (DCMI), therefore interfacing parallel port camera might be a bit challenging because of the high data rate. Even if you would be able to hack GPIOTE and PPI to do it, you will not be able to send the image data away enough fast, so you will need an external SRAM where to save the image data and slowly send it out from there.

    /Erik

Children
  • Hi,

    If I want to capture the image at lowest resolution and lowest fps possible, still nRF won't be able to do that?

    In this case also do I need external SRAM for that?

    Thanks.

  • Let's say that you want to capture 640x480 image and you use RGB565 (2 bytes per pixel) color depth, those will be ~600kB of data. That will not fit even on nRF52840 if you would have all 512kB free.

    If you would run the camera with a ~600 kHz clock, you would get 1 fps with mentioned resolution and color depth. However, these cameras must be clocked at a certain frequency for them to function properly - auto exposure, auto iso, etc.
    I do not have the datasheet of this camera at hand but I would guess that the minimum clock freq. is around 12MHz. And in that case that will be the output clock freq. and you will be able to achieve 20 fps. nRF52 is clocked at 64 MHz, that would give you just 5 clock cycles per byte within which you need to read out from GPIOs and save out to external SRAM. That's tight.

    Please, check the datasheet and see the clock requirements. I have used a similar camera module a long time ago in another project and this is how it worked and the requirements were quite strict, but things might have changed.

    /Erik

Related