ESP32-CAM: советы по машинному зрению, руководства по камерам и проекты
ESP32-CAM: характеристики, распиновка и руководство

Характеристики ESP32-CAM
| Модель модуля | ESP32-CAM |
|---|---|
| Корпус | DIP-16 |
| Размеры | 27 × 40,5 × 4,5 мм |
| Флеш-память SPI | 32 Мбит (по умолчанию) |
| ОЗУ | 520 КБ SRAM + 4 МБ PSRAM |
| Bluetooth | Bluetooth 4.2, стандарты BR/EDR и BLE |
| Wi-Fi | 802.11 b/g/n |
| Интерфейсы | UART/SPI/I2C/PWM |
| Карта TF | до 4 ГБ |
| Порты ввода-вывода | 9 |
| Скорость UART | 115 200 бит/с (по умолчанию) |
| Формат вывода изображения | JPEG (только с OV2640), BMP, GRAYSCALE |
| Частотный диапазон | 2412–2484 МГц |
| Антенна | печатная антенна на плате, усиление 2 дБи |
| Мощность передатчика | 802.11b: 17 ± 2 дБм (при 11 Мбит/с); 802.11g: 14 ± 2 дБм (при 54 Мбит/с); 802.11n: 13 ± 2 дБм (при MCS7) |
| Чувствительность приёмника | CCK, 1 Мбит/с: −90 дБм; CCK, 11 Мбит/с: −85 дБм; 6 Мбит/с (1/2 BPSK): −88 дБм; 54 Мбит/с (3/4 64-QAM): −70 дБм; MCS7 (65 Мбит/с, 72,2 Мбит/с): −67 дБм |
| Потребляемый ток | Deep-sleep: 6 мА при 5 В; Modem-sleep: 20 мА при 5 В; Light-sleep: 6,7 мА при 5 В |
| Безопасность | WPA/WPA2/WPA2-Enterprise/WPS |
| Напряжение питания | 5 В |
| Рабочая температура | −20…+85 °C |
| Условия хранения | −40…+90 °C, влажность < 90 % |
| Масса | 10 г |
Коротко об ESP32-CAM:
- Плата построена на SoC ESP32-S от Espressif — мощном программируемом микроконтроллере (MCU) со встроенными Wi-Fi и Bluetooth.
- По данным Arducam, это самая доступная отладочная плата ESP32, у которой есть сразу встроенный модуль камеры, поддержка карт microSD и 4 МБ PSRAM.
- Чтобы подключить внешнюю антенну Wi-Fi для усиления сигнала, придётся паять.
- Обычного USB-порта на плате нет. Для загрузки кода нужен программатор FTDI, плата расширения (HAT) или Arduino UNO, а также среда Arduino IDE или ESP-IDF.
- Низкая цена и компактный форм-фактор сделали плату очень популярной в проектах IoT и машинного зрения.
- В устаревшей спецификации и во многих руководствах сказано, что ESP32-CAM поддерживает только два модуля камер (OV2640 и OV7670). На деле с ней работает много камер — подробности ниже.
Начало работы с ESP32-CAM (полное руководство)

Впервые работаете с ESP32-CAM? Хорошее пошаговое руководство есть на сайте DroneBotWorkshop.
Четыре частые проблемы разработчиков с ESP32-CAM

Максимальный объём карты SD
По даташиту ESP32-CAM поддерживает карты до 4 ГБ, но один из пользователей Reddit проверил карту на 64 ГБ — она работала без проблем.
Классификация изображений на устройстве
С современными моделями TinyML плата ESP32-CAM справляется с задачами машинного обучения прямо на устройстве: классификацией изображений, обнаружением людей и т. п. Подробнее — в разделе с руководствами ниже.
Съёмка RAW в максимальном разрешении
Сенсор OV2640 поддерживает формат RAW, а на плате есть целых 4 МБ внешней PSRAM. Поэтому несжатые снимки 1600 × 1200 вполне можно получить — если правильно настроить камеру.
Питание 5 В или 3,3 В
У ESP32-CAM два вывода питания, по умолчанию плата питается от 3,3 В. Но при 3,3 В камера OV2640 может работать нестабильно: возникают ошибки или цветные полосы на изображении. Рекомендуется питание 5 В.
SPI-камеры серии Arducam Mega
Решение для подключения одной или нескольких камер к любому микроконтроллеру с минимальными усилиями.
Рассчитано на IoT-устройства с батарейным питанием, встраиваемое машинное зрение и приложения ИИ.
Серия Arducam Mega
- Новое поколение экономичных SPI-камер Arducam
- Упрощают аппаратную часть систем компьютерного зрения
- До 4 камер одновременно через плату-адаптер
- SDK и API с полностью открытым исходным кодом
- Энергосбережение: потребляемая мощность — менее 200 мВт
- Быстрый отклик: время выхода из сна — до 94 мс
- Универсальность: работают с любым микроконтроллером

Порядок подключения и настройки описан в руководстве Быстрый старт — SPI-камеры серии Arducam Mega.
Варианты штатной камеры OV2640: «рыбий глаз», ночное видение, удлинённый шлейф и другие

ESP32-CAM — выгодная покупка с большим потенциалом для IoT-проектов, но плата не идеальна, особенно в части камеры: у штатной OV2640 на 2 Мп немало ограничений.
Узкий угол обзора. Объектив штатного модуля даёт обзор всего 65° — для наблюдения за домом, рабочим столом и т. п. этого мало.
Короткий шлейф. Шлейф штатной камеры слишком короткий: повернуть камеру, не поворачивая плату, не получится.
Нет ночного видения. Чтобы использовать камеру с ИК-подсветкой при слабом освещении или ночью, придётся вручную отклеить или выкрутить объектив и снять ИК-фильтр снизу. При этом легко повредить объектив или занести пыль на сенсор.
Для ESP32-CAM Arducam предлагает три надёжных решения этих проблем.
Модули OV2640 с разными объективами
Широкоугольные камеры Arducam OV2640 дополнят проекты, где ESP32-CAM нужен гораздо более широкий угол обзора.
| Версия OV2640 | Угол обзора |
|---|---|
| Штатная камера | 65° |
| Камера Arducam OV2640 | 100°, 120°, 140°, 170° |
Шлейфы разной длины
Для удобства разработки Arducam выпускает камеры OV2640 со шлейфами разной длины.
| Версия OV2640 | Длина шлейфа |
|---|---|
| Штатная камера | 21 мм |
| Камера Arducam OV2640 | 40, 60, 100, 189 мм |
Модули OV2640 NoIR
Чтобы не снимать фильтр вручную, можно взять камеры OV2640 NoIR (без ИК-фильтра) — с ними ESP32-CAM становится более гибкой платформой для любительских проектов.
| Версия OV2640 | Чувствительность к ИК |
|---|---|
| Штатная камера | Нет, только видимый свет |
| Камера Arducam OV2640 | Да, видимый свет и ИК |
Нужен модуль OV2640 с особыми параметрами — напишите нам на quote@arducam-russia.ru.
Несколько камер на одной плате ESP32-CAM

За два года до этой публикации Arducam разработала плату на том же модуле ESP32-S и подключила к ней четыре камеры OV2640 через адаптер для нескольких камер. Такая же схема с четырьмя камерами работает и с ESP32-CAM.
Подробнее — в статье Arducam IoTai: плата IoT с поддержкой камеры на базе ESP32 в форм-факторе Arduino UNO.

ESP32-CAM: список совместимых камер

Официально поддерживаются две камеры, а в репозитории драйверов камер Espressif есть поддержка 9 сенсоров, совместимых с ESP32-CAM. С решениями Arducam к ESP32-CAM или любой отладочной плате на ESP32 можно подключить десятки модулей камер.
Полный список камер, которые работают с ESP32-CAM:
| Сенсор | Разрешение | Оптический формат |
|---|---|---|
| OV2640 | 2 Мп, 1600 × 1200 | 1/4″ |
| OV3640 | 3 Мп, 2048 × 1536 | 1/4″ |
| OV3660 | 3 Мп, 2048 × 1536 | 1/5″ |
| OV5640 | 5 Мп, 2592 × 1944 | 1/4″ |
| OV7670 | 0,3 Мп, 640 × 480 | 1/6″ |
| OV7725 | 0,3 Мп, 640 × 480 | 1/4″ |
| NT99141 | 1 Мп, 1280 × 720 | 1/4″ |
| GC032A | 0,3 Мп, 640 × 480 | 1/10″ |
| GC0308 | 0,3 Мп, 640 × 480 | 1/6.5″ |
| GC2145 | 2 Мп, 1600 × 1200 | 1/5″ |
Нужна замена OV2640 — напишите нам на quote@arducam-russia.ru, поможем подобрать камеру.
Машинное зрение и машинное обучение на ESP32-CAM: ресурсы и руководства

Ресурсы по TinyML для ESP32-CAM
- TensorFlow Lite Micro
- Keras
- PyTorch
- Caffe
- uTensor
- Tiny YOLO v3
- Fashion-MNIST
- cAInvas
- deepSea
- Edge Impulse
- Предобученные модели TensorFlow.js
- Примеры TensorFlow Lite
- Предобученные модели PyTorch
- Предобученные модели Keras
- Предобученные модели Caffe
Руководства по машинному обучению и машинному зрению на ESP32-CAM
- Распознавание изображений на ESP32 и Arduino
- Как запустить инференс на ESP32-CAM с помощью Edge Impulse
- TensorFlow Lite с PlatformIO на ESP32
- Обнаружение объектов с TensorFlow.js
- Как настроить окружение TensorFlow Lite для ESP32
- TinyML: машинное обучение на ESP32 с MicroPython
Проекты на ESP32-CAM

Обнаружение людей на ESP32 с TinyML

Классификация изображений на ESP32-CAM с Edge Impulse

Таймлапс на ESP32-CAM

Micro-RTSP на ESP32-CAM

Фотоловушка с низким энергопотреблением на ESP32-CAM

Считыватель QR-кодов на ESP32-CAM

Камера видеонаблюдения на ESP32-CAM

Обнаружение лиц и работа с несколькими камерами на ESP32-CAM


