ESP32-Cam Does Time Lapse

Just a few years ago, had someone asked you how much a digital camera with WiFi would cost, you probably wouldn’t have said $6. But that’s about how much [Bitluni] paid for an ESP32-CAM. He wanted to try making the little camera do time lapse, and it turns out that’s pretty easy to do.

Of course, the devil is in the details. The camera starts out needing configuration on the USB interface and that enables the set up of Arduino integration and WiFi configuration. Because it stores each frame of the image on an SD card, the board can’t take rapid-fire pictures. [Bitluni] reports a 3-second delay was about the shortest he could manage, but for most purposes, he was using at least ten seconds.

The program has a live preview window to help you set up the shot, but before your recordings start that should be turned off so as not to overload the little processor and the I/O buses. The result is a bunch of JPG images that you can easily convert to a video on a PC if you wish.

This might be a good way to fit a camera on a 3D printer, especially if the time lapse effect was desired. Otherwise, you might sync to a layer change. Now all [bitluni] needs is an orbital rig.

21 thoughts on “ESP32-Cam Does Time Lapse

  1. Sigh. I bought 4 of these for about 3$ a pc on amazon a few months back, and not a single one of them could be programmed reliably using multiple ftdi / serial interface methods. I would definitely not buy the chinese knockoffs like I did. These esp32 cam posts make me jealous now lol.

    1. LOL, “Chinese knockoffs”. It’s a Chinese company that makes the originals.

      But if you’re buying a $7 camera and WiFi w/ dual CPUs, etc for $3, you know they were cutting corners somewhere… They’re unbelievably cheap in the first place.

      2/2 of mine work just fine, but “data” is not simply the plural of “anecdote”.

      1. I bought one of these expecting and easy win, and after much configuration, it worked for seconds at a time! I spent some time investigating, and there are are several types of camera modules that plug in to to the ESP32. The specific one I had was quite troublesome (I don’t remember which it was). I suspect that was the source of the problem.

        If I were to buy another, I would carefully check the bundled camera part number against the library I expected to use instead of expecting every camera sold to be well supported ‘somewhere’. Hope that tidbit helps someone out there.

        1. I hadn’t “heard” from you recently, glad to know you’re still kicking!

          So, {butluni]’s web page mentions the problems with video speeds, so he “made lemonade” by making it a time-lapse camera. FTW!

          I have 3 of those ESP cameras (still in the ESD bags). His [bv]log is giving a lot of info on what to expect and do with them.

  2. Please note that the module needs more power than available through many USB ports! The units worked properly without connected cameras but not with it. After I provided it with solid 5V and a cap, all my units worked correctly. Nice project. Dumb ideal to share Flash Light LED and SD SPI bus. At least, they could provide a jumper to disable/remap it.

  3. I am having arduino compiling problems:
    on win 10
    on arduino 1.8.10
    using USB to FTDI (have not gotten to this step yet)
    followed bitluni’s lab instructions
    Used the github code and library (with adjustments)

    But when I click on verify it get multiple errors, see list below. what do you guys suggest? Sometimes I can be a arduino idiot.

    libraries\Lapse\app_httpd.cpp.o:(.bss.stream_httpd+0x0): multiple definition of `stream_httpd’

    sketch\timelapse.ino.cpp.o:(.bss.stream_httpd+0x0): first defined here

    libraries\Lapse\app_httpd.cpp.o: In function `startCameraServer()’:

    app_httpd.cpp:(.text._Z17startCameraServerv+0x0): multiple definition of `startCameraServer()’

    sketch\timelapse.ino.cpp.o:timelapse.ino.cpp:(.text._Z17startCameraServerv+0x0): first defined here

    collect2.exe: error: ld returned 1 exit status

    Multiple libraries were found for “file.h”
    Used: C:\Users\dougl\Documents\Arduino\libraries\Lapse
    Multiple libraries were found for “EEPROM.h”
    Used: C:\Users\dougl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\EEPROM
    Multiple libraries were found for “FS.h”
    Used: C:\Users\dougl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\FS
    Multiple libraries were found for “SD_MMC.h”
    Used: C:\Users\dougl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SD_MMC
    exit status 1
    Error compiling for board ESP32 Wrover Module.

  4. I was happy to find focus on mine can be adjusted (to macro!) after assuming it couldn’t because the lens looked glued on – just turn it anti-clockwise with a pair of pliers and crack the glue loose – glue was just used as locktite on mine.

Leave a Reply to RobCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.