MK4 Nozzle Camera (ESP32 Cam)

“NozzleCam” uses a (cheap) ESP32 module mounted on the x-axis motor to give a view of the nozzle at all print heights.
13
45
2
328
updated January 22, 2025

Description

PDF

"NozzleCam" is for use with PrusaConnect (or just a webpage) to allow you to watch and check for printing problems remotely.

The camera arm has been designed to give a view of the nozzle and the current layer, from the first layer to the last. You will just need:

  • Prusa MK4(S) and PrusaConnect
  • A ‘hex socket’ M3 screw
    (see photo, length: 23m ie 3mm hex cap and 20mm of thread)
  • An ESP32-CAM module with the standard OV2640 8mm lens and AND Development Board 
  • A micro-USB cable
  • A PC to do the programming

I have a few notes on everything below:

Design

The key design points are:

  • The height of the camera has been carefully designed to see the Nozzle at all layer heights, and;
  • The camera also sees across the bed and you can see the top layer being printed , including the first layer.
  • There is room for most USB cables to be attached. The microUSB end of most cables is nearly as big as the ESP32. The USB cables I own need about 26mm of space from the camera, this has been designed into the camera arm
  • The mounting hole is slotted like the Prusa “X-end-motor" part to allow the X-axis to be adjusted. (Loosen the screw for the arm before attempting to adjust the X belt tension)
  • There are ventilation holes for the ESP32 to avoid it over heating
  • PrusaConnect is free (and supported and documented by Prusa)
  • The software is downloadable and the process documented by Prusa
  • Its only two push fit parts (no gluing or soldering required)

Printing the NozzleCam

The Nozzle Cam is in two parts:

  • Print the arm vertically as shown in the photos
    I've used both PETG and PLA
    Layer height: 0.2mm
    Organic supports ONLY for the bridge at the base of the camera (see photo)
    Use the SMART FILL option in Prusaslicer Paint-on-supports to stop slicer supporting the circular vents. Supports are not needed for the vents (but I guess you can print it with supports if you want!)
    A brim should not be required
  • The lid prints flat with no supports.
    I've only ever used a 0.1m layer height (as its all a bit small and the push-fit tolerances are small)

Note: Program the ESP32 before mounting it in the arm.

Tip: The lid for the arm is best put on by sliding the side arms in first, the locating the two ‘pins’ at the back and then gentle pushing the arms on the front down past the edge and pushing the whole lid onto the arm. It should flat and not move. (If there are any little tags or similar artifacts from the printing clean the off first)

 

ESP32-CAM

The ESP32-CAM can be purchased from ebay, hobby shops, amazon or direct from China. You need no programming knowledge. You need the full package of:

  • ESP32-CAM Development board, with
  • OV2640 lens/camera (the small 8mm camera)
  • USB TTL Serial adapter module (USB daughter/adapter board)

(See photo and look at these links:
https://www.ebay.co.uk/itm/195951609156 , or 
https://www.amazon.co.uk/diymore-ESP32-CAM-MB-Bluetooth-Development-Dual-core/dp/B08X3GRK22
(I have no affiliation with either link above they are just examples.
I did buy twice from the ebay link though and was happy with the service.
I also purchased units from China via ebay that looked identical but did not work)

Note: The ESP32-S-CAM is a different board and I've not tested it with the arm
 

Programming the ESP32-CAM

The ESP32-CAM module is easy to program, the instructions are here:
https://help.prusa3d.com/guide/esp-camera-for-prusa-connect_390199 (see notes below) You will download the boards firmware from here:
https://github.com/prusa3d/Prusa-Firmware-ESP32-Cam
This git is really useful it has lots of helpfully knowledge
One of the key pages is:
https://github.com/prusa3d/Prusa-Firmware-ESP32-Cam/blob/master/doc/AI_Thinker-ESP32-cam/README.md

When you are reading the Prusa notes (above), Note:

Get the camera working in PrusaConnect first before loading it into the arm.


I find accessing the camera(s) via their local webaddress useful. Once you have programmed and configured this this would be http://<cameraname>.local
(See step 15 in the Prusa instructions)
If access the camera directly refresh the webpage when you poweron/restart the camera. (If you are just using PrusaConnect it will get the latest image automatically)
You will need to set the camera to 90 degrees in its control page.

Focusing 

Once you have programmed the ESP32 and mounted the arm and have the camera in connect you will probably want to adjust the focus. For me this was gently turning the lens anti-clockwise as you look into it. It helps to use the camera's web page when doing this as you can refresh the picture as often as you want.

To focus the camera get this tool:
https://www.printables.com/model/877739-esp32-cam-ov2640-focus-adjustment-wrench
And see the notes at the bottom of this page: https://github.com/prusa3d/Prusa-Firmware-ESP32-Cam?tab=readme-ov-file#supported_boards

 

Finally

Once you are happy you may want to use a cable tie to lock the USB cable in place to act as strain relief is something snags.
It also helps to have good lighting as the fan on the MK4 really does shade the nozzle.

 

And Please!

If you do download and print, please do leave a make/ review good or bad; it takes time to post stuff on printables and its nice to know people have made use of that effort.
And if you do leave a bad review as something is wrong or your don't like it I get to learn from you and possibly fix it for other people. So don't hold back.

Tags



Model origin

The author marked this model as their own original creation.

License


Highlighted models from creator

View more