Search for...

Camera — Md03-2

Because the MD03-2 is a generic OEM product, you will not find it at Best Buy or Amazon (often banned due to privacy concerns). You must check:

Price expectation: $12 to $30 USD. If you see it for $50, you are being overcharged.

Use an FT232H (USB to parallel FIFO) or a Logic Analyzer is too slow – instead: md03-2 camera

On Raspberry Pi (with PiCamera library not compatible – use direct GPIO):


If it’s a parallel version (most common), you’ll have something like this: Because the MD03-2 is a generic OEM product,

| Pin | Name | Description | |-----|-------|------------------------------| | 1 | 3V3 | Power (3.3V) | | 2 | GND | Ground | | 3 | SCL | SCCB clock | | 4 | SDA | SCCB data (I²C-like) | | 5 | VSYNC | Vertical sync | | 6 | HREF | Horizontal reference | | 7 | PCLK | Pixel clock | | 8 | XCLK | Master clock input (8–24 MHz)| | 9 | D7 | Data bit 7 (MSB) | | 10 | D6 | Data bit 6 | | 11 | D5 | Data bit 5 | | 12 | D4 | Data bit 4 | | 13 | D3 | Data bit 3 | | 14 | D2 | Data bit 2 | | 15 | D1 | Data bit 1 | | 16 | D0 | Data bit 0 (LSB) | | 17 | RESET | Reset (active low) | | 18 | PWDN | Power down (active high) |

Note: Some modules have fewer pins – verify with your board. Price expectation: $12 to $30 USD


To use the MD03-2, you’ll need:


Typical register writes for RGB565, QVGA:

write_reg(0x12, 0x80); // reset
delay(10);
write_reg(0x12, 0x04); // QVGA, RGB
write_reg(0x40, 0xD0); // RGB565
write_reg(0x17, 0x13); // output range etc.

You can find full register maps in OV7670 datasheet.


One unique feature of the MD03-2 camera is the ability to turn off the on-screen date/time stamp. Many cheaper spy cameras permanently burn the date onto the video, ruining footage usability. To remove the timestamp on the MD03-2, you typically create a blank text file named TIMESTAMP.TXT or NOSIGN.TXT in the root directory of the SD card. (Note: This method varies by manufacturer clone, so check your manual.)