You can see that gets to be very frustrating fast. I would say that at least 1 out of 3 attempts to flash would fail and I'd have to plug the UNO out of the USB and plug it back in and try again. The article I referenced mentions that if flashing fails, just plug it out and try again. ![]() So if you have a camera board and an UNO lying around, that it will work - kinda. I first tried the UNO as I did not have an FTDI programmer and couldn't wait. Using a proper FTDI programmer (recommended).Using an UNO as a make-shift flasher (works but flaky).With the ES32CAM board there are two ways of flashing your program. ![]() If you're like me, you typically buy dev boards with integrated USB so that flashing programs to it is a breeze. What's "not so good" is that it doesn't have a USB connector, so programming is a bit of a challenge.Īll this to say make sure the board you purchase is well defined by Arduino IDE and has PSRAM - life will be a lot easier.Īs mentioned, there is no USB interface on the ES32CAM AI Thinker model. what's nice about this board is that it has the camera and built in SD Card slot (more on the SD card slot later). Here's an example of a typical ESP32CAM board on Amazon. The AI THINKER pin mapping is already defined in ESP32 Arduino camera libraries, in your inline c code you simply need to the #define:Īnd that's it, it's all mapped for you. You could get another board, however you wil most likely have to manually map the pins for your board in your code. Why? Coding is that much easier as just about all the examples out there have use the pin mappings for the AI THINKER model. In addition to get a board with PSRAM (and it's now rare that you'll find boards for sale anymore without it), you want to get a board based on the AI-THINKER model. To access the other 4MB requires "bank switching" - I know the dev community is working on making the full 8MB work with cameras. It's worth mentioning that you may see boards with 8MB PSRAM, however at the moment only 4MB is addressable by the camera. So you want to get get a board with PSRAM. This provides for a better streaming experience as while the one frame is being sent (say to the network) the camera is working on capturing the next frame. Boards with PSRAM (typically 4MB) can support the max resolution and also support 2 concurrent frame buffers. Also, boards without PSRAM can only support 1 frame buffer. The OV2640 camera module which is on the ESP32 Camera boards can support a max resolution of 1600 x 1200 pixels, however without PSRAM the camera frame buffer can only support a max resolution of 800圆00 pixels. This made my initial exploration very frustrating and pretty much ruled out using this board with B4R (however it turns out it is usable in Arduino IDE and B4R with so code modifications which I'll describe shortly). I also did not realize that the M5 Stack board (at the time) did not have working examples for Arduino IDE (you needed to use the expressif IDF programming environment). I bought one earlier this year (M5 Stack) and did not realize that some camera boards have additional RAM on it called PSRAM. The first (obvious) step is to get an ESP32 Camera board. The picture below is my ESP32 Camera board, my FTDI programmer on the left and my wiring. You can see the debug info as connections come in my B4R log window on the right of the screen. Then I show video streaming from the camera in browser and inVLC using the /live URL. The video shows my attempt to capture my daughter's toy duck picture (had a problem lining up the camera) using the /pic URL. You can see a small demo of the screen capture and video on. The B4R app allows for picture capture using a /pic URL and stream video using /live over HTTP. I started with knowing nothing about image capture or video streaming to a working prototype, after about a week, I'm happy to say it works. The board has an OV2640 2MP camera and an SD card slot (it's worth mentioning this model does not have a USB interface so you'll need an FTDI programmer). I'm using one similar to this one you can find on Amazon. I'm using an ESP32CAM camera board with 4GB of PSRAM (like extended memory for the camera). ![]() Well, I finally found the time to work on it myself and here's my initial attempt at implementing this with B4R. Last December I made a request for support for the ESP32 Camera support.
0 Comments
Leave a Reply. |