Octoprint with ESP32 with camera

Hi,
has anyone tried to use the $7.49 ESP32-CAM WiFi + Bluetooth Camera Development Board with Octoprint instead of the Raspberry Pi?

The ESP32 has far less power (and memory) than even the Raspberry Pi Zero. It doesn't run a full (linux) OS, nor does it handle mainstream python plus libraries.

It's actually an interesting replacement for the print controller board, e.g., replacing the RAMPS board, it's actually in the 2.x version of Marlin. Remains to be seen if it's the right way to go with anything above the most basic 3D printers, though, since it lacks the offboard stepper controller ability of something like a Beaglebone.

1 Like

It could be the basis for a quadcopter, methinks. I wouldn't trust it to a print job, though. This could be the core of one of those does-my-print-job-look-like-the-Flying-Spaghetti-Monster attempts at image recognition, noting that it could fire off a POST to your OctoPrint instance.

I had a fire started 'cause of a bug in old brother (esp8266) so I tend not to trust those chips any more for anything important

@arhi, If you can share more details about that on an off topic post; I would love to know more.

2 Likes

there's not much to share, and is really unrelated to the thread, you can probbly find my original post somewhere on internet archives, esp8266+fire should get you there :D.. 8266 could get stuck (dunno if true for current release of the firmware) in the "blob" that's handling wifi and never return to your code. it's not a big deal normally as it happens rarely and only after a very long run, but I was not aware of that and I used it to make a very simple heated bed controller, unfortunately, controlling a very powerful bed (2kW) .. it worked for few months without a problem and then it got stuck, bed overheated, some paper caught fire... luckily fire alarm kicked on, woke me up, I put fire down, damage was minimal.... I then run some tests.. the bug is somewhere in their code and you need to run your esp for 15 days sometimes before you hit it... but you will hit it for sure one way or another.... otoh when you use it as serial to wifi i could not reproduce the issue.... so I'd say it's in blob only (can be reproduced with a single blink led example :frowning: ) .. now mind me this was some years ago, maybe they pushed patched version, that fire was loud on few forums and afaik there are a lot of releases after then, just, when you get bitten by a snake you fear lizards :frowning:

back to original thread, this could be a stand alone camera that you configure in octoprint like any other external IP camera so you don't load your octoprint host with task of streaming video... with some "feedback", e.g. you could add PTZ servos on the camera (not sure why would you do it for printer but..) or you can control the lighting so you turn on the lights on the camera, take a snapshot, turn lights off... so you could use it as external camera, but def. not as octoprint host .... also esp chips are super easy way to add wifi to your boards if you don't have it, again, not really octoprint related..

Hahaha.. Again off topic but I made a username just to reply to this comment. Im a long time Arduino user and just discovered the ESP chips about 3 weeks ago (I know, dont really have any friends with silicon cancer so I discover things late in the game) but now currently have about half my house programmed on these esp iot chips. Somewhere along the way I read that ESP uses some type of internal RTC method that counts seconds from 1970 and when you power the chip on (its like two months off at this point) this count starts to fill RAM. Said it takes about 10-15 days to fill 'er up then it freezes and needs restarted. I bet this is the same bug youre talking about. But yes its still an issue. I dont see why they dont drop the RTC and just pull the time from a $2 I2C chip?? or why it doesnt dump the count every so often.. I dunno.. glanced through it so im not well informed at all.. But thanks for the warning. Think Ill stick to things that have thermal overload protections.

1 Like

@Dnozz, I'm sorry what was that about the RTC? It fills the ram? I'd really, really like to know more. Do you have a link to an article perhaps?

Have used the ESP32 and the cam kit is value for money. Will build one and see how it goes

2 Likes

He must be taking about epoch time, which.. all systems have. But it wouldn't freeze and need reboot. Perhaps a link from @Dnozz rather then "I've heard" would be helpful.

Built one with case and code. The ES32 Cam can be a good Cam replacement. It starts its own streaming webserver and has pretty good images. Very light weight and can be clipped onto the bed, useful to take nozzle level shots. The example code does pretty good face recognition, so it should make print failures, sphagetti formation pretty easily.

Can it replace the Raspberry PI - No Way. It is a microcontroller with a WIFI and BT stack where the RASPI is a microprocessor.

1 Like

This post might have gone way off topic. Can we try again...

Is there a plugin that can fetch video from an ESP32, rather than just cameras connected to the Pi. I don't think anybody that understands a bit about microcontrollers thinks Octoprint could run on any arduino-like platform.

Having ESPs at different angles on the printer, and needing only a power connector would be really flexible, and as one response says, the options for detecting failed prints could be good.

Another thing is that you can get clip on lenses for the ESP32 webcam, which makes for interesting uses like zoom or wide angle.

1 Like

Well... Not quite OctoPrint itself, but this project implements part of the OctoPrint API so that clients can send prints to it:

See https://www.instructables.com/id/Getting-Started-With-ESP32-CAM-Streaming-Video-Usi/
This only does jpeg snapshots, but in combination with SnapStream, you should be able to get a moving image of sorts.

Thanks! Yep I’ve built visual AI tools with ESP/Webcam, that’s all good. My question is based on anyone who has built or is is working on bringing external video in to octoprint.

For future reference here is a fantastic walkthrough on YouTube:

I actually wrote a blog post about setting up one of these cams a long time ago. I might have to dig it up again to see if there’s an easy way to get it working with OP.

You basically just need the urls - see the YouTube - it's easy

I have been using mine (esp32Cam) for over a year with much success

here are the settings i'm using

http://192.168.0.51:81/stream
http://192.168.0.50/capture

be sure to add the camera to the DHCP settings on your router.

Setting up the esp32Cam itself? here is a good getting started guide https://randomnerdtutorials.com/esp32-cam-take-photo-display-web-server/

2 Likes

1 Like