It's HDPE Halftone Saturday

Milling twotone HDPE is fun, so I wanted to do more. I had made notes earlier when seeing @m_price’s entry for community challenge #5 and @duexx’s entry for community challenge #4, that halftone mapping was interesting, so I had a go at it.

I started from one 8"x8" black&white HDPE sheet:

And then downloaded Halftoner software from Jason Dorie.

I figured I would import this random logo :slight_smile:


and play with the parameters until I found settings I liked:

One can specify the minimal and maximal diameters, and I decided I would use this 1.5mm (~1/16") single flute endmill:

So I set the minimal hole diameter to 1.5mm, and maximum diameter to 4mm. The density and size of holes is controlled by a very clever set of “brightness/contrast” sliders,

The tool can generate GRBL-compatible G-code, but I went with the DXF vector export option.
This is really a great piece of software, it does one thing and it does it right, I’ll be using it again for sure!

I imported the DXF in CC (it…struggled a bit to digest those 1827 circles):

And then created a pocketing toolpath. I set my feeds and speed as follows:

  • for a 1/16th endmill in soft plastics, my goto rule is a [0.002’’–0.003’’] chipload starting point, so I picked 0.003", 20.000RPM, which required a feedrate of 0.003" x 1 flute x 20.000RPM = 60ipm
  • for plunge rate, from my experience one needs to plunge fast in soft plastics to avoid melting, so I went with 70% of the feedrate: 40ipm plunge rate
  • depth per pass: HDPE is easy, my cutter had a cutting length of 2.5mm or so, but anyway I just needed to cut through the layer of white HDPE, which happens to be 1mm thick. So I set depth per pass to 1.5mm, to be sure reach the black layer with some margin, and cut all pockets in a single pass to minimize total cutting time:

CC generated a toolpath that I thought was surprisingly efficient (in terms of the optimization of the rapids between pockets/holes):

The G-code as visualized in another tool has a sci-fi feel to it, look at this sea of circles!

Time to setup the stock, tape&glue as usual. Since I would not be cutting the perimeter of the sheet, I needed it to be aligned fairly well with the X/Y axes of the machine: if you’re like me and don’t have a corner square, a horizontal cut mark in the wasteboard from a previous job helps:

Eyeballing the X/Y zero was a bit risky, so I used my probe on the corner. Such a tiny endmill sticking out at the end of a giant 2.2kW spindle always looks a bit silly.

I installed the dust shoe which now has an embedded USB camera, and noted (again) that I definitely need a larger screen to fit the camera view and CNCjs side by side.

Here’s a very busy Z axis doing its thing:

And here’s a feed from DustShoeCamLive:

(you may notice that even though I plunged at 40ipm, I still had a few strings of plastic wrapping around the endmill during the first plunges, to next time, I’m plunging at 60ipm. They did not get in the way of the rest of the cut though)

26 minutes later, it was done, and I was happy to see that it required almost no clean-up :

Et voilà:

I’ll definitely be making more twotone HDPE stuff, it’s fun and easy.


You know, that USB camera feed and a monitor mounted on the side of the Shapeoko would do away with the need for a see-through dust shoe…

I don’t think that would be over-engineered :wink:

Well if people keep holding @Luke’s beers, who knows what could happen!


Does CNCjs have a webcam plugin like Octoprint that we could feed the webcam to for remote view / timelapses?

Actually it does, and I never tried it. Apparently it requires something to feed an mjpeg stream to it though, easy on a Pi but may be a bit less obvious on Windows with the electron App.

Ah, that’s probably the linux mjpg-streamer. library then, that can be “fun” to make Logitech webcams work with even on the Raspberry Pi.

I’ve been wondering about bolting a Pi to the side of the Shapeoko and just addressing it over HTTP like I do my 3D printer. CNCjs seems to be somewhat the subtractive manufacturing equivalent of Octoprint.

I’ll bet you can’t get a remote webcam from the cutter head on a Haas VMC.

Some of us have installed CNCjs on a Pi and it works fine (my examples here). I temporarily went back to using my laptop, but raspi with a small touchscreen display would be neat.


There’s a free app, search online, called StippleGen 2 which will create halftone like circles whose sizes are based on gradations in an image. It’s not truly halftone in that the dots are not ordered rectilinearly but I like it because the dots can better follow outlines in the image like stippling.


It looks quite interesting, thanks for the tip, I’ll give it a try

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.