Cheap WiFi Webcam: ESP32 + OV2640 camera

  • I got as small board from Amazon that was a ESP32 with a OV2640 camera integrated, and has a USB-C port for power and flashing, cost about $20 on Prime 1-day. Apparently the same setup can be obtained for under $10 if you order from China (eBay/AliExpress/etc)


    The software setup was pretty easy, I've worked with Espressif chips before so it was extra easy for me.

    • install Arduino
    • install the Espressif toolchain either by using the Arduino board manager or by using a few git commands (instructions from Espressif's github)
    • install CP210X drivers
    • downloading the code from
    • put that code as a library in the Arduino libraries folder

    EDIT: uploaded example of sketch folder, showing where the sketch and libraries are located, change contents inside wifikeys.h with SSID and password

    • put the example code in a sketch folder
    • setup your own WiFi network credentials in the example sketch code
    • hit compile and hit upload (selected board target is M5Stack-Core-ESP32
    • check your router to find its IP address
    • go to http://x.x.x.x/ to view your video stream, http://x.x.x.x/jpg for a static image
    • setup DWC to load http://x.x.x.x/ or http://x.x.x.x/jpg , if you choose the live stream, you need to check the "stream" checkbox

    then it looks like...


    (uh... can somebody please fix the sizing of the dialog when the image is rotated? thanks)

    cheaper and less complicated than a Raspberry Pi, cheaper than really any WiFi camera out there that DWC would support. horrible camera though...

  • Moderator

    Not bad.

    I'd probably still go with a Pi zero W with camera module. 8MP camera is quite good and as easy as flashing MotionOS to the card. Cost is nearly double though depending how hard you hunt.

  • I have a couple of AruCam 8MPx cameras and their associated ArduCam boards I was using for my previous printers. I really love the ArduCam systems because they just work out of box. I had setup my router with dedicated IPs for each as well as for my many other Arduino YUNs so I've got WiFi for pretty much everything, including powering on the printers.

    Just some fun stuff I did, but definitely learned alot in the process and - yup cameras on the printers are a great thing. Gives me huge piece of mind.

    With your idea, though, I like it alot since you could mount it on the edge of the bed being so small.
    Are you going to make a bed mount for the camera or leave it on the chassis (I think that is where you have it now)?

  • I've also considered getting an esp cam. One of the top reasons being that it's basically just a controller and powering it on and off randomly should not be much of a worry the way it is with the more of a computer class RPi type boards.

  • @DennisHall

    My camera is only 2MP so it'll suck at really showing me how good a layer is. At most it will be used to detect spaghetti prints while I am away. With that in mind, it's more convenient for me to mount it on the top front corner of my printer looking downwards. If I wanted a good timelapse, I actually have a clip on GoPro mount that has a flexible arm.


    You'll be happy to know that the ESP cam connects insanely fast. The source code I linked only supports one WiFi access point, but it should be trivial to support multiple by doing a scan and checking against a list.

    But obviously if your Duet and ESP are not on the same network then you might not get the image.

    I actually recently got a portable travel router that can extend a network but under its own name, it also doubles as a network drive, and it has a switch on the side that's configured to turn ON/OFF my VPN, cost about $60 and runs off USB 5V power. It's nice to have when you are doing IoT stuff.

  • I spent the day adding a USB port panel to my printer, and mounted my camera using two pieces of plastic and a section of flexible coolant hose

    1_1555298339834_20190414_191459 (Large).jpg 0_1555298339833_20190414_191350 (Large).jpg 2_1555298339834_20190414_191513 (Large).jpg

  • Just ordered an ESP32 + camera.
    Has anyone got a printable case that could be mounted on V profile?

  • @frank26080115 said in Cheap WiFi Webcam: ESP32 + OV2640 camera:

    cost about $20 on Prime 1-day

    Frank, can you post an amazon link? I see there many similar cameras and would like to make sure its exactly the same as yours.

    Also, do you see still images or actual video?

  • @zapta said in Cheap WiFi Webcam: ESP32 + OV2640 camera:

    Frank, can you post an amazon link? I see there many similar cameras and would like to make sure its exactly the same as yours.

    Also, do you see still images or actual video?

    both still images and actual video. for video, for still image

  • Thanks Frank. I will give it a try. I also have a Wize V2 on order. Will see what's inside. Hopefully can put the relevant parts in a smaller case.

    One of the reviews of the ESP32/OV2640 says that the video is limited to 800x600 by the ESP32's speed. Is it so?

    (I don't expect to evaluate layer quality from the video, just to verify that things are still going well more or less)

  • appjaws 11 May 2019, 14:50

    I have installed a M5Cam as per your instructions but the video is upside down.

    I'm sure there is a way to rotate the video but I haven't been able to find an answer.

    I have my camera the same way up as yours Can you help please?

    kind regards

  • Hi...this works good but not always. I want to use mine as a timelapse camera and have been looking into extreme low light (starlight ideally)
    and was hoping several second exposures would be possible, I came to the conclusion I needed that FREX pin broken out.
    Came to the conclusion that this is probably not the best sensor for this funtionality.

  • I tried to use the example from but when I compile I get an error. Has someone the same problem?

  • esp32-cam is ~4$ in PRC with free delivery

    I'm looking for the cheapest wired solution (I need ~20 of them) and cheapest I could find is itead camera based on GOKE GK7102s chip. No full open source firmware but there are some hacks available... I think I'll be going with rpi3b+ and rpi camera .. waiting for quote for 20 of them to see if it's going to break my budget or not but after few months of research I think this is going to be the best option 😞

  • @arhi said in Cheap WiFi Webcam: ESP32 + OV2640 camera:

    cheapest wired solution

    does esp32 + enc26j80 (from memory) fit the bill? or even esp with SLIP ?

  • @bearer said in Cheap WiFi Webcam: ESP32 + OV2640 camera:

    @arhi said in Cheap WiFi Webcam: ESP32 + OV2640 camera:

    cheapest wired solution

    does esp32 + enc26j80 (from memory) fit the bill? or even esp with SLIP ?

    dunno what's SLIP ?

    I'm testing ESP32-CAM with ENC26J80 but having some issues getting it work for (for now)

    trying to find solution that's good & not too expensive... I had very high hopes for itead camera as most of their stuff is open source or if not open sourced by them open source by "some crazy dude on github" 😄 but .. no 😞 .. (still not gave up on them, testing the latest hack I found trying to rebuild the whole linux to put mine there ... maybe there is a way to have everything custom except blob for camera but that I can deal with, major problem I have is I once already got my lan intruded trough PRC camera that I could not update - that's why I wanna go wired only we'll see)

    difference between rpi1 and rpi3 in price are minor while huge in performance so with rpi3 I can then offload a whole bunch of stuff from zoneminder to rpi.. and I can use all those rpi's in network for bunch of other stuff I normally use rpi's so the camera's can also be a cluster nodes 😄 .. so money well spent ..

    we'll see if I manage to get esp32-cam to work with enc that's 7$ total for the whole device, that's cheaper than the power supply for the pi 😄

    what's that slip thing?

    p.s. I have also W5500 here that I will test if I give up on ENC

  • @arhi said in Cheap WiFi Webcam: ESP32 + OV2640 camera:

    dunno what's SLIP

    modem without the modem bit 😉 serial 1/3rd down the page

    I've had success with the enc28j60 for both esp and (antique) pi's but the speed is in the low hundreds kb/s range.

  • @bearer that's kinda slow, I'd like to have a video stream worth watching 😄

  • @arhi said in Cheap WiFi Webcam: ESP32 + OV2640 camera:

    @bearer that's kinda slow, I'd like to have a video stream worth watching 😄

    it is slow, but the resolution of the espcam isn't something to write home about either, so might work - both options.

  • @bearer enc work is under way so I'll try to get it to work, also w5500 (I think that one is used on duet) so we'll see how it will behave

  • @bearer said in Cheap WiFi Webcam: ESP32 + OV2640 camera:

    does esp32 + enc26j80 (from memory) fit the bill? or even esp with SLIP ?

    Looks like I need to write Ethernet library myself (modify existing one). They use "SPI" object and that's not available on esp32-cam, those pins are attached to the camera module. There should be HSPI available but for that I need to do a lot of search/replace + some initialization to use HSPI port on the esp .. we'll see .. should be simple but..

  • hmm, bummer, only tried it with the esp8266 eons ago.

    i think i've seen some nutjob implement ethernet with just a line driver and some magnetics

  • @bearer interesting project but dunno if any of my switches support 10baseT and since this is for 8266 again need to rewrite it to fit esp32 .. I'll see how quickly I can fork the Ethernet library to make it use that HSPI that is supposedly available on esp32-cam (actually, first I'll just see if I can output anything on esp32-can via that hspi before I start editing that library).. we'll see .. W5500 is el cheapo, could be a good fit here.. and having both wifi and eth in a camera with sd card could be useful, even without sdcard..

    I was hoping I will be able to find an open source camera out there for 20$ or under but 😞

  • I'd thunk it'd work with any 10/100/1000 switch, I'd be surprised if people are makings switches that can only do 100/1000.

    Anyways ,yeah, I was a little lolwhat? when i saw that video the first time, gotta love clever people with too much time on their hands :')

  • @bearer 10b2 is completely different framing, the protocol is totally different from 100b2 and 1000b2. I know my small switches don't do 10b2 (learned that the hard way, had to find some old hub with 100b2 uplink channel to connect some old silicon graphics and sun machines some time ago), dunno about my big managed switches if they do .. anyhow not making that, I don't think it's worth it... will see if I can get this esp32-cam to work somehow with w5500 and if not moving away from that... still have not tried that hacked firmware for the itead camera, found some additional data on that might be useful we'll see, or I'll brick one (thats why I purchased 2 😄 )

Log in to reply