Sunday, June 11, 2017

Printing in ABS on the Monoprice MP Select Mini

Today I did my first successful ABS prints on the MP Select Mini.

The successful print was with SoliDoodle ABS Filament printed at 240C and the Bed at 70C.  This was printed on the glass bed I wrote about previously with Elmers Washable Disappearing Purple Glue Stick applied to promote adhesion and I used a raft.  I blocked the fan duct with masking tape to prevent warping.  I also found I needed the fan set at 90% for the entire print to move some of the heat away from the heat block so the radiant heat from the block doesn't distort my overhangs.

Removing the print from the bed was easy.  I slid a paring knife under the still-warm raft and it popped right off.

This part is a replacement door slider for my Brother's Arrow Brand metal shed.  At 1.75mm layers, 4 Perimeters, 50% infill the part is much sturdier than the heavily weathered part it is replacing.  These parts are commercially available at $12 for a set of four.  I modeled the part in Fusion 360 and the STL is available on Thingiverse at

I had several issues getting the ABS to stick, and I won't consider the problem fully resolved until I can print without the raft.  I tried a number of combinations that did not work for me.

  • 3M Scotch Contractor Grade Masking Tape #2020CG 240C Ext, 50C Bed
  • Masking Tape, 240C/60C
  • Masking Tape, 240C/70C*
  • Masking Tape and Elmer's Washable disappearing Purple Glue Stick (Amazon Link) 240C/50C
  • Masking Tape and Glue Stick 240C/60C
  • Masking Tape and Glue Stick 240C/70C*
  • Masking Tape and Glue Stick 240C/80C**
  • Bare Glass 240/70C*

* The Control panel only lets you set the temperature to 60C, but you can set it higher than this via G-Code.

** The printer took forever to reach the 80C bed temperature.  I helped it along by putting a piece of cloth (the square pad you use to fetch hot things from the oven) on the bed while it was preheating, then pulling it off as it started to print.  If future testing shows that higher temperatures help with this I'll have to insulate the bed.

Wednesday, June 7, 2017

Glass Bed upgrade for The Monoprice Select IIIP Mini 3d printer

Today I installed a glass bed on my Monoprice Select Mini 3d printer.  I did it a bit differently from most of the conversions I've seen online.

I purchased 3/32" inch (2.38mm) glass from Home Depot, and cut it to size with a carbide glass cutter. Next I used a knife sharpening stone and some vegetable oil to grind down the cut and factory edges so they'd be safe to handle.  I rounded off the corners a bit too.  With that done, I peeled up the bed tape from my aluminum bed, scraped off the high points of the bed's dings and scratches with a razor, and set the bed in place.  I held the glass in place with 4 Wal-Mart 1/2 inch Mini Binder clips.

This is, so far, fairly standard stuff.  If you were following most online tutorials the next step would be to install a clip around the X axis gantry to raise the Z axis home position by the height of the glass.  I did something different.  I raised the hot end instead.  The hot end is held in place by a 1.5mm grub screw.  I removed the fan, loosened the grub screw, took out the print head, removed the PTFE spacer block, reinstalled the print head, raised it well above its old height, and re-tightened the screw.  Then I carefully homed the printer, loosened the screw, lowered the printhead into the correct position, and retightened it.  Viola, Glass print bed and no spacer required.

There is a downside to this approach.  That PTFE tube spacer helps filament feed smoothly back into the print head if you retract it too far.  I'll be replacing this very soon as part of my NinjaFlex fully-constrained-filament-path upgrade.

It's worth noting that I didn't intentionally choose to do my glass bed conversion this way.  I printed a glass bed spacer from Thingiverse ( ) and disassembled the printer to install it.  Unfortunately I found that it didn't snap on to my x gantry properly, and was "sprung" into position such that it would never be accurate on my printer.  That's probably a printer calibration problem on my side, and not a problem with the model.  This way appears to be working, so I'm happy with it.

Bonus content:

Tiny gnomes stole one of my fan clips while I had this apart.  I foiled their evil plot though; I fabricated a serviceable replacement from a paper-clip. 

Saturday, June 3, 2017

Casting things from Silicone Caulk in 3d printed molds

Yesterday I tried an experiment.  I wanted to know if you could cast Silicone Caulk in 3d printed molds.

The answer?  Yes!  I used PLA for the mold, Petroleum Jelly as a mold release, and some Acrylic paint to color the part and provide the moisture required to set the silione.

Unfortunately I underfilled the mold so my part was unusable.   It is still a resounding success though.

On to the pics!

Wednesday, May 31, 2017

Start Printing Faster with the MonoPrice Select Mini 3D printer

I have a MonoPrice Select Mini 3d printer, and I love it.  This is an amazing sub $200 3d printer.

Today I figured out a cool performance tweak that saves almost two minutes off of my print jobs.

When you start printing, by default, the printer homes the print head, heats up the print bed, and then heats the extruder.  Each of these steps occurs sequentially.  This process takes 3:30 minutes on my printer.  When you are waiting for a part, this initial wait for a print job "feels" like it takes forever.

So I fixed it.  In my slicer (Slic3r*), I set the default Starting G-Code to this:  (Click to Zoom.)

These commands tell the printer to heating both the bed and the extruder simultaneously as the printer is homing, and it cuts almost two minutes off of my print times.

The key to this is the M140 and M104 commands, highlighted in Red.  These click the heaters on, but continues on to the next command without waiting.  Then the printer can run the homing routine before it hits the heat-up-and-wait M109 and M190 commands highlighted in green.

This is an incredibly easy slicer change, and it pays for itself in the time it saves you.

* This trick will work in other slicers too (i.e. Cura).

Edit: I got some feedback from the Reddit 3d printing community, and want to add some of their thoughts here.

AddictedToComedy pointed out that some extruders heat much more quickly than print beds, and keeping the extruder at an elevated temperature for a long time could cook ABS or Nylon filaments and jam the extruder.  This is an excellent point that I hadn't considered.  3dPrintedLife suggested an alternative approach would be to preheat the extruder to a lower temperature e.g. 150C, then bring it to printing temperatures after the bed is ready.  The g-code to accomplish that in Slic3r is

M140 S[first_layer_bed_temperature] ;Start the bed heating
M104 S150 T0 ;and preheat the extruder to 150C
; insert your code for homing, etc here
M190 S[first_layer_bed_temperature] ;Wait for the bed heat up
M109 S[first_layer_temperature] T0 ;Bring the extruder to full temp.

On my printer the bed heats much more rapidly than the extruder, so this isn't an issue for me.  If your bed takes a long time to heat, you might also consider insulating it.  I understand that helps a great deal.

Several users pointed out that running both heaters simultaneously creates a higher sustained load on the power supply compared to running the heaters one-at-a-time.  I guess this could be a concern if you have a sketchy not-quite-big-enough power supply.  I quietly think that a printer should be able to run the steppers, fans, extruders, and heaters simultaneously.  If it can't, it's defective.  That's said, I get that people make do with what they have.

... and here is how you set it up in CuraEngine

Friday, May 5, 2017

Fixed: Super-annoying HP Z-book click-lock mouse button pain.

My current PC is an HP Zbook mobile workstation.  It's a workhorse, and I like it a lot.  It's fast, lots of RAM, zippy CPU, decent cooling, and an okay GPU.  Great machine.

It has one painful flaw though.  If you hold down the left mouse button for the Trackpad or the TrackStyk for more than a second or two and it "locks" on into mouse-button-stuck down mode.  The only way to exit this mode is to right click.

This is infuriating.

Here's how to fix it.

Go to the mouse control panel. 
I do this by clicking start and typing "Control Panel", clicking the control panel option, typing "mouse" in the control panel search box in the upper right, and clicking "Change Mouse Settings" in the main control panel window.

Once you get into the mouse control panel navigate to the "TouchStyk" tab.
Your screen will probably look like this.

The problematic setting is that "Press to select drag."  A reasonably literate PC user would look at this and conclude "This setting is disabled because it's grayed out."  This reasonably literate PC user would be wrong, because this software has a craptastic user interface design.

To fix this irritating mouse behavior, Check the "Enable Press to Select" box, change the option to "Press to select only", Click Apply, Uncheck "Enable Press to Select", and click apply again.

Fixed.  Now your mouse buttons work as they should.

Hey Synaptic.. fix this.  It is a textbook example of how NOT TO do UX/UI.

Thursday, April 13, 2017

Today I learned: Allowing 32-bit applications to use a little bit more RAM on 64-bit systems with EditBin

Today I learned a tidbit of Windows minutae

When you run a 32-Bit Windows application Windows assigns it 4 GB of memory.  This isn't real memory, it's virtual memory.  Normally the application can only use half of this, the other half is reserved for the kernel.  The net result is that the application has 2GB of memory to play with.

This is a limitation of 32-bit applications.  It doesn't matter if you are running them on a 32-bit or a 64-bit operating system.

There is an old trick for running Exchange or SQL server on a 32-bit operating system.  The trick is that you can set the /3GB and /PAE kernel flags to give the application 3GB instead of 2.  In this scenario the application is still assigned 4GB of virtual memory, but the operating system packs itself into 1GB instead of 2.

Neat trick.

I had always thought that the application had to understand large address spaces to be able to take advantage of this.  Today I learned that is not necessarily the case.

There is a tool called "The Microsoft COFF Binary File Editor", cleverly named EDITBIN.EXE, that has the capability to modify executables.  This tool is packaged with Visual Studio and documented here:

One of the things it can change is turning on the extensions that let the applications use this extra memory.  Here's how

EditBin.exe /LARGEADDRESSAWARE NameOfTheExecutable.exe 

Viola, that's it. Add this to your toolbox for fighting out-of-memory errors in old 32-bit applications.  Magic.

Fair warning, this change modifies the EXE file.  Make a backup of the .exe file first.  Also know that if the .exe is digitally signed this modification will invalidate the .exe's digital signature and you'll get warnings about the signature being invalid.  It's a bad practice to blindly ignore bad signatures, but in this case it is expected.

It's worth noting that you don't have to use the /3GB or /PAE switches on a 64-bit OS, the OS understands big addresses.  All you should have to do is flip the large address aware bit in the executable and you are off to the races.

Best of luck.  This won't work for every app, but it worked for me.

Friday, April 7, 2017

Fixed: Disable "Open in Edge" button in IE11 on Windows 10 Creators

In the new Windows 10 Creators update there is a change to the “New Tab” button in IE.  It now offers you the ability to open a new tab in IE, or a new tab in Edge.

If you want to hide the New tab in Edge button, that capability exists.  The setting is in group policy under User Configuration >> Administrative Templates >> Windows Components >> Internet Explorer >> Hide the button that opens Microsoft Edge.

Set this to enabled and the Edge button disappears.