Due some hardware glitches, no holes to attach it to my servo bracket or to anything in general, I had to build a new version. Anyway, took the decision to drop the testing connector (the 5 pins header on the second board pictured bellow) and now, instead of reading last 3 bits of every half byte I read last 6 bits of every byte and set the camera to output the data in bytes instead of 4:4:4 format. This will give better accuracy for colors.
Also, decided to overclock Atmega328 @ 24 Mhz, get VSYNC and WRST going to INT0 and INT1 respectively. Also, as the new vesion of the OV7670 FIFO boards (CF7670C-V2) have HREF going out on WRST pin and I did changed the code to handle that one, but there is no schematic and the factory claim that shematic is “top secret”…
Anyway, did changed the code a bit, get rid of OE/CS and WRST pins, so now I am using 2 (Rx + Tx) + 6 (SDA + SCL + VSYNC + WEN + RRST + RCLK) + 6 (D2 to D7), so in total 8 digital pins and all 6 analog pins from Atmega328/Arduino, leaving the other 6 for other tasks (note: last version use one of them to show when there is at least one object tracked).
Planning to get the first version attached to one of my already built platform and see how it behave. Later will work on the timing to reach at least 15 fps in tracking mode ^_^
In picture, from left to right: version 0.1, version 0.2, version 0.3 and OV7670 module.