Snapshot from Camera to SD card

Hi Guys,

I am new to the forum and still very new to the Arduino world, but am amazed at the functionality of the processors. I have been tinkering with a few things and have been able to accomplish a lot thanks to all the available libraries, but I am getting stuck on this problem.

I have a MKR Vidor 4000 and have connected a MIPI camera to it. The camera is an OV5647 5mp camera and the VidorEnableCam sketch works great. All I want to do, though, is "take a photo" with the camera and store it on an SD card. My logic says that if data can be sent to the HDMI then it should be available for extraction somewhere. Will I have to modify the library files? Or am I missing something?

If anyone can point me in the right direction it would be greatly appreciated.

I didn't find any jpg or png encoder IP from vidor github.

If compression have to be done outsite of fpga then you need to "stream" data throught mailbox. 640x480 is about 600 kB in cached data (555 color system)

If you need bigger resolution then you may have to reconfigure camera. There are some limitations for transfer rate. After QRdetect there is conversion from 24bit to 15 bit colors.

So currently Vidor isn't supporting jpg or png compression.
If you can access directly to SDRAM through FPGA library then you can do compression or just write bmp.

Thank You Limba,

Sorry for the delayed response but I was sent out of town for work. I am not currently interested in any compressions as of yet, just want a snapshot or frame from the camera. When you say mailbox, what do you mean? I noticed it being used a lot in the source file, but not sure what it is. Is it some form of communicating to the memory area? and is there any documentation on it? Like I said I am still very new to arduino programming and still learning ... a lot!

Thanks again.

The mailbox is a hardware block, implemented within fpga. And it's not something typical for arduino.

It's an area where SAM will put its data when requesting some operation, and where it will read responses. And it's rather small - currently there's 512 words of 32-bit each. So the data from camera must be read in chunks, because it won't fit entirely in the mailbox.

Unfortunately, I couldn't find any RPC call that would transfer the data from the memory area filled with camera's pixels. It's easy to add, but you'll need some experience to modify and rebuild fpga's project.

I've also ordered a camera module, so will know more details in few days.

I think sadly current state of vidor is that you need experience from FPGA development or system design to do something with it.

I think more pesicious PWM and encoder can de used as in arduino library but more complicated stuff or your own ideas then need knowledge how fo write verilog or vhdl.

Edit:
What I was tring to say that current state of Vidor is far away how easy is currently other arduino boards to use.

Thank you for your replies,

Guess I will have to tinker more or maybe look at another processor.