k210 + OV2640 cropping full resolution, understanding the registers

Thread Starter


Joined May 18, 2020
[Not sure if in the correct section!]

I'm working with a k210 chip (for machine vision) on a sipeed maix go, and I'm trying to process UXGA pictures. The chip can't handle having more than QVGA pictures in memory, so I want to only retrieve a "crop" of the full resolution at a time.
To do so, I'm trying to use the registers described in the datasheet. The thing is I don't understand how the registers relate to each other, and I'm getting a lot of "sensor timeouts", "green images" and other things of the sort.
I've identified the following registers as being relevant: HSIZE, VSIZE, XOFFL, YOFFL, VHYX, TEST, ZMOW, ZMOH, ZMHH, SIZEL, HSIZE8, VSIZE8, COM1, COM7, HREFST, HREFEND, VSTRT, VEND and REG32.

Can someone help me understand how this registers work and how to use them to achieve the desired objective?

The maix go is a bit more complex than the camera, It has it's own "firmware". There are 3 alternatives for the firmware, which can be found here: github.com/sipeed. Two are C and one is a micropython implementation(MaixPy). I'm trying to modify MaixPy's source code ov2640 interface implementation. I've tried using windowing but I think I must change the other registers in order for it to work. The interface is here: ov2640.c. I'm messing with "svga_config".
Also, here are
Basically, sipeed took the chip and put it into "usable" boards.
Thread starter Similar threads Forum Replies Date
Carsen -W- Digital Design 1
D General Electronics Chat 20