SPI-камера для Raspberry Pi Pico
1. Введение
Raspberry Pi Pico — альтернатива Arduino, но ей не хватает вычислительной мощности, памяти и интерфейса CSI, поэтому с официальными и любыми другими модулями камер MIPI CSI-2 Pico работать не может. Зато у Pico много гибких вариантов ввода-вывода, в том числе SPI, — через него к Pico и подключается SPI-камера Arducam.
В Arducam обеспечили совместимость своих SPI-камер с Raspberry Pi Pico. Ниже — как начать работу.
- Модуль камеры SPI на 2 Мп с сенсором OV2640
- Модуль камеры SPI на 5 Мп с сенсором OV5642
2. Применение
- Камеры для интернета вещей (IoT)
- Камеры для роботов
- Фотоловушки для наблюдения за дикой природой
- Другие устройства с батарейным питанием
- Платформы на микроконтроллерах, Raspberry Pi, ARM, DSP и FPGA
3. Характеристики
- Сенсор OV2640 на 2 Мп (B0067) или OV5642 на 5 Мп (B0068)
- Держатель объектива с креплением M12 или CS, объективы можно менять
- Чувствительность к ИК при подходящем объективе
- Интерфейс I2C для настройки сенсора
- Интерфейс SPI для команд камеры и передачи данных
- Все порты ввода-вывода допускают уровни 5 В и 3,3 В
- Поддержка сжатия JPEG, одиночной и серийной съёмки, многократного чтения после одного захвата, пакетного чтения, режима пониженного энергопотребления и т. д.
- Совместимость со стандартными платами Raspberry Pi Pico
- Библиотека с открытым исходным кодом для Arduino, STM32, chipKIT, Raspberry Pi, BeagleBone Black
- Компактные размеры
4. Назначение выводов
| № вывода | Название | Тип | Описание |
|---|---|---|---|
| 1 | CS | Вход | Выбор ведомого устройства SPI (chip select) |
| 2 | MOSI | Вход | SPI: выход ведущего, вход ведомого |
| 3 | MISO | Выход | SPI: вход ведущего, выход ведомого |
| 4 | SCLK | Вход | Тактовый сигнал SPI |
| 5 | GND | Земля | Общий провод питания |
| 6 | +5V | Питание | Питание 5 В |
| 7 | SDA | Двунаправленный | Данные двухпроводного последовательного интерфейса |
| 8 | SCL | Вход | Тактовый сигнал двухпроводного последовательного интерфейса |
5. Основные характеристики
| B0067 | B0068 | |
|---|---|---|
| Сенсор | OV2640 | OV5642 |
| Активная область | 1600 × 1200 | 2592 × 1944 |
| Тип затвора | скользящий | скользящий |
| Объектив | 1/4" | 1/4" |
| Скорость SPI | 8 МГц | 8 МГц |
| Буфер кадра | 8 МБ | 8 МБ |
| Рабочая температура | −10…+55 °C | −10…+55 °C |
| Потребляемая мощность | Обычный режим: 5 В / 70 мА; режим пониженного энергопотребления: 5 В / 20 мА | Обычный режим: 5 В / 390 мА; режим пониженного энергопотребления: 5 В / 20 мА |
6. Типовая схема подключения

Подключение SPI-камеры к Pico:
| Камера | CS | MOSI | MISO | SCK | GND | VCC | SDA | SCL |
|---|---|---|---|---|---|---|---|---|
| Pico | GP5 | GP3 | GP4 | GP2 | GND | 3V3 | GP8 | GP9 |
7. Быстрый старт
7.1. Скачайте пакет с примерами
git clone https://github.com/ArduCAM/PICO_SPI_CAM.git
7.2. Работа с SPI-камерой на C
Поддерживаемые камеры:
- OV2640 2MP_Plus, формат JPEG
- OV5642 5MP_Plus, формат JPEG
Готовые примеры:

7.2.1. Сборка библиотеки драйвера
Примечание: среду разработки настройте по официальному руководству.
Выберите пример для сборки (по умолчанию — Arducam_MINI_2MP_Plus_Videostreaing).

cd PICO_SPI_CAM/C
mkdir build
cd build
cmake ..
make
7.2.2. Запуск файла .uf2
Скопируйте на Pico файл PICO_SPI_CAM/C/build/Examples/Arducam_MINI_2MP_Plus_Videostreaing/Arducam_mini_2mp_plus_videostreaming.uf2, чтобы запустить тест.

Откройте HostApp.exe в папке PICO_SPI_CAM/HostApp, укажите номер порта и нажмите Image, чтобы увидеть изображение.
