There are multiple libraries for camera support on CircuitPython.

For Espressif boards, the built in espcamera module (added in CircuitPython 8) interfaces with multiple types of cameras including the OV5640.

For other boards, such as the Raspberry Pi Pico with RP2040 microcontrollers, an installable library called adafruit_ov5640 is used instead. Internally, this uses a module called imagecapture for low-level camera interfacing.

Remember to use the right library for your board!

Camera Pin Naming

By convention, if a board has an integrated camera or a dedicated camera connector, the following will exist in the board module:

  • CAMERA_SIOC - the SCL pin of the camera
  • CAMERA_SIOD - the SDA pin of the camera
  • CAMERA_PCLK - the pixel clock of the camera
  • CAMERA_VSYNC - the vertical sync of the camera
  • CAMERA_HREF - the horizontal sync of the camera
  • CAMERA_XCLK - the input clock pin of the camera
  • CAMERA_DATA - the 8 data pins of the camera

This guide was first published on Feb 21, 2023. It was last updated on May 20, 2024.

This page (CircuitPython Camera Libraries) was last updated on Mar 08, 2024.

Text editor powered by tinymce.