3D Printer Supports, Anyone?

I’ve been having a great time with the 3D printer. It’s a bit tedious to constantly adjust every setting to tweak things into a better print, but it really is a fun hobby! Lately, I’ve been working on the supports. For those who are new (like me) to 3D printing, supports are used to, well, support the 3D object while it is being printed. Below you can see the chess knights that I just printed. The broken pieces in between them are the supports I took off, that were used to hold the snout while it was being printed.


Here is a picture with them in place:


What can be interesting, is when your supports really are not needed, but get built anyways. Take for example, this king and queen chess set, where originally it wanted to build supports, but I opted not to, and it fared well without them.


The slicer program (slic3r) wanted to put supports in between the “arms” of the pieces to hold them up during printing. But it seems to have printed fine without them. Another interesting problem was this spiral pawn chess piece (incomplete). I stopped it while printing because I realized that I couldn’t take the supports out of the spiral.


So I’m still tinkering with supports, when to use them, when not to use them, how to use them better, etc. It’s pretty interesting to mull over, and hopefully I can come up with some sort of “truth table” on when and how to use them. The general rule is that a “Y” shape is okay, and a “T” shape is not. This spiral set is more or less “T” shaped, but having the supports inside that are impossible to remove sort of defeats the purpose of the spiral set….. I guess I will have to think on it some more.

Linux – keep it simple.

Colido 3D DIY Slic3r Settings


As promissed, I wanted to make a post with my slicer settings that I use for my Colido 3D DIY printer in Slic3r. Why? Because I’m learning that slicer settings matter, big time. If the above picture loaded for you, then you can see that the same 3D model will drastically change when sliced with different slice settings. Warping, crummy prints will plague you if you don’t get this right.

I learned this the hard way, and, after dozens of test prints, I finally found something that prints decent for my modest printer. If any of you happen to have a Colido 3D DIY printer, then maybe this can save you dozens of prints spanning days or weeks of free time. At least, that’s the goal.

Here is my colido3Ddiy.ini file:

# generated by Slic3r 1.2.4 on Wed Jul 17 17:27:12 2019
avoid_crossing_perimeters = 0
bed_shape = 0x0,200×0,200×200,0x200
bed_temperature = 0
bottom_solid_layers = 3
bridge_acceleration = 0
bridge_fan_speed = 100
bridge_flow_ratio = 1
bridge_speed = 60
brim_width = 0
complete_objects = 0
cooling = 1
default_acceleration = 0
disable_fan_first_layers = 1
dont_support_bridges = 1
duplicate_distance = 6
end_gcode = M104 S0 ; turn off temperature\nM140 S0 ; set bed target temp\nG28 X0 ; home X axis\nM84 ; disable motors\nG1 Z169 F200;
external_fill_pattern = rectilinear
external_perimeter_extrusion_width = 0.35
external_perimeter_speed = 70%
external_perimeters_first = 0
extra_perimeters = 1
extruder_clearance_height = 20
extruder_clearance_radius = 20
extruder_offset = 0x0
extrusion_axis = E
extrusion_multiplier = 1
extrusion_width = 0.35
fan_always_on = 0
fan_below_layer_time = 60
filament_diameter = 1.75
fill_angle = 45
fill_density = 30%
fill_pattern = line
first_layer_acceleration = 0
first_layer_bed_temperature = 0
first_layer_extrusion_width = 200%
first_layer_height = 0.32
first_layer_speed = 70%
first_layer_temperature = 195
gap_fill_speed = 20
gcode_arcs = 0
gcode_comments = 0
gcode_flavor = reprap
infill_acceleration = 0
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0.29
infill_first = 0
infill_only_where_needed = 0
infill_speed = 20
interface_shells = 0
layer_gcode =
layer_height = 0.16
max_fan_speed = 100
min_fan_speed = 35
min_print_speed = 10
min_skirt_length = 0
notes =
nozzle_diameter = 0.4
octoprint_apikey =
octoprint_host =
only_retract_when_crossing_perimeters = 1
ooze_prevention = 0
output_filename_format = [input_filename_base].gcode
overhangs = 1
perimeter_acceleration = 0
perimeter_extruder = 1
perimeter_extrusion_width = 0.21
perimeter_speed = 20
perimeters = 3
post_process =
pressure_advance = 0
raft_layers = 0
resolution = 0
retract_before_travel = 2
retract_layer_change = 1
retract_length = 3
retract_length_toolchange = 10
retract_lift = 0
retract_restart_extra = -0.01
retract_restart_extra_toolchange = 0.5
retract_speed = 40
seam_position = nearest
skirt_distance = 6
skirt_height = 1
skirts = 1
slowdown_below_layer_time = 30
small_perimeter_speed = 30
solid_infill_below_area = 70
solid_infill_every_layers = 100
solid_infill_extruder = 1
solid_infill_extrusion_width = 0.59
solid_infill_speed = 60
spiral_vase = 0
standby_temperature_delta = -5
start_gcode = M104 S195 ; set temperature\nG28 ; home all axes\nG1 Z5 F200 ; lift nozzle\nM109 S195 ; wait for temperature to be reached
support_material = 1
support_material_angle = 0
support_material_enforce_layers = 0
support_material_extruder = 1
support_material_extrusion_width = 0
support_material_interface_extruder = 1
support_material_interface_layers = 3
support_material_interface_spacing = 0
support_material_interface_speed = 100%
support_material_pattern = pillars
support_material_spacing = 2.5
support_material_speed = 60
support_material_threshold = 0
temperature = 195
thin_walls = 1
threads = 2
toolchange_gcode =
top_infill_extrusion_width = 0.2
top_solid_infill_speed = 50
top_solid_layers = 3
travel_speed = 130
use_firmware_retraction = 0
use_relative_e_distances = 0
vibration_limit = 0
wipe = 0
xy_size_compensation = 0
use_volumetric_e = 0
z_offset = 0
before_layer_gcode =

So in these 125 settings are the keys to a successful print on my 3D printer. I’d like to point out just a few things about them though:

  • perimeter_speed = 20 ; Going slow on the perimeters really helped define the shape of my prints. It does make it take much longer, since I’ve slowed down all the speeds, but it does make a huge difference on the quality of the finished product.
  • layer_height = 0.16 ; Having a finer layer height also drastically improved the print quality.
  • infill_speed = 20 ; You could probably make this faster by raising the infill speed, but with my cheap printer, the slower the better. However, most of my prints take hours longer at this speed.
  • perimeters = 3 ; Having thicker walls for the edges of things made my prints significantly stronger without having to up the fill density, which I usually keep at 30-40%.

It’s a bit tedious if you are playing with a new to you printer and don’t know where to start. Having 125 settings to work with really makes it a daunting task, considering the best thing to do is to change one setting at a time. Hopefully these settings will help point someone else in the right direction, or at the very least, help another Colido 3D DIY owner.

Linux – keep it simple.

Slicing the perfect 3D print….

Hopefully all of these higher resolution photos show up well in this post, as I wanted to show you what I’ve been working on. Previously, I talked about the difference between using Slic3r to slice my stl files into gcode, and I was pointing out that with the exact same settings, the slice comes out different between slicing inside the printing program, or if I slice directly in the Slic3r program itself, even though the printing program calls Slic3r to do it’s work.

Overall, it was and still is always better to open up Slic3r and slice the files directly. It does add an extra step, but also adds much better quality to the print.

That said, I’ve been tinkering with making the perfect slice.

If there ever was a tough part to 3D printing, I believe it is slicing your stl into gcode. It has taken me about dozens of slices of adjusting settings one or two at a time to get what I consider the best possible print out of my printer. And by God’s grace, I *think* I’ve finally got it down. But you can check out the pictures and judge for yourself.

For all of these prints, I am using a test print pattern that I found on Thingverse. I wanted to provide a direct link, however, as I write this, Thingverse’s website seems to be down at the moment.


Here you can see one of my early prints compared to one of my later prints. Neither of these is the best my printer can do, but it is interesting noting the difference in quality. The upper print was sliced with Cura directly inside the program, with the “fine” settings. It was a complete waste of a print. The lower print was sliced with Slic3r using settings that I thought would work for my printer. It is better, but not much.

You can see that it has a star and a hexagon, and three circles. The pyramid, cup, and dome are all there, but it is not a good print. Between the dome and the three circles on the bottom, there should be “comb” like teeth, but they don’t go all the way through to the table, and between the circles and star are words, that should be clear all the way through to the table, but are not. So more work was needed.

Then, I found a printer settings file for the Colido 3D DIY printer that was for Mac users, and I loaded that into Slic3r. It worked better, but still had issues.


This picture is a bit hard to see, but on the bottom, the print was not adhering to the platform, making the base of the print unstable for the prints made on top of it. There also was a bad “shift” through the middle of the print, where every print came out with a few layers shifted over to the left or right, making the prints very poor.


Notice how the “cup” and pyramid in this picture shift slowly to the left, instead of being centered and growing up like they should.


Finally, after literally dozens of prints, I was able to make a pretty good one. The one on the platform just finished and is the best one yet. The one next to it was the previous best, for comparison. Notice on the good one that the circles and holes are very clear and distinct. Also notice that for the first time of all the prints, the spire, or skinny tower actually printed.


In this close up, you can see that the cup is not shifted over at all, and the words are visible! The clarity of the print is dramatically better as well.

So, how’d I get here? What is the point of this post?

Well, next post I’ll share my configuration file, in case you have a Colido 3D DIY printer, but chances are you don’t. I wanted to put out a few tips for other beginners (like me) who may be ready to throw in the towel on their 3D printer, and hope that it generically helps someone else out.

So, my newbie tips:

  • Make sure your belts and gears and motor mounts are tight. If there is any slop or play in them, your pints will turn out bad.
  • Double check that the bed is level, mine is ever so slightly warped, so I found one corner I don’t use for prints. Instead I move the object to be printed to the other corner, which is flat.
  • If, like me, your printer is not one of the select-able options in the list of printers, be sure to reference your manual for the printer details to put into the slicing program you use. I know this seems too easy, but it will give you a better starting point that adjusting all the settings from the default. The default extruder was 0.35 mm, but mine was actually 0.4 mm. So I had a kind of overlap in my prints, or it would melt another part that was already laid.
  • Choose the filament settings to match your current filament. Again, seems to easy, but I didn’t realize the first few prints were with “2.85mm” instead of the actual “1.75mm” filament that I really had. This made for wide gaps between things because it thought the filament was wider, and would feed less to the extruder.
  • Once every thing is set per your machine and filament, now you need to start adjusting the settings one at a time, performing a print, and then seeing the results. For me, I made a small 10 mm block with an angled cut across the face to print dozens of times and see the differences, before moving on to bigger and finer prints.
  • Don’t be afraid to waste some filament. If you don’t do it now, you will be wasting it later on bad prints.
  • If you change filaments between prints, I found that it actually completely changed to game. Switching between two brands seemed (for me) to change the quality of the print. Stick with one filament brand, to keep things simple. I’m not sure if changing colors within a brand matter, because I changed brand and color all at once, which had a dramatic impact on my print and required more adjustment.
  • For me, slower speeds seems to make a better print. Faster print speeds make sloppy prints, probably due to my low cost, low grade printer. Remember, “fast is slow” because you will waste time reprinting bad prints.
  • You don’t need to make an object fill solid to make an object feel solid. Having 3 top, bottom, and wall layers that are solid will really make a part rigid while keeping the internal fill down.
  • That said, I prefer higher fills than recommended, like 40% rather than 20-30% as recommended.
  • Temperature matters. My filament says 180-210 degrees. The print quality is best for me at 195 degrees. I don’t know if it happens to be in the middle or if the middle temperature is always best, because I don’t have enough to try. But, making it too hot will make it impossible to remove from the platform and can make bridge areas kind of droopy. Having it too cold will make the layers stand out as separate.

Your mileage may vary, but I want to encourage other newbies like me that good prints can be made. If your prints turn out poor, spend a little more time adjusting your slicing software, because it will make a difference.

Linux – keep it simple.

Using my Colido 3D DIY printer with Cura

As you’ve probably seen before, I’ve got a Colido 3D DIY printer that I’ve used for some of my projects. Prior to today, I was using Repitier-Host as the software for handling the printing, and it worked great. The thing is, I’m big into open source, so I wanted to find an OS alternative. I stumbled across Cura, but I couldn’t figure out how to input my own parameters for the printer, until today.

By default, Cura comes with the option to choose between multiple printers, unfortunately, my do it yourself printer wasn’t one of them. Not to worry, though, they created a feature where you can add a new type of printer. My only problem was, I didn’t know enough about 3D printers to fill in all the details.

So, after some tinkering, I found a setup that works great and produces great prints!


As you can see in the pictures, you will set the fields as follows:


  • X (width) 200 mm
  • Y (depth) 200 mm
  • X (height) 170 mm
  • Build plate shape rectangular
  • Uncheck Origin at center
  • Uncheck Heated bed
  • G-code flavor Repetier
  • X min 20
  • Y min 10
  • X max 10
  • Y max 10
  • Gantry height 999999999999 mm ( I think you can adjust this better, but for me it works, because it uses this at the end to go to the stop. )
  • Number of extruders 1

Extruder 1:

  • Nozzle size 0.35 mm
  • Compatible material 1.75 mm
  • Nozzle offset x 0 mm
  • Nozzle offset y 0 mm
  • Cooling fan number 0
  • End and start G-Code for the extruder can be left blank.

For the printer Start G-Code, use this:

M104 S195 ; set temperature

G28 ; home all axes

G1 Z5 F200 ; lift nozzle

M109 S195 ; wait for temperature to be reached

G21 ; set units to millimeters

G90 ; use absolute coordinates

M82 ; use absolute distances for extrusion

G92 E0

M106 S155.55

G1 E-3.00000 F2400.00000

G92 E0

And the printer end G-code, use this:

M104 S0 ; turn off temperature

M140 S0 ; set bed target temp

G28 X0 ; home X axis

M84 ; disable motors

G1 Z169 F200;

If you fill in these fields, then hopefully your Colido 3D DIY printer will work great for you too! It’s not the best printer, but for about $100 on Amazon, it’s a great starter kit for understanding and getting started with 3D printing!

Linux – keep it simple.

A 3D printer for my Arduino projects!

After receiving a generous gift from another developer with whom I worked on some projects on XDA, I procured a 3D printer! I purchased a Colido 3D do it yourself printer! What a blessing! This thing was really easy to put together, and I’ve really enjoyed playing around with it.

If you look through the pictures, you’ll notice that I took a picture after every step in the instructions.

Assembly was a breeze. There were two parts after assembly, however, that really made it difficult to set up. I suppose difficult may be too big of a word, perhaps time consuming would be a better choice.

The first was doing the alignment. They send a small flat “card” that you need to place in the tray at just the right spots to check alignment. This is all well and good, but after two attempts, it still didn’t work right. I noticed, though, that the card was very flimsy and thin, so it would warp or bend when stood up straight to perform a measurement. I realized that it was the exact same size as my Costco club card, so I used the thicker Costco card instead. Now when I lower the arm onto it, the card didn’t bend, so the measurement was more accurate. It even worked after that third alignment.

The second thing that was a little difficult was getting all the software needed installed. It did say it supported Linux, but it was a bit less intuitive than I thought it could be. Either way, the main issue was that I was installing it on Centos 7, rather than Ubuntu/Debian, so there was a bit less support available for setup. However, with a bit of tinkering, I was able to get it working.

The main app came as an all inclusive appImage. However, all inclusive still needed to fulfill some php dependencies, and the ones the instructions suggested for Linux were not available on my system. Either way, it worked out well in the end. As you can see from the pic, I printed my first object! You can even watch a video of it if you would like! Now I just have to spend  a few hours designing pieces for my new projects!

Linux – keep it simple.