Version 0.2
This version will introduce material handling. I will build a small machine that can be placed inside a laser cutter. It can unroll paper, and either roll up the output or deposit it to the side. I will use a wireless microcontroller, and drive at least the stepper motor.

Help, I’m starting to see bananas everywhere.
1: Gathering parts
I got some salvaged parts from a friend that recently did a printer disassembly. and some matching bearings and a coupler. I don’t have pulleys etc. to match, but I have some toothed-belt left over from machine week and will design some custom parts.

Notes for drawing a box: * 19mm bearings (test concludes: 18.8mm laser cut holes). Have 8. * Rods are 254mm M6 (some with rubber rollers already). * Bearings are 6mm thick, so a max. internal depth of 242mm * This paper roll is diameter 80mm * Motor is Stepper, Nema17. All I have are 5mm bores. * Laser Pulley (Boxes.PY) * Belt is 610mm loop, GT-2

Used Pulley Calculator. Gonna go 1:1 to start, so 30teeth:30teeth gives 275.0mm centres. One gear is lasercut, because I don’t have the part.
(also 60:30 would be 259.82 mm)
Updating the test 3d model above with these measurements gives this sketch:

- Gonna give it a little more width(say, 405mm), but keep the height to the minimum.
- Plus our depth of 242mm.
With a little modification, I’m gonna do a quick box based on the ElectronicsBox, by Boxes.PY.
Files
Can a laser push a button
XXXButtonbox.version1.inserthere
What is this called?

The plan is to use the small vacuum table as a break, to keep the paper. Or maybe gotta look at a way to add friction to the paper roll…
Python Test 2
Again I used ChatGPT to try something in Python, using Trimesh.
I asked it to create a virtual environment, and to remove a number of dependencies I didn’t recognise.
Dependencies install with the install.sh script. Without, it’s 22KB vs. 143MB.
- project.zip,
- Sample output: slices.svg,
- chatgptlog_makepython_20260511.txt.

Conclusions:
- Install method is cumbersome. AI probably understood because I mentioned that it should have an install script and a run script, that it needed those, when it should have just had those methods.
- tkinter drag and drop works. There is not feedback.
- Preview is wireframe from above. Better would be something isometric, with superimposed cut planes.
- Output did not write new file over old file. Doesn’t seem to increment filenames, doesn’t overwrite by default and doesn’t indicate anything to the user!
- Output file wasn’t usable. It was technically an
SVGand it opened in Inkscape. There may have been a huge scaling miscalculation, but because it only saved the first file I didn’t look enough to check. Cuts didn’t have outer box, registrations, breaklines or cut numbers. - I hoped my python would have been better, but I cannot check the whole
app.pyfile unfortunately. I will probably go back toP5JSwhere I feel more at home. :(
Physical v2

I think first version of the ElectronicsBox.svg file didn’t actually have contact wheels that would actually pull the paper. I want to add wheels as above, but would two be adequate? I will redraw the sides with these adjustments. Possibly I have to put the rods closer together than the bearings would allow as is.
The rollers serve a number of purposes, alignment, tension and spreading out forces. Also keeping the paper away from the greasy metal rods. I think it could be a good candidate for casting rubber… The salvaged rollers were diameter 11.8mm on an M6 rod, but to fit with bearings, I’ve made this one 15mm diameter outside:
- m6_test.stl (6.3mm worked).
- roller_rubber_15d44.stl
I was imagining an eccentric wheel like below, whether this would be any good to help with focusing, or leveling. Maybe this on both sides?

Because I’m not sure how to distance the different rollers, I’m gonna make a quick test… it’ll kinda look like a clothes/laundry mangle, I guess.

Centrifugal vacuum table
I had a few old centrifugal fans taken from laptops. It has 3 wires, red(+), black(-), and yellow. It works with only red and black connected to the desktop power supply thankfully. Yellow probably takes a PWM signal.
I discovered this design, which is open on both sides, pulls air from both sides. I taped over one side. I tore off a bit of paper, it lifts, and releases as I changed the voltage. It’s not a very efficint way to do this, and leaks probably didn’t help, but good experiment.
It says “5V DC” on it, but I got to into my test and gave it a bit too much. So this turned into a good opportunity to open it up and have a look! (and I got a cool magnet and motor part out of it)

I measured up another fan in Rhino, and used a referenced photo to get rough shape, but only some dimensions are needed to do the mounts and rubber gaskets.
So then I made a pattern of holes, spent a little longer doing it in Grasshopper, for some reason:


Grasshopper Script Download:
This is the overall assembly with the gasket ring likely being of lasercut rubber.
