I have an STM32F3 Discovery board like the one used in the Embedded Rust book, and I’m trying to get it to work with an OV7670 camera module. I wasn’t able to get sensible pixel data, so I decided to scale back and just see if I could communicate with it using I2C, and I couldn’t even get that to work.
3V3 is connected to 3V on the F3 board.
GND is connected to ground.
SIOC is connected to PB6.
SIOD is connected to PB7.
XCLK is connected to PA8.
RESET is connected to 3V.
PWDN is connected to ground.
Here’s the repo with hopefully minimal test code: https://github.com/bsl/ov7670-test
Here’s the output:
hseon false hserdy false hsion true hsirdy true pllon true pllrdy true pllmul 4 pllsrc false sws 2 mco 4 mcof true -- before write_read
Unfortunately, I have never used this OV7670 module before, so I don’t know if it’s functional. I also don’t have an oscilloscope, so I can’t be sure that XCLK is getting 24MHz clock. I’m hoping someone will just see something crazy in the code, or that I’m missing something important, or that I need more electronics stuff like resistors.
Thanks for any help!