|
Does anyone have any working configuration for Freenove ESP32 cameras? Or has anyone managed to get the camera working on ESP32-P4? They’d be really useful for me to start thinking about a video intercom |
Replies: 18 comments 8 replies
|
Yessss, it works! I just tried it on my P4 Touch :D You know I’m going straight into testing now to build a P4 video phone, right? |
|
Hey! Your component works great on our Waveshare P4. Seeing the camera finally come alive was fantastic 😄 We’d love to experiment with extending it toward optional hardware H.264 output for a real SIP video phone, while keeping your work and attribution clearly recognizable. Would you be willing to publish the component in one of your GitHub repositories, ideally with a license and an initial version tag? We could then fork it and send any improvements back to you through proper pull requests. Thanks again for sharing it. It opened up a very interesting path for the project! |
1000116958_20260726190406.mp4 |
|
Yes, let's do that. It's up: https://github.com/Psix-anp/esphome-esp-video-camera — v0.1.0 is tagged and released. License is the ESPHome split, GPLv3 for the C++ and MIT for the Python side, since the whole thing is derived from ESPHome and from your PR. NOTICE spells out where everything came from: ESPHome, @youkorr as the original author of the component and of esphome/esphome#16944, and my changes on top. @youkorr stays as the code owner, and every place I touched in the C++ carries a I kept v0.1.0 to only what I could actually test on my own board (Waveshare P4 PoE + OV5647, JPEG at 1280x960): the capture-side S_FMT fix, moving capture off Your handoff is running on my panel right now. Two things stood out immediately: Please send the rest as PRs — I'd rather your name stayed on your own work. Split them however is natural for you; from the outside it looks like esp_video 2.3 plus the stub, the One thing I need to get right: is the buffer in And the SIP/RTP H.264 going straight to the P4 display — I didn't expect that to be working this soon. Nice one. |
|
Great work, and thanks for the H.264; I've been working on the High Profile for quite a while—it's not perfect, but it works. |
|
Your project is nice. |
|
Rtsp 80690544900__2C4E2B28-0473-41F2-BCF1-CCC0EE042F47.mov |
80686434456__55F804E0-C105-402D-ACB2-F448E156BB7A.mov |
|
#18 (reply in thread) |
|
Hi @Psix-anp, the six camera changes you requested are now ready for review:
Each PR is isolated against the current |
|
Hi n-IA-hane, I’ve reviewed part of your work—it’s very good. You should try to avoid PR duplicates, though—not to offend you—and your tests were validated on a single Waveshare P4 with an OV5647 sensor (presumably a P4 revision 1.3). You’re likely aware of the complexities regarding the PPA on certain revisions. |
|
@Psix-anp and @youkorr, before I change any of the open branches, which review structure would you prefer?
I lean toward the sequential approach, but I will follow your preference. Until you answer, I will not rewrite or close any branch. |
|
Sequential, one PR at a time — that is the format I prefer. A single consolidated PR of ~900 lines would not get a real review from anyone, and @youkorr clearly wants to look at the PPA path carefully. Status on my side: #1, #2 and #6 are merged. #3, #4 and #5 now conflict against the updated One correction that matters for the validation caveat: the camera running here is an OV5647, not SC202CS. The firmware pins it explicitly: So the PPA transform has been exercised on two different sensors, not one. On this side it is not a lab test either — the code in #3/#4 is what my door panel has been running in production at the gate: 1280x960 binned capture, PPA downscale and 720x720 JPEG served to Home Assistant and to the panel's own web UI, all day, every day. What I cannot confirm is the other half of @youkorr's point: everything here is a single P4 revision. If PPA behaves differently on another revision, that will have to come from someone with that hardware. (Review and merge handled with AI assistance on my side.) |
|
Thanks @Psix-anp and @youkorr. Sequential, one PR at a time, is clear. I will rebase only the next PR on the current Also, apologies for the noisy first set of PRs. I am relying heavily on AI assistance for the GitHub workflow because I do not yet have much experience managing a chain of related PRs. If I misunderstand a convention or organize something poorly again, please tell me directly. No offense will be taken, and candid feedback is very welcome. On the technical side, the integration is working unexpectedly well. We now have a P4 JPEG firmware profile that combines the full ESPHome assistant functionality, including LVGL, micro wake word, voice assistant, AEC and AFE, music and Sendspin, with bidirectional SIP audio and video. Some services are paused during video calls where necessary to protect realtime resources, but they all live in the same full profile and resume afterward. That result is honestly exciting. Nine months ago this project had one way audio running through ESPHome. Now the same device can operate as a complete voice assistant and a bidirectional video phone. It is a major milestone, and your camera work is a central part of what made it possible. Thank you both. |
|
I saw your work on bidirectional audio—bravo, it works well and I recommend it, even though I had done similar, simplified work involving analog, digital, and the ES8388 DAC. |
|
Hi @Psix-anp and @youkorr, have you had time to evaluate It is now the only remaining PR in the camera series. It is rebased on the |




esp_video_camera.zip
AI fork component
And this my stand + HA interface