![]() |
PicoCamera 0.2.0
Camera library for RP2040 with an esp32-camera compatible API
|
GitHub |
English · 中文
RP2040 摄像头库,API 与 esp32-camera 对齐(esp_ 前缀换成 pico_),基于 PIO + DMA 采集。
传感器列表与 esp32-camera 对齐(输出格式措辞已统一,如 YCbCr422 → YUV422、compression → JPEG),最后一列标注 PicoCamera 当前的支持进度:
| 型号 | 最大分辨率 | 色彩类型 | 输出格式 | 支持进度 |
|---|---|---|---|---|
| OV2640 | 1600 x 1200 | color | YUV422/420 RGB565/555 JPEG RAW RGB (8/10-bit) | ✅ RGB565 + YUV422 + JPEG |
| OV3660 | 2048 x 1536 | color | RAW RGB RGB565/555/444 CCIR656 YUV422 JPEG | ✅ RGB565 + YUV422 + JPEG |
| OV5640 | 2592 x 1944 | color | RAW RGB RGB565/555/444 CCIR656 YUV422/420 JPEG | ✅ RGB565 + YUV422 + JPEG |
| OV7670 | 640 x 480 | color | RAW Bayer Processed Bayer YUV422 GRB422 RGB565/555 | ✅ RGB565 + YUV422(无 JPEG 编码器) |
| OV7725 | 640 x 480 | color | RAW RGB GRB422 RGB565/555/444 YUV422 | RGB565(无 JPEG 编码器,未实测) |
| NT99141 | 1280 x 720 | color | YUV422 RGB565/555/444 RAW CCIR656 JPEG | ❌ 暂不支持 |
| GC032A | 640 x 480 | color | YUV422 RAW Bayer RGB565 | RGB565(无 JPEG 编码器,未实测) |
| GC0308 | 640 x 480 | color | YUV422 RAW Bayer RGB565 Grayscale | ✅ RGB565 + YUV422 + 灰度(无 JPEG 编码器) |
| GC2145 | 1600 x 1200 | color | YUV422 RAW Bayer RGB565 | ✅ RGB565 + YUV422(无 JPEG 编码器) |
| BF3005 | 640 x 480 | color | YUV422 RAW Bayer RGB565 | ❌ 暂不支持 |
| BF20A6 | 640 x 480 | color | YUV422 RAW Bayer Y-only | ❌ 暂不支持 |
| SC101IOT | 1280 x 720 | color | YUV422 RAW RGB | ❌ 暂不支持 |
| SC030IOT | 640 x 480 | color | YUV422 RAW Bayer | ❌ 暂不支持 |
| SC031GS | 640 x 480 | monochrome | RAW MONO Grayscale | ❌ 暂不支持 |
| HM0360 | 656 x 496 | monochrome | RAW MONO Grayscale | ❌ 暂不支持 |
| HM1055 | 1280 x 720 | color | RAW (8/10-bit) YUV422 RGB565/555/444 | ❌ 暂不支持 |
所有已支持的传感器还提供 set_reg/get_reg 原始寄存器读写;更多控制项按需移植。
对无 JPEG 编码器的传感器(如 OV7670、GC2145、GC0308、GC032A)请求 JPEG,pico_camera_init() 会返回 PICO_CAMERA_ERR_NOT_SUPPORTED——与 esp32-camera 行为一致。frame_size 超过传感器上限时不报错,告警并钳位到最大值。
PicoCamera 已上架 Arduino 库管理器:打开 工具 → 管理库... (或 速写 → 包含库 → 管理库),搜索 PicoCamera 点击安装即可。
也可以手动安装:把本仓库放入 Arduino/libraries/,或打包为 zip 通过「添加 .ZIP 库」安装。
PicoCamera 已上架 PlatformIO Registry:
也可以直接用 git 地址(lib_deps = https://github.com/umeiko/PicoCamera.git)或本地 file:// 路径。
本库是纯 Pico SDK 代码(不依赖 Arduino),裸 CMake 工程可以直接引入(要求 SDK ≥ 1.5.0):
完整工程见 examples/pico_sdk_capture,细节见使用指南。
Arduino / PlatformIO 两种方式需要 earlephilhower 的 arduino-pico 核心。
较新的 arduino-pico 版本可能自带一份 PicoCamera。你自己安装的副本(Library Manager、PlatformIO lib_deps、git)始终优先于内置副本,因此无需等待核心发版就能用上最新版。可以用 pico_camera.h 里的宏确认当前编译进程序的是哪个版本:
RP2040 开发板通过 FPC 排线连接 OV2640/OV3660 摄像头模组
传感器控制:
push_image_to_python:上位机实时渲染 OV2640 JPEG 图像流
MIT