A voronoi cat

I pushed Steel Fisher to extreme how it would handle a long printing hours that has heavy retraction. The total printing hours was about 33 that kept me awake for two straight nights.

3D Model: LASER CAT – Voronoi Style

Size: 103.09 x 112.91 x 167.1220161022_0761

The first attempt failed, which wasted 1h 38m 55s.
20161022_0108The second attempt failed again at 2h 30m mark.

The big troublesome question was “How to prevent the nozzle dislocation middle of printing?” And I had been fixated to default Lift Z height in slicer programs that set for Cartesian 3D Printers, which ranges from 0.025 mm to 0.4 mm.

Two days ago I thought ‘Hmm, what if the nozzle goes up and down so high that there is no chance to hit any plastic part? Then it would eliminate the nozzle dislocation, potential print failure.’

Two millimeter was little low, so I set three millimeter as Lift Z height in retraction. Slic3r 1.2.9 hang in the voronoi cat’s gcode generation with support. I used KISSlicer to generate a gcode file of the Voronoi cat with support.


PLA: eSun 1.75 mm (This one was shitty. I could’ve use another spool of filament)
Temperature: 200 C
Layer height: 0.2 mm
Printing speed: 15 mm/s (perimeter)
Retraction: 3.4 mm (length), 3.0 mm (Lift Z height), 15 mm/s (speed)

; destring_suck = 3.4
; destring_prime = 3.4
; destring_min_mm = 1
; destring_trigger_mm = 100
; destring_speed_mm_per_s = 15
; destring_suck_speed_mm_per_s = 15
; Z_lift_mm = 3
; min_layer_time_s = 10
; wipe_mm = 10

; *** Actual Slicing Settings As Used ***
; layer_thickness_mm = 0.2
; extrusion_width = 0.4
; num_ISOs = 3
; wall_thickness = 0.8
; infill_style = 5
; support_style = 2
; solid_interface = 0
; use_lower_interface = 1
; support_angle = 44.9
; destring_min_mm = 1
; stacked_infill_layers = 1
; Perimeter Speed = 10.00
; Loops Speed = 42.50
; Solid Speed = 37.50
; Sparse Speed = 52.50

I started to take photo with one minute interval.
25h 48m 40s
It finished the printing at 32h 58m 43s.

The weight of voronoi cat was 55.3 g.
The weight of support material was 64 g.

Steel Fisher has outperformed my expectation.

Posted in Reprap 3D Printer | Tagged , , , | Leave a comment

Original Prusa i3 MK2 – ongoing review


 PINDA probe, live Z calibration, Z-offset and temperature


So I got thinking on that and figured out that it’s not bed warping, nor the nozzle size change (both factors to consider, but definitely not ‘worth’ 0.3mm), but the temperature sensitivity pf the PINDA probe. The original initialization code heats up the bed first and then homes the axes and does the mesh init. Depending on how far the PINDA probe is from the bed, and what temperature the bed is set to, PINDA probe gets more or less hot.

So, I adjusted the init code as follows:

M115 U3.0.8 ; tell printer latest fw version
; M301 P22.1 I1.80 D68 ; set PID for nozzle - set proper values for your printer and uncomment the line, else just ignore it
M83 ; extruder relative mode
G28 W ; home all without mesh bed level
G0 Z80 Y-3 ; get head above bed to keep it cool, move the nozzle up front to make cleaning easier
M140 S[first_layer_bed_temperature] ; set bed temp
M104 S150 ; set extruder temp to 150C, cold enopugh to avoid ooze, but get some temp on it
M190 S[first_layer_bed_temperature] ; wait for bed temp
M104 S[first_layer_temperature] ; set extruder temp
M109 S[first_layer_temperature] ; wait for extruder temp

; G28 W ; home all without mesh bed level - rehome Y axis to accommodate for thermal expansion -> not necessary, mesh leveling does it too
G80 ; mesh bed leveling
G1 Y-3.0 F1000.0 ; go outside pritn area
G1 X60.0 E9.0 F1000.0 ; intro line
G1 X100.0 E12.5 F1000.0 ; intro line

So, in short: home axes, move Z to 80mm above the bed, heat up everything, only after the temperatures stabilize do a mesh leveling.
Result: instead of having to adjust offset of -0.272mm (good for PLA) to -0.550 (so ∆=280µm) for ABS now I have to adjust it only by about 50µm (to -0.300..320), which is by all means something thermal expansion can be responsible for.


The plastic spool holder does nasty thing if you don’t watch it carefully.
I got to guide the filament through a ziptie to prevent the filament getting off the spool holder. The spool actually fell into backside of the print bed during a print when the filament tangled.


I installed the anti-vibration feets. Well it introduces more shakes to the printer frame.20161016_0051

The Z height value for PLA was -0.800 mm.  When I tried to print ABS filament, the Z height was way off. I had to set new Z height using Live Z function on the LCD menu after few hours of multiple printing failures and troubleshooting.

I suspected 100 degrees Celsius might change flatness of the PCB bed and later on the Prusa Research’s technician confirmed it.   Mesh bed leveling can’t fix the deformation caused by 50 degrees Celsius.

I will keep two set of Z height, PLA and ABS-like filament.20161019_0076

I started applying one layer of glue stick over PEI when I print models in ABS filament.

Prusa Research does provide unfriendly service to Linux users. Why? I don’t know. To download Slic3r configuration files, a Linux user need to download Mac OSX’s Slic3r package, decompress it, then copy 30 KB of ini file.

I complained about it once but the drivers’ page hasn’t showed the link of Slic3r configuration file.

However I got to say this 3D Printer delivers decent quality of printing. I’ve printed ABS parts using the Prusa Research’s Slic3r configuration – layer height 0.25 mm. My printed parts looks better than the kit parts. ^^20161019_0107

A section of the part is lifting. How to prevent it?20161020_0116

ABS printed parts for RepRap Fisher 1 3D Printer



Posted in Reprap 3D Printer | Tagged , , , , | Leave a comment

Steel Fisher – retraction calibration

I was printing a big model that has heavy support. It had a lot of retraction and during the printing, the nozzle hit a piece, dislocated, then spewing filament in the air. Two hours and 46 minutes of work wasted.


I’m seriously thinking about exclusively running Prusa i3 MK2 or other Carteisan 3D Printer for printing big models that do not have floating Z axis problem.

Anyway there was strings, blobs all over the model. I decided to do retraction calibration.

After printing 22 calibration objects, I managed to find the best setting of retraction.  The average printing time of the test object was nine minutes.

Extruder drive: B’struder
Kysan Nema 17 5.18:1 geared stepper motor, 2.4 V, 1.0 A


M201 X4000 Y4000 Z4000 E3000 ; Accelerations (mm/s^2)
M203 X15000 Y15000 Z15000 E15000 ; Maximum speeds (mm/min)
M906 X800 Y800 Z800 E800 ; Set motor currents (mA)
M92 411.230

Retraction setting in Slic3r 1.2.9:
Length: 3.4 mm
Z Lift: 0.4 mm
Speed: 15 mm/s (10 mm/s and 20 mm/s give similar result.)
Retraction after layer change: on
Wipe on retraction: on

Calibration model: http://www.thingiverse.com/thing:909901

I followed Ultimaker’s retraction guide that suggests:
Temperature of PLA: 180 C
Printing speed: 20 mm/s
Travel speed: 200 mm/s

PLA filament temperature: 190 C
All speeds of print moves: 30 mm/s (set the speed factor of DWC at 70%, which makes 21 mm/s.)
Travel speed: 250 mm/s



The unexpected result was that 180C had more string than 190C one.20161019_0114

Posted in Reprap 3D Printer | Tagged , , , , , | Leave a comment

Anti-vibration foot

Original Prusa i3 MK2

The printing quality is outstanding. I really like it.



I gonna modify the model so that I’ll put onn rubber piece between the foot and Y-axis rod.

Posted in Reprap 3D Printer | Tagged , , | Leave a comment

Original Prusa i3 MK2 – Todo list?

Firmware upgrade

GNU/Linux Users, you can upload hex file using avrdude.

– Install arduino from your distro repos (Tested on Ubuntu 12.04)

– Download your new firmware for your board from: http://www.prusa3d.com/drivers/

– Extract

– Open a terminal and cd to extracted dir

– Upload by running (Change “3mm-RAMBo13a-PrusaNmk2.hex” to your board and extruder):

/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -patmega2560 -cstk500v2 -P/dev/ttyACM0 -b115200 -D -Uflash:w:3mm-RAMBo13a-PrusaNmk2.hex:i

Alejandro RomeroMay 8

Under Linux I flashed the firmware .hex file with avrdude:

avrdude -c stk500v2 -b 115200 -p Atmega2560 -v -P /dev/ttyACM0 -D -U 1_75mm_MK2-RAMBo13a-E3Dv6full-3.0.8.hex

Even better would be compiling the firmware myself, but so far the Arduino project didn’t want to be built..

Jonas JeltenSeptember 26

For me, I changed out my LM8UU bearings on my Y-axis for some SKF LBBR 8-2LS bearings. They are slightly stiffer and cover more surface area on the linear rods. The old ones gained too much slop from multiple misalignment issues.

There are all sorts of modifications and improvements that can be done to the MK2. Here are some of my highlights:

  1. MK2 Alignment sticks or a good pair of digital calipers that can go up to at least 180mm. You want the linear rods to be spaced 170mm on center apart as measured from both the front and rear of the machine and you want the Z-frame to be spaced 100mm from the rear of the machine to the Z-Frame. I have my Calibrate XYZ always saying that “all axis are perpendicular” because of this.
  2. Replacement Y-axis motor mount This one allows you to use NEMA dampers to make the printer quieter. There are multiple posts in the Improvements about making the MK2 quiet.
  3. Y-Motor Brace If you got the kit and not the prebuilt, chances are, it doesn’t come with this piece.
  4. MK2 Cable Chains This is a preferences thing, so if you don’t want chains, then skip this. I personally love my cable chains and it makes it so easy to add and remove wires with each chain link having snap clips on them. You only really need 1 full range chain link. I’ve been modifying the X-Carriage EL link quite a bit because I had difficulty getting a stable print. I finally have it working, but I’ve had to include built-in supports that can be cut away with a razor blade.
  5. Noctura 40mm Fan adapter There are multiple posts in here about moving to a Noctura, this thread is closest to having some sort of model. I’ve made my own design based on Patrik’s work. It can print in this orientation without supports. You will need to use M3x14 screws vs the M3x18 screws that mount the 30mm fan into the hotend body. This is a press fit design, but it is there so if you want to modify it so that it uses screws onto the hotend body, you can do that too. The pegs are spaced 24mm on center. I’m going through testing and still modifying the model. Follow the above thread for my progress.
  6. MK2 X-Carriage for Cartridge Thermisistors I recently upgraded my hotend with the Block and Sock upgrade from E3D and found the connection on the back of the thermisistor clunky. So I redesigned it so that it fits nicely tucked away inside the X-Carriage and included a clip vs using a zip-tie.
  7. You probably want to consider some sort of wall mounted spool holder or some other spool holder solution above the MK2 vs having your spools mounted on your Z-Frame. I’ve encountered a few spools that won’t fit above on the provided spool holders, namely ColorFabb 2.2kg spools. I took an approach similar to Thomas Sanladerer‘s approach.
  8. Check out my other posts. I have similar info organized like above.
Posted in Reprap 3D Printer | Tagged , , | Leave a comment

Original Prusa i3 MK2 – calibration and first printed object

XYZ Calibration compromised.
Front calibration points not reachable.

The solution of this error, the user manual says

Move the left / right Y threaded rods in the Z frame away from you

This is wrong.  I had to pull the Z frame towards me so that the print bed gets closer to the probe.


Adjustment of Z frame’s position along the Y-axis is not practical.  The easiest way I found is to flip the printer, top of the Z frame seats on the table.  Slowly loosen left or right side M17 nuts backward or forward direction and tighten back enough to hold Z frame. Then do the same on other side. I used a vernier caliper to measure the distance between Z frame and the threaded rod crossing the two threaded rods to keep parallelism. If you loosen the bolts too much, the Y-axis frame will drop.

I suggest taking extra care of Y-axis frame when you assembly that prevents skewed XY plane later on.  On page 44, 12.1 Nozzle/print surface gap is greater in the middle than at the corner describes how to check squareness of Y-axis frame.


Y-axis belt got loose during calibration.  To prevent another incident, I secured the belt with zip ties.


XYZ calibration

If X, Y, and Z axis are in right angle, XZY calibration will report perpendicular.


Self test can’t tell faulty connection of the Hotend thermistor, which implies the user manually decide the thermistor’s condition.


I ran into bad connection of the Hotend thermistor during the troubleshooting of Mesh bed leveling failure.  When I turned it on the printer, it shows MINTEMP ERROR. Then Hotend temperature was 19 degrees Celsius which was five to six degrees lower than room temperature.

Out of curiosity I ran Preheat. Hotend temperature was at 20 degrees Celsius when K-type thermometer of my multimeter indicated 110 degrees Celsius and kept rising.

I cut the 2-pin connector of the Hotend thermistor, installed new 2-pin connector. And the temperature reading of Hotend became fine.

Failure of Mesh bed leveling freezes the printer.

After successful XYZ calibration, whenever I tried to print a gcode file,  Mesh bed leveling failed and freezed the printer. I spent a whole day to solve this problem.  When it happened, previous calibration data wouldn’t be stored.

Calibration and bed leveling are complete different routine. I have experienced of Marlin, Repetier-Host,  RepRapFirmwar-dc42. Calibration is part of the final stage of building a 3D Printer not a routine that the user chooses as a feature like auto bed leveling. Actually well-built machine does not require auto bed leveling before each printing.

I think this is grave bug that Prusa Rearch will have to fix ASAP.

The error message is:

Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset.

On the user manual and Prusa Research’s support page the solution is:

Verify, whether the PINDA probe cable is plugged into the RAMBo board correctly. If it is the case, the PINDA probe is broken and it needs to be replaced.

I doubted it because XYZ calibration, Z calibration were successful many times. If it was bad connection of the probe cable, calibration would fail too. I thought it caused by firmware at some point. Later on out of frustration I remembered the suggestion of a user on Prusa Reasearch’s forum saying wrong probe’s height might trigger such error.

The fix was to lower the probe height 1.00 mm or 1.50 mm.


The first print


I ran V2calibration.gcode in the SD card three or four times to find the correct Z height, which was -0.800 mm.


Pug Buddy

The layer height was 0.15 mm. It took one hour forty minutes.



Posted in Reprap 3D Printer | Tagged , , , | Leave a comment

An heat resistent experiment of PLA filament

One serious weakness of PLA filament is poor heat resistance.  Filament companies started to sell heat resistance PLA products charging 30% to 40% higher than normal PLA filaments.

I saw one company’s heat resistance PLA filament. The company recommends performing a hardening process after printing an object with 100% infill: Put the part near boiling water for thirty seconds and remove it.

Serious RepRap users prefer to use ABS over PLA for printed parts if they are used in enclosed 3D Printer. The chamber temperature will rise around 50 to 60 Celsius degrees. I doubt ABS part will maintain rigidity near 100 Celsius degrees.

If PLA filament maintains rigidity around 60 Celsius degrees, I don’t have to buy ABS filament exclusively for 3D Printer parts. I’ve had a can of urethane coat over three years which I hardly use it.

I thought I would apply one layer of urethane coat over a PLA part, then put it in a hot water to test how it increases heat resistance.

On the can it indicates heat resistance: 32 C to 121 C (90 F to 250 F).steel-fisher-20161010_0047

I coated a PLA part and let it cured over two days.

I put it in a bowl of hot water for a minute. Over 76 Celsius degrees made it little soft.


Testing at 64 Celsius degrees.

The left side one is a normal PLA part, the right side is urethan coated PLA part that I used previous test. I put two pieces when the temperature was 64 Celsius degrees and kept it for one minute.


I applied force with thumb and index finger against each part. Normal PLA part showed deformation along the pressure point, middle of the vertical section. Urethane coated PLA kept its shape.


I plan to do few more tests about the heat resistance effect of Urethane coat over PLA filament.

Provided recoat interval of the Urethan coat is within 48 hours, I will prepare four samples made out of printed PLA filament: (the recoat interval is 12 hours)

  • normal PLA part
  • PLA part which has one coat, three days to prepare
  • PLA part which has two coats, four days to prepare
  • PLA part which has three coats, five days to prepare


Posted in Reprap 3D Printer | Tagged , , , | Leave a comment