HM version 4 Rpi 3d print case


 
With a 0.5 mm nozzle you will extrude filament at just over 0.5 mm due to dye swelling, however, the ultimate width will be determined by how much plastic is being extruded and what speed your nozzle is moving. This is due to the fact that the filament can be stretched or compressed. This is all basically calculated by the slicing software based upon the parameters you enter which specific to your equipment and filament. The resolution in height (z-axis) depends on what you set your layer height to. For a 0.5 mm nozzle, I would set my layer height around 0.3 mm but I encourage you to read up on optimal width/height ratios. You need to test your machine and really focus on the calibration before figuring out what you can and cannot do. That being said, a 10 mm hole in the center of a 15 mm object should not be a problem at all.

You will find it very difficult making a hollow 60 mm cube in one piece (without support). The top face will begin as a bridge, basically extruding filament very quickly from one side to the other. This is fine for small gaps (1 to 10ish mm), but 60 mm will definitely result in quite a bit of sagging because the filament will be deformed by gravity until it has cooled below the glass transition. The wall thickness you need for sturdiness depends on how big your object is, how much infill you use, etc. so you really need to experiment with a few things. The heatermeter case is on the order of 100x100x30 mm and does quite well with approximately 4 mm thick walls.
 
Thanks again for all your help and insight... I can see that beyond just designing an object you need to design it for printing...

So I take it you print the two halves of the HM case with the largest face down to prevent sagging, and if I were to print say the 60mm cube from above it would be better to dissect the cube into two pieces and print them with with the square face down and only (half height) side walls going up, then mate the two pieces together? (or add internal bridging to prevent sagging, which will not work if your goal is a hollow area) I did read somewhere they are working on a 3D printer with a second nozzle that extrudes some filler that can support bridged items and then be easily removed or possibly dissolved... That would make design quite easier because objects could essentially print as solid objects rather than hollow and bridging would be a non-issue...

With this information in mind I realize I should break my design up into at least 2, maybe three pieces. Initially I guess I had some idealistic/futuristic vision of my 3D printer just materializing parts magically before my eyes. I am starting to realize it will do this, but with some limitations that must be considered when the objects are designed.
 
Thanks again for all your help and insight... I can see that beyond just designing an object you need to design it for printing...

So I take it you print the two halves of the HM case with the largest face down to prevent sagging, and if I were to print say the 60mm cube from above it would be better to dissect the cube into two pieces and print them with with the square face down and only (half height) side walls going up, then mate the two pieces together?

Exactly, you design keeping in mind how the printer works. You are printing from the bottom up so you have to think about how each layer is going to be printed with regards to the layers beneath it. That's why you sometimes create intentional supports that can be removed after the print. For instance, in the heatermeter case, there are counter sunk screw holes that have to print with the larger diameter part of the shaft first. This leads to a problem when you go up a few layers and get to the smaller diameter hole because it's initial layer is floating on air. You get around this by actually filling in the hole for a couple of layers and then continuing with the smaller diameter shaft above. When the print is done, you just drill through the support.

There are people trying to print supports made from a degradable material with a second nozzle that can easily be removed when the print has finished.
 
Trying to get my head around the limitations...
So if I wanted to print a solid block with a horizontal threaded hole/shaft about 5-8mm in diameter, do you think that could be printed? (with the shaft horizontal) Or would it be more logical to skip the threads and use a tap to cut threads afterword, or perhaps skip the hole altogether and drill the hole then tap it manually?
 
Trying to get my head around the limitations...
So if I wanted to print a solid block with a horizontal threaded hole/shaft about 5-8mm in diameter, do you think that could be printed? (with the shaft horizontal) Or would it be more logical to skip the threads and use a tap to cut threads afterword, or perhaps skip the hole altogether and drill the hole then tap it manually?

I've never tried creating a threaded hole. I don't think it would work very well on that scale. You would be better off making a nut trap in the path for the threads.
 
I've never tried creating a threaded hole. I don't think it would work very well on that scale. You would be better off making a nut trap in the path for the threads.

Hmm, ok, that would be easy enough, much easier actually. I guess I've been introduced to another aspect of conceptualizing and creating 3D printed objects, "to print or not to print" LOL On one hand I like the idea of printing all the parts, and as few of them as possible. On the other hand you need to look at what the printer is capable of, and what is practical, and whether or not you want to spend the time designing a threaded screw and hole or just making a trap to stick a metal nut and screw into...
Thanks again for pointing me in the right direction(s)
 
There is definitely a "design for 3D print" aesthetic that must be maintained. Tom has addressed a lot of these, but I'll add a few more "rules".

The thickness of the "skin" of a 3D printed object is much more important than the amount of infill when trying to make a "strong" part. Typically I don't go below 3 perimeters/solid layers for a standard object. That's about 2mm of "shell". And I rarely ever go above 35% infill anymore. More is not better.

As far as layer heights are concerned this gets a little technical. The one thing I didn't realize is that the Makerfarm Prusa i3 uses M5 rods on the Z-axis to drive the X-axis up and down. This is not a deal-breaker, but it is not ideal either.

M5 rods have a pitch of 0.8mm. I'm going to assume that the Z-steppers are 1.8 degree motors (200 step). So for every 200 steps (1 revolution) your X-axis will move 0.8mm. This leads to a standard steps/mm value of 250. You will enter this value in your firmware. Another thing I cannot recommend enough is driving your Z-axis in full-step mode. Please, please, please do this. It will make your life easier.

So now we're in full-step mode on Z and your steps/mm is 250 in firmware. Now we can take a look at appropriate layer heights.

1/250 = 0.004 This is how much your Z-axis will move for every step you take, which means that calculating a table of appropriate layer heights should be easy.

Steps Layer Height
1 0.004
2 0.008
3 0.012
4 0.016
5 0.02
6 0.024
7 0.028
8 0.032
9 0.036
10 0.04
11 0.044
12 0.048
13 0.052
14 0.056
15 0.06
16 0.064
17 0.068
18 0.072
19 0.076
20 0.08
21 0.084
22 0.088
23 0.092
24 0.096
25 0.1
26 0.104
27 0.108
28 0.112
29 0.116
30 0.12
31 0.124
32 0.128
33 0.132
34 0.136
35 0.14
36 0.144
37 0.148
38 0.152
39 0.156
40 0.16
41 0.164
42 0.168
43 0.172
44 0.176
45 0.18
46 0.184
47 0.188
48 0.192
49 0.196
50 0.2
51 0.204
52 0.208
53 0.212
54 0.216
55 0.22
56 0.224
57 0.228
58 0.232
59 0.236
60 0.24
61 0.244
62 0.248
63 0.252
64 0.256
65 0.26
66 0.264
67 0.268
68 0.272
69 0.276
70 0.28
71 0.284
72 0.288
73 0.292
74 0.296
75 0.3
76 0.304
77 0.308
78 0.312
79 0.316
80 0.32
81 0.324
82 0.328
83 0.332
84 0.336
85 0.34
86 0.344
87 0.348
88 0.352
89 0.356
90 0.36
91 0.364
92 0.368
93 0.372
94 0.376
95 0.38
96 0.384
97 0.388
98 0.392
99 0.396
100 0.4
101 0.404
102 0.408
103 0.412
104 0.416
105 0.42
106 0.424
107 0.428
108 0.432
109 0.436
110 0.44
111 0.444
112 0.448
113 0.452
114 0.456
115 0.46
116 0.464
117 0.468
118 0.472
119 0.476
120 0.48
121 0.484
122 0.488
123 0.492
124 0.496
125 0.5

Any layer height on this table is appropriate for your machine. Do not deviate from these layer heights! If you do you'll wind up with printing artifacts which will look like Z-wobble, which will drive you insane.

Sticking with this steps/mm value and these layer heights will help you diagnose any print quality problems you have. Will you prints be dimensionally perfect in Z? No. You would have to calibrate your axis for that, and then use that calibrated value to determine appropriate layer heights. But that is something you can do later. Don't let the enemy be the perfect of the good.

Full-step on Z
250 steps/mm

A good starting point for calibration: http://calculator.josefprusa.cz/

If you have any more questions don't hesitate to ask.
 
Last edited:
Since I brought it up I might as well finish it off.

The reason I'm not too thrilled with the M5 rods is their 0.8mm pitch. M6 rods would be better as they have a pitch of 1mm. This leads to some really nice things happening.

Stepper resolution = steps/mm for a 200 step motor. For a 400 step motor it's half that (but you probably don't have a 400-step motor).

And the layer height table becomes very predictable.

Steps Layer Height
1 0.005
2 0.01
3 0.015
4 0.02
5 0.025
6 0.03
7 0.035
8 0.04
9 0.045
10 0.05
11 0.055
12 0.06
13 0.065
14 0.07
15 0.075
16 0.08
17 0.085
18 0.09
19 0.095
20 0.1
21 0.105
22 0.11
23 0.115
24 0.12
25 0.125
26 0.13
27 0.135
28 0.14
29 0.145
30 0.15
31 0.155
32 0.16
33 0.165
34 0.17
35 0.175
36 0.18
37 0.185
38 0.19
39 0.195
40 0.2
41 0.205
42 0.21
43 0.215
44 0.22
45 0.225
46 0.23
47 0.235
48 0.24
49 0.245
50 0.25
51 0.255
52 0.26
53 0.265
54 0.27
55 0.275
56 0.28
57 0.285
58 0.29
59 0.295
60 0.3
61 0.305
62 0.31
63 0.315
64 0.32
65 0.325
66 0.33
67 0.335
68 0.34
69 0.345
70 0.35
71 0.355
72 0.36
73 0.365
74 0.37
75 0.375
76 0.38
77 0.385
78 0.39
79 0.395
80 0.4
81 0.405
82 0.41
83 0.415
84 0.42
85 0.425
86 0.43
87 0.435
88 0.44
89 0.445
90 0.45
91 0.455
92 0.46
93 0.465
94 0.47
95 0.475
96 0.48
97 0.485
98 0.49
99 0.495
100 0.5

Every practical layer height is available. 0.1, 0.2, 0.3, 0.15, 0.25, 0.35 etc. And manual layer height adjustment by counting detents becomes easy - every 1 detent = 5 microns.

Just food for thought.
 
Last edited:
So my z-axis is a 1/4" acme thread. Any issue with using that instead of mm, as long as I choose the min layer height wisely? I could swap it out for a M6 thread if I have to, but I may have to source a bearing for it. M6 is really close to 1/4", maybe it would "just work".

dave
 
Well, you just had to go there... :)

I've got 1/4"-16 ACME on my small machine. Your layer heights will be a little different.

Assuming 1.8 steppers your mm/step should be 25.4/(16*200) = 0.0079375 and your steps/mm is 125.98425196850393700787401574803. That is an ugly number. But it's close to 126, so that's the number we'll use. It's not perfect, but for our purposes it's good enough.

1/126 = 0.007936508mm

I'm going to recommend that you actually run your Z-axis at half-step. The half-step value in firmware is 252. Doing so provides the following layer heights:

Steps Layer Height
1 0.003968254
2 0.007936508
3 0.011904762
4 0.015873016
5 0.01984127
6 0.023809524
7 0.027777778
8 0.031746032
9 0.035714286
10 0.03968254
11 0.043650794
12 0.047619048
13 0.051587302
14 0.055555556
15 0.05952381
16 0.063492063
17 0.067460317
18 0.071428571
19 0.075396825
20 0.079365079
21 0.083333333
22 0.087301587
23 0.091269841
24 0.095238095
25 0.099206349
26 0.103174603
27 0.107142857
28 0.111111111
29 0.115079365
30 0.119047619
31 0.123015873
32 0.126984127
33 0.130952381
34 0.134920635
35 0.138888889
36 0.142857143
37 0.146825397
38 0.150793651
39 0.154761905
40 0.158730159
41 0.162698413
42 0.166666667
43 0.170634921
44 0.174603175
45 0.178571429
46 0.182539683
47 0.186507937
48 0.19047619
49 0.194444444
50 0.198412698
51 0.202380952
52 0.206349206
53 0.21031746
54 0.214285714
55 0.218253968
56 0.222222222
57 0.226190476
58 0.23015873
59 0.234126984
60 0.238095238
61 0.242063492
62 0.246031746
63 0.25
64 0.253968254
65 0.257936508
66 0.261904762
67 0.265873016
68 0.26984127
69 0.273809524
70 0.277777778
71 0.281746032
72 0.285714286
73 0.28968254
74 0.293650794
75 0.297619048
76 0.301587302
77 0.305555556
78 0.30952381
79 0.313492063
80 0.317460317
81 0.321428571
82 0.325396825
83 0.329365079
84 0.333333333
85 0.337301587
86 0.341269841
87 0.345238095
88 0.349206349
89 0.353174603
90 0.357142857
91 0.361111111
92 0.365079365
93 0.369047619
94 0.373015873
95 0.376984127
96 0.380952381
97 0.384920635
98 0.388888889
99 0.392857143
100 0.396825397
101 0.400793651
102 0.404761905
103 0.408730159
104 0.412698413
105 0.416666667
106 0.420634921
107 0.424603175
108 0.428571429
109 0.432539683
110 0.436507937
111 0.44047619
112 0.444444444
113 0.448412698
114 0.452380952
115 0.456349206
116 0.46031746
117 0.464285714
118 0.468253968
119 0.472222222
120 0.476190476
121 0.48015873
122 0.484126984
123 0.488095238
124 0.492063492
125 0.496031746
126 0.5

Unfortunately you'll see that these screws should only be used at a single layer height - 0.25mm This is what I print at on my small machine. :(

You can increase the driver to quarter-step and the firmware value to 504, but you only gain one more usable layer height - 0.125

The reason for all this is that slic3r/etc will only accommodate a 3 decimal layer height. Everything else past the third digit is discarded. This turns into error, which is in turn means that the extra plastic accumulates in your print, making the walls look wavy.

I'm going to upgrade to M6 soon so I can get more layer heights out of it. You could also move to fine-pitch M8 or trapezoidal M10's, which also have a thread pitch of 1mm.

This really isn't an issue for CNC machines as all the processing is done on the PC, which can handle floats very well. The problem is with the arduino - it doesn't play nicely with floats. :(

I hope this has helped!
 
OK that answered a couple more questions for me. It seems that slic3r is the issue for me as I will be running LinuxCNC or TurboCNC to control my machine, but if the gcode is sliced to only 3 decimal places, then that doesn't help anything. Do any of the slicing programs support more than 3 decimal places?

dave

Well, you just had to go there... :)
The reason for all this is that slic3r/etc will only accommodate a 3 decimal layer height. Everything else past the third digit is discarded. This turns into error, which is in turn means that the extra plastic accumulates in your print, making the walls look wavy.

I'm going to upgrade to M6 soon so I can get more layer heights out of it. You could also move to fine-pitch M8 or trapezoidal M10's, which also have a thread pitch of 1mm.

This really isn't an issue for CNC machines as all the processing is done on the PC, which can handle floats very well. The problem is with the arduino - it doesn't play nicely with floats. :(

I hope this has helped!
 
I got my i3 parts last night and started assembling them and to me the whole Z axis is pretty hokey. They use plastic tubing for couplers between the z motors and M5 rod which seems to me that that could slip and the have the Z axis get all tilty. Because there's two they also need to be precisely at the same point on the rod which I'm wondering how precisely I can get that set. Also when the Z goes down, sometimes it binds up slightly and the nut will come out of the capture and then the Z stops moving entirely. I don't have the extruder or hot end installed yet so maybe the extra weight will keep it in place but that seems pretty crappy to have it require a large weight on the axis just to keep it in the right place.

Are linear bearings supposed to be so hard to move? I thought it would glide like a greased pig at a hockey game along those rods but it takes a few pound of force to get it to move at all. Any rod with 1 bearing moves ok, but the rods with 2 bearings really stays wherever you put it.
 
I got my i3 parts last night and started assembling them and to me the whole Z axis is pretty hokey. They use plastic tubing for couplers between the z motors and M5 rod which seems to me that that could slip and the have the Z axis get all tilty. Because there's two they also need to be precisely at the same point on the rod which I'm wondering how precisely I can get that set. Also when the Z goes down, sometimes it binds up slightly and the nut will come out of the capture and then the Z stops moving entirely. I don't have the extruder or hot end installed yet so maybe the extra weight will keep it in place but that seems pretty crappy to have it require a large weight on the axis just to keep it in the right place.

Are linear bearings supposed to be so hard to move? I thought it would glide like a greased pig at a hockey game along those rods but it takes a few pound of force to get it to move at all. Any rod with 1 bearing moves ok, but the rods with 2 bearings really stays wherever you put it.

The z-axis couplers are designed to allow for some play when rods are not perfectly straight. Do a search for "nophead coupler". If the nut is binding on you then you are likely out of plumb beyond the tolerance of the couplers. Your z rods have to be parallel to one another and the screws should be parallel to the rods.

I hate LM8UU linear bearings (I'm assuming this is what they gave you). Your guide rods have to be perfectly parallel when using them. I suggest that you make a jig to create perfect spacing between them. The slightest angle will cause them to bind. If they start to grind, you will damage them and will need to replace. When they are properly aligned, they should move easily. This is why I moved to a V-wheel linear guide system for my machine (http://openbuildspartstore.com/). My x and y axes now move on single rails smooth as butter.
 
When you are building, do it on the most level surface you have. I use my iphone carpenter app and check the level of the frame in x and y. Make sure that your z axes are orthogonal to the frame. I then adjust the z screws so that the x axis is level with respect to the frame. Then I adjust the bed to be level with the frame in x and y. At this point you can then fine tune.
 
Last edited:
I got my i3 parts last night and started assembling them and to me the whole Z axis is pretty hokey. They use plastic tubing for couplers between the z motors and M5 rod which seems to me that that could slip and the have the Z axis get all tilty.

That method is actually really good. It might not seem like it, but it works like a charm. I've tried helical couplers, fixed couplers, spider couplers and printed couplers. Tubing only is the best solution I've run into so far. If you're afraid that it'll slip then add zip ties around the stepper shaft and around the M5. The tubing needs to be stiff enough to support the weight of the X-axis, but it works really well in that it doesn't overly constrain the M5 rods.

Because there's two they also need to be precisely at the same point on the rod which I'm wondering how precisely I can get that set.Also when the Z goes down, sometimes it binds up slightly and the nut will come out of the capture and then the Z stops moving entirely. I don't have the extruder or hot end installed yet so maybe the extra weight will keep it in place but that seems pretty crappy to have it require a large weight on the axis just to keep it in the right place.

Don't worry about setting the spacing of the M5 rods to be exactly the same. The level of the X-axis can be manually adjusted by turning one of the motors until the X-axis is level (make sure your machine is on a level surface). Once this axis is level you shouldn't have any binding issues on Z. If you do then there is some mis-alignment in either the bearings, the smooth rods or the issue could be the X-axis itself. First, loosen the screws that fix the X-axis smooth rods to the X-ends (motor and idler). If this solves the problem look at the Z-axis smooth rods. Also check that the M5 and smooth rods are perfectly parallel. Also, it may be easier if you remove the M5 rods and ensure that the motion is smooth on X and Z before you re-install them.

Are linear bearings supposed to be so hard to move? I thought it would glide like a greased pig at a hockey game along those rods but it takes a few pound of force to get it to move at all. Any rod with 1 bearing moves ok, but the rods with 2 bearings really stays wherever you put it.

The bearings should move easily. They may be misaligned. Loosen both bearing holders and try to move the axis. It should move freely. Once it does lightly tighten one bearing and ensure movement is still smooth. Then lightly tighten the other bearing. If motion is still smooth then tighten one of the bearings down, ensuring that motion is still smooth. Then slowly tighten the other bearing. At some point this bearing may begin to bind - loosen, adjust the bearing and tighten again. This can be a little bit of a process, but you'll get it eventually.

I would highly suggest you go to your local bike shop and buy some tri-flow and pre-lubricate your bearings. If you don't want to disassemble then just add a drop to the axis and move the carriages around to lubricate the rails.

And everything that Tom said too... :)
 
Last edited:
Personally I've moved away from LMxUU's to sintered bronze bushings. They're cheap, they self-align and they're quiet. :)

But in all honesty you can't beat linear rails...
 
OK that answered a couple more questions for me. It seems that slic3r is the issue for me as I will be running LinuxCNC or TurboCNC to control my machine, but if the gcode is sliced to only 3 decimal places, then that doesn't help anything. Do any of the slicing programs support more than 3 decimal places?

dave

Unfortunately no. It would be nice if it did though. Maybe you can petition allesandro/sound over at the slic3r project to push the decimal value out.

But I bet you could "fudge" it if you had to. I wonder if you could import the g-code in excel and then change the Z-heights to the appropriate decimal value with a formula.
 
Oh yeah I love the v-wheel type system and expected the linear bearing to be as smooth as that. Boy was I disappointed. I'll go ahead and try to get them better aligned tonight once I've finished putting the whole thing together. You've given me a lot of things to try so hopefully the combination will have it zipping right along.
 
Whew, had me worried a bit that the kit was gonna end up to be crappy... I guess that's just the initial learning curve of assembling one of these mechanical beasts. Sounds like Matt put most of your worries to rest, I hope you get her humming along soon... Mine shipped yesterday, but so far tracking says it wont arrive until Monday (boo-hoo). I noticed on their site today they upped the price again to $585 and changed the lead time to two weeks...
In the meantime two servo's just arrived in the mail so I have SOMETHING to play with today. I'm gonna plug them in and see how they work with the heatermeter, but I'll have to wait until I have a working 3D printer to test out the actual damper system. My Akorn needs the damper badly, it's way too efficient to go low and slow with a fan....
 
Yeah I was actually pretty impressed with the packing of the kit. Some of the cut wood parts could be actually labeled at least with a letter so you know which step it is for. Luckily the similar-looking parts have things like slightly different widths so they don't quite fit and you scratch your head for a while then notice there's another piece just like it that fits perfectly. Hopefully I can get the linear bearings sliding nicely. I might also pull the smooth rods out and give them a little polish in case there's just some traveling gunk on them.

The heated bed also doesn't have any mechanism to level it, which we'll see if that's a problem later. I can always put springs in if needed later though.
 

 

Back
Top