Custom GCODE Greyscale – Spider-Man Homecoming Print

So even though it’s been working for me decently well, I’m still not entirely happy with the Newsprint methodology of printing greyscale images on my laser engraver.  So I wanted to really put the settings through the paces.  I couldn’t find anything to do what I wanted so what does a little programmer-wannabe like me do?…  Go and create it themselves of course.  I thought it might be fun to try it in Python and it turned out to be easier than I was afraid of.

My thinking was that I wanted to be able to vary both the speed and the power level of the laser to be able to figure out the best settings.  So I thought to define some heights and widths and vary the power level from left to right and the speed top to bottom.  It makes for some really interesting sounds going from 3000 mm/min descending down predefined speeds down to 100 mm/min.  This is how the first one came out (I believe it’s cherry plywood) and I have to say that I am pretty impressed.

Custom GCode Cherry

My GCODE didn’t make my laser engraver freak out and I got some pretty good differing grey levels.  Here’s another one of the same settings with lighter wood.

Custom GCode Greyscale LightWood

I can’t believe how different the settings have to be from lighter wood to darker wood.  It’s SO different.

After the first cherry plywood greyscale one, I narrowed the window so that I can be able to get a better determination for really dialing in the settings. On the ones above the speed went from 3000, 2600, 2200, 800, 1400, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100.  (all in mm/min).  So looking at my (terrible) handwriting I based the dialed in version on the speeds surrounding 1400 to 1800 so I made another version of the python script to have the following speeds: 1900, 1850, 1800, 1750, 1700, 1650, 1600, 1550, 1500, 1450, 1400, 1350, 1300, 1250, 1200 and here’s how it turned out:

Custom GCode Greyscale Refined

I find it oddly beautiful how graceful the transition is between all of the colors.  I used a resolution of .2mm and it still has a tiny bit of the newsprint feel to it, but not nearly as drastic as how I had been trying it.  I spent some time dialing in the focus on my laser and I think it has helped a lot.

In my excitement I thought I’d jump straight into something pretty tough.  I’m super excited for the new Spider-Man movie coming out (I mean, seriously Iron-Man and Spider-Man in the same movie OMG it’s going to be awesome!!!!), so I thought I’d be really ambitious and try to print the poster in greyscale.  Here’s the original: (as always thanks/sorry Marvel for copying the image)

Original Image Spider-Man Homecoming

Using the second iteration of the custom greyscale python GCODE script I made I went just a tad darker and I went with 1100 mm/min to print this one:


I can’t say enough about it.  I think it’s awesome.  I tried a couple more versions a little wider and taller on some pieces of hobby plywood.  (I have no idea what kind of wood it actually is…)

SpideyHC - NotBalsaLight

This version was done at 400 mm/min and I think it’s pretty good, but I wanted Iron-Man to be a bit darker so I flipped the board over and did it again at 300 mm/min and here it is:

SpideyHC - NotBalsaDark

I love it.  I think it’s freakin’ awesome.  This one will go up on the wall at work.  For some scale this piece of wood is about 5.9″ wide (odd dimension I know, but that’s how it was when I bought them).  Like I said with the laser’s focus dialed in, the detail is pretty amazing.  You can see the “in 3D” sign at the bottom you can even see the Avengers “A” on Stark tower in the background.  It’s pretty amazing.

I want to try it huge and I also want to see how it would turn out if I used a resolution smaller than .2mm besides taking a crazy long time.

I did notice that you can see the smudge next to the especially dark sections towards the bottom on the outside edges.  This tell me that my exhaust fans on my laser shielding box aren’t powerful enough.  I’m not sure how I’m going to address that yet.  I have some pretty powerful ac box fans, but they’re not the same size as the computer fans I’m using now and these would be crazy overkill.  I also had the idea to add a fan onto the gantry above the laser itself kind of like a part fan on a PLA print on a 3d printer.  We shall see.

I’m in the process of trying to learn PHP so I can try and set the code up on a webpage so anybody can create some similar code.  If in the interim anybody wants my python script feel free to contact me and request it and I’ll happily send it over.  Wish me some luck on the PHP; I’ve never tried it.  Hopefully it isn’t too crazy of an endeavor for trying it out for the first time.

Leave a Reply