Webcam Arm for 3D Printer

Updated 24 Aug 2021 with resolution for OctoPrint “object doesn’t fit print volume” error.

I printed a multi-link arm to hold a Logitech webcam from the 3030 T-slot aluminum extrusion on my Original Prusa i3 MK3S+ 3D printer using the design shared on the Prusa Printers community website. The final result was fine, but finishing this insignificant project was quite frustrating.

I ordered the nuts and bolts from AliExpress, so it took weeks for them to arrive. I need to build up my inventory of metric hardware. If this had been assembled with drywall screws, I would have had enough materials to build a thousand of ‘em.

The first print I made was using 0.15 mm layer height, the default for my installation of PrusaSlicer. The resulting parts had poor definition at the through-holes, leading to cracks when tightening the joint. I reprinted the failed part at 0.10 mm and it made a world of difference. I’ll keep this in mind for any future parts that have small details. I considered increasing the infill percentage, but it seems that was not necessary.

I used some M4 T-slot nuts that are too big to be maneuvered into place without opening up the end of the aluminum extrusion. I didn’t realize this when I ordered them. There’s no way I’m disassembling my printer just to add a camera arm. I took them out to the shop and ground them down until I could slip them into the slot. Those nuts only need to hold a few ounces of weight, so I’m not worried about their performance. I might try and get some T-slot nuts that can be twisted into a closed slot for next time.

When making that replacement arm, I downloaded the STL file for just that part. I did the rotate-and-place-on-face thing to make the part printable without supports. For some reason, the resulting G-code file indicated that the part should start at 3 mm below the bed and I got warnings when configuring the job. It doesn’t seem like that’s true by visually inspecting the layers in the slicer. There’s probably a setting I don’t understand or a default I need to change. I tried flipping the part every which way and it perhaps that made a difference. Anyway, the part came out perfectly (with the decreased layer height this time) and looks beautiful.

Update
So, it turns out that the job didn’t include instructions to print below the bed surface. The problem is that the PrusaSlicer has extruder priming instructions that are outside the declared print area. Apparently, this can be resolved with a custom bounding box. The recommended resolution is to create a custom bounding box:

The camera arm is done and works great to hold the webcam in the right place so I can monitor jobs with OctoPrint. Now I need to make a ring light for it so I can leave the printer running in the dark office. And a better webcam. The old Logitech 720p webcam is not up to the task.