Hacker News new | ask | show | jobs
by mkoryak 1226 days ago
I tried to setup esp32-cam as a cheap security cam for my yard, but had a bad experience:

- There are no good tutorials on how to have the cam save to SD.

- streaming it is easy with esphome, but there is no easy way to save it since it doesn't use a normal streaming protocol

- the camera image quality sucks. I got some 5mp cameras to use instead of stock camera, but the chip can't stream that resolution at anything above 2-3fps

1 comments

The ESP32 is not really meant to be used with a camera. It has no hardware acceleration for the task, only ~500 KB of RAM (it can use external SPI PSRAM but not without massive performance penalties) and its radio is inadequate for high-bandwidth streaming. All those camera boards are basically a hack, they leverage the chip's parallel bus interface to receive data from a camera module with a built-in MJPEG encoder which does the heavy lifting; the data is then piped out as fast as the networking stack and radio can handle (i.e. not particularly fast).

A proper SoC with a dedicated camera interface and an external WiFi chip is going to do a far better job than pretty much any of these microcontrollers; even the low-end Allwinner V3 often used in cheap Chinese IP cameras can run circles around the ESP32, even with the overhead of a full Linux kernel. Microcontrollers with hardware camera acceleration (including a soon-to-be-released ESP32 variant) are slowly becoming more common, but the original ESP32 isn't one of them.

The allwinner socs aren’t nearly as plentiful as they were, prices on ali are significantly higher than a year or two ago.
Thanks for the reply, I did not know this, and given that esp-cam is a thing, I thought it was not going to suck.