Browse Source

Added some 3D printer photos and text. Added OctoTray page.

Thomas Buck 3 years ago
parent
commit
3914183add
37 changed files with 187 additions and 101 deletions
  1. 80
    25
      input/projects/3d-printing/fabrikator-mini.md
  2. 63
    64
      input/projects/3d-printing/ikea-lack.md
  3. 19
    11
      input/projects/3d-printing/octoprint.md
  4. 24
    0
      input/projects/3d-printing/octotray.md
  5. 1
    1
      macros.py
  6. BIN
      static/img/fabmin_disp_1.jpg
  7. BIN
      static/img/fabmin_disp_1_small.jpg
  8. BIN
      static/img/fabmin_disp_2.jpg
  9. BIN
      static/img/fabmin_disp_2_small.jpg
  10. BIN
      static/img/fabmin_disp_3.jpg
  11. BIN
      static/img/fabmin_disp_3_small.jpg
  12. BIN
      static/img/fabmin_spool_1.jpg
  13. BIN
      static/img/fabmin_spool_1_small.jpg
  14. BIN
      static/img/fabmin_spool_2.png
  15. BIN
      static/img/fabmin_spool_2_small.png
  16. BIN
      static/img/fabmin_spool_3.jpg
  17. BIN
      static/img/fabmin_spool_3_small.jpg
  18. BIN
      static/img/fabmin_spool_4.jpg
  19. BIN
      static/img/fabmin_spool_4_small.jpg
  20. BIN
      static/img/fabmin_webcam_1.jpg
  21. BIN
      static/img/fabmin_webcam_1_small.jpg
  22. BIN
      static/img/fabmin_yfan_1.jpg
  23. BIN
      static/img/fabmin_yfan_1_small.jpg
  24. BIN
      static/img/fabmin_yfan_2.jpg
  25. BIN
      static/img/fabmin_yfan_2_small.jpg
  26. BIN
      static/img/fabmin_yfan_3.jpg
  27. BIN
      static/img/fabmin_yfan_3_small.jpg
  28. BIN
      static/img/fabmin_yfan_4.jpg
  29. BIN
      static/img/fabmin_yfan_4_small.jpg
  30. BIN
      static/img/fabmin_yfan_5.jpg
  31. BIN
      static/img/fabmin_yfan_5_small.jpg
  32. BIN
      static/img/fabmin_zfan_1.jpg
  33. BIN
      static/img/fabmin_zfan_1_small.jpg
  34. BIN
      static/img/lack-simple-bracket.png
  35. BIN
      static/img/lack-simple-bracket_small.png
  36. BIN
      static/img/octotray_1.png
  37. BIN
      static/img/octotray_1_small.png

+ 80
- 25
input/projects/3d-printing/fabrikator-mini.md View File

22
 
22
 
23
 TODO photos
23
 TODO photos
24
 
24
 
25
-### Power Supply Replacement
25
+## Spool mount
26
+
27
+One of the first problems I ran into was mounting the filament spool.
28
+I found a [ready-made solution on Thingiverse](https://www.thingiverse.com/thing:1057433), which I was using for a while, until I switched to a different brand whose spool did no longer fit.
29
+Because of that, [I designed my own holder](https://www.thingiverse.com/thing:1427890).
30
+
31
+<!--%
32
+lightgallery([
33
+    [ "img/fabmin_spool_1.jpg", "My spool holder" ],
34
+    [ "img/fabmin_spool_2.png", "Design of my spool holder" ],
35
+    [ "img/fabmin_spool_3.jpg", "Spool holder on printer" ],
36
+    [ "img/fabmin_spool_4.jpg", "Original I modeled mine after" ]
37
+])
38
+%-->
39
+
40
+## Feet
41
+
42
+With a heavy filament spool mounted on the backside of the printer, it was no longer standing upright.
43
+Because of that, bigger feet were needed.
44
+Luckily, there was also [something available already](https://www.thingiverse.com/thing:1396469).
45
+I just had to [cut a bit off in OpenSCAD]() to get matching front feet.
46
+
47
+TODO photos
48
+
49
+## Power Supply Replacement
26
 
50
 
27
 I did not really trust the stock power supply and I also needed more power available for further modifications.
51
 I did not really trust the stock power supply and I also needed more power available for further modifications.
28
 So one of the first steps was replacing the power supply.
52
 So one of the first steps was replacing the power supply.
34
 
58
 
35
 TODO photos
59
 TODO photos
36
 
60
 
37
-### Heatbed Replacement
61
+## Heatbed Replacement
38
 
62
 
39
 One of the first problems I ran into were with the printing surface.
63
 One of the first problems I ran into were with the printing surface.
40
 In its stock configuration, the Fabrikator Mini has an acrylic sheet with blue painters masking tape on top as its print surface.
64
 In its stock configuration, the Fabrikator Mini has an acrylic sheet with blue painters masking tape on top as its print surface.
41
 This works, but I was not entirely happy with the adhesion of PLA and the need to frequently replace the tape or even use stuff like glue or hairspray to keep the prints firmly in place.
65
 This works, but I was not entirely happy with the adhesion of PLA and the need to frequently replace the tape or even use stuff like glue or hairspray to keep the prints firmly in place.
42
 So I did a search on eBay, and found a vendor offering replacement aluminum heatbeds specifically for the Fabrikator Mini. They were made `tinyfab.xyz`, they now have their own [webshop listing the heatbed](https://www.tinyfab.xyz/product-page/mini-fabrikator-v1-1-5-alu-heatbed). Unfortunately, it no longer seems to be available.
66
 So I did a search on eBay, and found a vendor offering replacement aluminum heatbeds specifically for the Fabrikator Mini. They were made `tinyfab.xyz`, they now have their own [webshop listing the heatbed](https://www.tinyfab.xyz/product-page/mini-fabrikator-v1-1-5-alu-heatbed). Unfortunately, it no longer seems to be available.
43
-I've also bough a 80mm wide kapton tape roll and have been using this as a print surface on the aluminum heatbed ever since, only replacing it when needed after I damaged it on print removal.
67
+I've also bought a 80mm wide kapton tape roll and have been using this as a print surface on the aluminum heatbed ever since, only replacing it when needed after I damaged it on print removal.
44
 Depending on how you solder the power supply wires to the heatbed, it can either run in a 15W or a 60W configuration.
68
 Depending on how you solder the power supply wires to the heatbed, it can either run in a 15W or a 60W configuration.
45
 I found the 15W setting to be painfully slow in reaching usable temperatures, so I have been using the 60W variant basically from the beginning.
69
 I found the 15W setting to be painfully slow in reaching usable temperatures, so I have been using the 60W variant basically from the beginning.
46
 Of course, as mentioned before, I used a beefier power supply for this that can handle the load. I did not however replace the DC connector on the printer or use a MOSFET or anything special. Both the connector and the (in stock unused) heatbed MOSFET seem to be able to handle the load in my configuration, even for very long prints.
70
 Of course, as mentioned before, I used a beefier power supply for this that can handle the load. I did not however replace the DC connector on the printer or use a MOSFET or anything special. Both the connector and the (in stock unused) heatbed MOSFET seem to be able to handle the load in my configuration, even for very long prints.
48
 
72
 
49
 TODO photos
73
 TODO photos
50
 
74
 
51
-### Mesh Bed Leveling
75
+## Custom Firmware
76
+
77
+Luckily the main board already has a MOSFET for the heated print bed that was unused in the original setup.
78
+But of course, to enable support for the heatbed, I had to compile my own custom Marlin firmware.
79
+This is also recommended for safety reasons, as the chinese manufacturers often leave out the temperature runaway shutoff in their firmware config.
80
+
81
+
82
+
83
+I also wrote [this blog post](2016_03_24_marlin_fabrikator_mini.html) about my Marlin modifications.
84
+
85
+## Mesh Bed Leveling
52
 
86
 
53
 Even though it probably shouldn't be necessary for such a small printbed, I did still have some first layer adhesion issues with the aluminum printbed. Especially one corner seems to be a bit bent. So I enabled Mesh Bed Leveling in my Marlin Firwmare (see below) and also wrote a little [GUI Tool to assist the leveling process](https://git.xythobuz.de/thomas/Bed-Leveling-Utility). It is also on [GitHub](https://github.com/xythobuz/Bed-Leveling-Utility).
87
 Even though it probably shouldn't be necessary for such a small printbed, I did still have some first layer adhesion issues with the aluminum printbed. Especially one corner seems to be a bit bent. So I enabled Mesh Bed Leveling in my Marlin Firwmare (see below) and also wrote a little [GUI Tool to assist the leveling process](https://git.xythobuz.de/thomas/Bed-Leveling-Utility). It is also on [GitHub](https://github.com/xythobuz/Bed-Leveling-Utility).
54
 
88
 
62
 
96
 
63
 And this is really just an example! Do not just copy these values to your printer, they will differ of course.
97
 And this is really just an example! Do not just copy these values to your printer, they will differ of course.
64
 
98
 
65
-### Temperature Issues
99
+## Temperature Issues
66
 
100
 
67
 With all of this added load, and even in its stock configuration, the Fabrikator Mini electronics and stepper motors run very hot.
101
 With all of this added load, and even in its stock configuration, the Fabrikator Mini electronics and stepper motors run very hot.
68
 So hot that I did not feel comfortable leaving it like this.
102
 So hot that I did not feel comfortable leaving it like this.
76
  * [Y-Axis motor fan](https://www.thingiverse.com/thing:1454399)
110
  * [Y-Axis motor fan](https://www.thingiverse.com/thing:1454399)
77
  * [Z-Axis motor fan](https://www.thingiverse.com/thing:1531538)
111
  * [Z-Axis motor fan](https://www.thingiverse.com/thing:1531538)
78
 
112
 
79
-TODO photos
113
+<!--%
114
+lightgallery([
115
+    [ "img/fabmin_yfan_1.jpg", "Y-axis fan" ],
116
+    [ "img/fabmin_yfan_2.jpg", "Y-axis fan" ],
117
+    [ "img/fabmin_yfan_3.jpg", "Y-axis fan" ],
118
+    [ "img/fabmin_yfan_4.jpg", "Y-axis fan" ],
119
+    [ "img/fabmin_yfan_5.jpg", "Y-axis fan" ],
120
+    [ "img/fabmin_zfan_1.jpg", "Z-axis fan" ]
121
+])
122
+%-->
80
 
123
 
81
-### Z-Axis Noise and Wobble
124
+## Z-Axis Noise and Wobble
82
 
125
 
83
 Right from the start I noticed a very painful high-pitched squealing noise coming from the Z-axis whenever it moved.
126
 Right from the start I noticed a very painful high-pitched squealing noise coming from the Z-axis whenever it moved.
84
 Even with lubrication I was not able to resolve this.
127
 Even with lubrication I was not able to resolve this.
90
 
133
 
91
 TODO photo
134
 TODO photo
92
 
135
 
93
-### Part Cooling Fan
136
+## Part Cooling Fan
94
 
137
 
95
 Even though print results were already pretty good, there was still some sagging noticeable on sections with long bridges, and also some stringing issues.
138
 Even though print results were already pretty good, there was still some sagging noticeable on sections with long bridges, and also some stringing issues.
96
 Of course, the only real solution for these issues with PLA is a part cooling fan.
139
 Of course, the only real solution for these issues with PLA is a part cooling fan.
101
 
144
 
102
 TODO wiring hotend heatbed part-fan hotend-fan
145
 TODO wiring hotend heatbed part-fan hotend-fan
103
 
146
 
104
-### Full Graphics Smart LCD
147
+## Full Graphics Smart LCD
105
 
148
 
106
 To be able to properly control the printer and print from the SD Card (before I was using OctoPrint), it is very useful to install some kind of display for status informations and changing settings on-the-fly.
149
 To be able to properly control the printer and print from the SD Card (before I was using OctoPrint), it is very useful to install some kind of display for status informations and changing settings on-the-fly.
107
-One of the most common solutions there is the [Full Graphics Smart Controller](https://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller) that is available as cheap chinese clones easily.
150
+One of the most common solutions out there is the [Full Graphics Smart Controller](https://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller) that is available as cheap chinese clones easily.
108
 As there was no good mounting solution available that could also be printed with the Fabrikator Mini itself, I designed [these small mounting brackets](https://www.thingiverse.com/thing:1441146) to hang the display from the front acrylic plate cutout of the machine.
151
 As there was no good mounting solution available that could also be printed with the Fabrikator Mini itself, I designed [these small mounting brackets](https://www.thingiverse.com/thing:1441146) to hang the display from the front acrylic plate cutout of the machine.
109
 The controller board already has connectors available for the LCD. Just take care that the pinout matches, if I remember correctly I had to switch the connectors around.
152
 The controller board already has connectors available for the LCD. Just take care that the pinout matches, if I remember correctly I had to switch the connectors around.
110
 
153
 
111
-TODO photo
154
+<!--%
155
+lightgallery([
156
+    [ "img/fabmin_disp_1.jpg", "Full Graphics Smart LCD on Fabrikator Mini" ],
157
+    [ "img/fabmin_disp_2.jpg", "Mounting brackets, far view" ],
158
+    [ "img/fabmin_disp_3.jpg", "Mounting brackets, near view" ]
159
+])
160
+%-->
112
 
161
 
113
-### Raspberry Pi Zero
162
+## Raspberry Pi Zero
114
 
163
 
115
 Of course, to really properly utilize a 3D printer, you need OctoPrint!
164
 Of course, to really properly utilize a 3D printer, you need OctoPrint!
116
 This is normally used in conjunction with a Raspberry Pi connected to the printer.
165
 This is normally used in conjunction with a Raspberry Pi connected to the printer.
119
 As it is also printing very slowly, there's really not much load on the Pi itself, and I never had any problems printing from it.
168
 As it is also printing very slowly, there's really not much load on the Pi itself, and I never had any problems printing from it.
120
 I do have to admit however, that the OctoPrint webinterface sometimes takes very long to load with this setup.
169
 I do have to admit however, that the OctoPrint webinterface sometimes takes very long to load with this setup.
121
 But once it's there it works fine.
170
 But once it's there it works fine.
122
-I'm even doing all my slicing for the Fabrikator Mini on the Pi Zero.
171
+I was even doing all my slicing for the Fabrikator Mini on the Pi Zero for a while.
123
 
172
 
124
-TODO describe power supply situation for Pi, with modded USB cable
173
+To power the Pi, I'm using a small 5V step down converter that's connected to the 12V input of the printer.
174
+As the printer board is also connected to 12V and has its own 5V regulator, I decided to cut the +5V rail in the USB cable connecting the printer and the Pi.
175
+This way, the display backlight on my printer, as well as the mainboard, are turned off when the power supply relais is turned off.
176
+With an unmodified cable, the printer LEDs would be lit all the time the Pi is running.
125
 
177
 
126
 TODO photo
178
 TODO photo
127
 
179
 
128
-### Relay Board
180
+## Relay Board
129
 
181
 
130
 To fully utilize OctoPrint, it also needs a way to control the power supply to the printer.
182
 To fully utilize OctoPrint, it also needs a way to control the power supply to the printer.
131
 One popular method to achieve this is an ATX computer power supply.
183
 One popular method to achieve this is an ATX computer power supply.
132
 As I already had my power supply, and because the current of the small Fabrikator Mini is not that huge (and it's not switched under full load), I decided to use a simple two-channel relay board connected to the Pi.
184
 As I already had my power supply, and because the current of the small Fabrikator Mini is not that huge (and it's not switched under full load), I decided to use a simple two-channel relay board connected to the Pi.
133
 
185
 
134
-TODO more text or link to OctoPrint page section?
186
+Some more about controlling power supplies from OctoPrint [can be found on this page about my OctoPrint setups](octoprint.html).
135
 
187
 
136
 TODO photo
188
 TODO photo
137
 
189
 
138
-### Webcam
190
+## Webcam
139
 
191
 
140
 No OctoPrint experience is complete without having a webcam connected to the Raspberry Pi.
192
 No OctoPrint experience is complete without having a webcam connected to the Raspberry Pi.
141
 So I bought the, in my view, standard model for 3D printing needs: the Logitech C270.
193
 So I bought the, in my view, standard model for 3D printing needs: the Logitech C270.
147
  * [Logitech C270 Manual Focus System](https://www.thingiverse.com/thing:3081838)
199
  * [Logitech C270 Manual Focus System](https://www.thingiverse.com/thing:3081838)
148
  * [Fabrikator Mini C270 Webcam Holder](https://www.thingiverse.com/thing:1531522)
200
  * [Fabrikator Mini C270 Webcam Holder](https://www.thingiverse.com/thing:1531522)
149
 
201
 
150
-TODO photos
202
+<!--%
203
+lightgallery([
204
+    [ "img/fabmin_webcam_1.jpg", "My webcam holder" ]
205
+])
206
+%-->
151
 
207
 
152
-### LED-Strip
208
+## LED-Strip
153
 
209
 
154
 Depending on where the printer is located, it can be very hard to see any details of the printing process.
210
 Depending on where the printer is located, it can be very hard to see any details of the printing process.
155
 That's why one of the first modifications I did, long before using OctoPrint, consisted of sticking two pieces of white 12V LED-Strips inside to the backside of the front acrylic plate.
211
 That's why one of the first modifications I did, long before using OctoPrint, consisted of sticking two pieces of white 12V LED-Strips inside to the backside of the front acrylic plate.
157
 Nowadays I'm using the second relay connected to the Raspberry Pi Zero to switch the light on and off independently from the printer itself.
213
 Nowadays I'm using the second relay connected to the Raspberry Pi Zero to switch the light on and off independently from the printer itself.
158
 This is very convenient to turn the lights off when printing overnight.
214
 This is very convenient to turn the lights off when printing overnight.
159
 
215
 
160
-### TODO
216
+## Slicing Profiles
217
+
218
+
219
+
220
+## Print Results Pictures
161
 
221
 
162
-* Firmware
163
-* Feet
164
-* Spool mount
165
-* Slicing Profiles
166
-* Print Results Pictures
167
 
222
 

+ 63
- 64
input/projects/3d-printing/ikea-lack.md View File

8
 
8
 
9
 <span class="listdesc">[...back to 3D-Printing overview](3d-printing.html)</span>
9
 <span class="listdesc">[...back to 3D-Printing overview](3d-printing.html)</span>
10
 
10
 
11
-**More content coming soon!**
11
+As is common in the 3D printing community, I have built myself a tower of Ikea Lack tables to store my printers in.
12
+It has three levels.
13
+I also included some lights to properly see whats going on, as well as a slide-out table for my small printer.
12
 
14
 
13
-### Concrete slab for noise and vibration dampening
15
+## Mounting Hardware
16
+
17
+There are many solutions available, now more than back when I built this.
18
+Nonetheless I decided to design my own simple brackets to mount the feet of one table to the one below it.
19
+
20
+For the middle level of the tower, I added some pieces of wood to make more space, so it can fit my large printer comfortably.
21
+
22
+<!--%
23
+lightgallery([
24
+    [ "img/lack-simple-bracket.png", "Design of my mounting bracket" ]
25
+])
26
+%-->
27
+
28
+My design files for the mounting bracket [can be found on my Gitea server](https://git.xythobuz.de/thomas/3d-print-designs/src/branch/master/ikea-lack).
29
+
30
+## Slide out table
31
+
32
+
33
+
34
+## Filament holder
35
+
36
+
37
+
38
+My design files for the filament holder [can be found on my Gitea server](https://git.xythobuz.de/thomas/3d-print-designs/src/branch/master/ikea-lack).
39
+
40
+## Concrete slab for noise and vibration dampening
14
 
41
 
15
 Unfortunately, because the Ikea Lack tables are very lightweight and also hollow, they tend to amplify the sound coming from the 3D printers on them.
42
 Unfortunately, because the Ikea Lack tables are very lightweight and also hollow, they tend to amplify the sound coming from the 3D printers on them.
16
 But there is an easy solution to this: vibration dampening by increasing the mass.
43
 But there is an easy solution to this: vibration dampening by increasing the mass.
22
 For the surface below the frame, I've used an old cardboard box.
49
 For the surface below the frame, I've used an old cardboard box.
23
 I've "sealed" the surfaces of the cardboard and the wood pieces with clear flex-o-tape, to avoid the water wicking out of the concrete too fast, and to be able to remove the pieces easily later-on.
50
 I've "sealed" the surfaces of the cardboard and the wood pieces with clear flex-o-tape, to avoid the water wicking out of the concrete too fast, and to be able to remove the pieces easily later-on.
24
 
51
 
25
-<div class="lightgallery">
26
-    <a href="img/ikea_lack_concrete_1.jpg">
27
-        <img src="img/ikea_lack_concrete_1_small.jpg" alt="Simple wooden frame">
28
-    </a>
29
-    <a href="img/ikea_lack_concrete_2.jpg">
30
-        <img src="img/ikea_lack_concrete_2_small.jpg" alt="Screwed together in the corners">
31
-    </a>
32
-    <a href="img/ikea_lack_concrete_3.jpg">
33
-        <img src="img/ikea_lack_concrete_3_small.jpg" alt="Added some tape to seal the surface">
34
-    </a>
35
-</div>
52
+<!--%
53
+lightgallery([
54
+    [ "img/ikea_lack_concrete_1.jpg", "Simple wooden frame" ],
55
+    [ "img/ikea_lack_concrete_2.jpg", "Screwed together in the corners" ],
56
+    [ "img/ikea_lack_concrete_3.jpg", "Added some tape to seal the surface" ]
57
+])
58
+%-->
36
 
59
 
37
 Then I've simply hand-mixed about one half of a 35kg bag of cement/sand mixture with 2l of clear tap-water.
60
 Then I've simply hand-mixed about one half of a 35kg bag of cement/sand mixture with 2l of clear tap-water.
38
 The resulting sludge can then be filled into the frame.
61
 The resulting sludge can then be filled into the frame.
41
 
64
 
42
 Also, be careful: avoid contact of the concrete with your skin, it burns after a while!
65
 Also, be careful: avoid contact of the concrete with your skin, it burns after a while!
43
 
66
 
44
-<div class="lightgallery">
45
-    <a href="img/ikea_lack_concrete_4.jpg">
46
-        <img src="img/ikea_lack_concrete_4_small.jpg" alt="Mixing the concrete">
47
-    </a>
48
-    <a href="img/ikea_lack_concrete_5.jpg">
49
-        <img src="img/ikea_lack_concrete_5_small.jpg" alt="Final consistency">
50
-    </a>
51
-    <a href="img/ikea_lack_concrete_6.jpg">
52
-        <img src="img/ikea_lack_concrete_6_small.jpg" alt="Filling the frame">
53
-    </a>
54
-    <a href="img/ikea_lack_concrete_7.jpg">
55
-        <img src="img/ikea_lack_concrete_7_small.jpg" alt="In my first attempt, I just tried to form the surface by hand. It worked, but is not perfect.">
56
-    </a>
57
-    <a href="img/ikea_lack_concrete_8.jpg">
58
-        <img src="img/ikea_lack_concrete_8_small.jpg" alt="Closing it up for 24h">
59
-    </a>
60
-    <a href="img/ikea_lack_concrete_9.jpg">
61
-        <img src="img/ikea_lack_concrete_9_small.jpg" alt="Side-view">
62
-    </a>
63
-</div>
67
+<!--%
68
+lightgallery([
69
+    [ "img/ikea_lack_concrete_4.jpg", "Mixing the concrete" ],
70
+    [ "img/ikea_lack_concrete_5.jpg", "Final consistency" ],
71
+    [ "img/ikea_lack_concrete_6.jpg", "Filling the frame" ],
72
+    [ "img/ikea_lack_concrete_7.jpg", "In my first attempt, I just tried to form the surface by hand. It worked, but is not perfect." ],
73
+    [ "img/ikea_lack_concrete_8.jpg", "Closing it up for 24h" ],
74
+    [ "img/ikea_lack_concrete_9.jpg", "Side-view" ]
75
+])
76
+%-->
64
 
77
 
65
 After about 24h, the frame can already be removed.
78
 After about 24h, the frame can already be removed.
66
 Because of the large surface area and the low volume of our piece, it get's hard quite quickly.
79
 Because of the large surface area and the low volume of our piece, it get's hard quite quickly.
67
 And also, we're not using it for large static loads, so we don't have to wait the full 28-days specified by the manufacturer.
80
 And also, we're not using it for large static loads, so we don't have to wait the full 28-days specified by the manufacturer.
68
 The small parts at the edges where the concrete slightly got under the frame can just be broken off by hand.
81
 The small parts at the edges where the concrete slightly got under the frame can just be broken off by hand.
69
 
82
 
70
-<div class="lightgallery">
71
-    <a href="img/ikea_lack_concrete_10.jpg">
72
-        <img src="img/ikea_lack_concrete_10_small.jpg" alt="After 24h, one side removed">
73
-    </a>
74
-    <a href="img/ikea_lack_concrete_11.jpg">
75
-        <img src="img/ikea_lack_concrete_11_small.jpg" alt="The small parts at the edge can just be broken off easily by hand">
76
-    </a>
77
-    <a href="img/ikea_lack_concrete_12.jpg">
78
-        <img src="img/ikea_lack_concrete_12_small.jpg" alt="Final result, left view">
79
-    </a>
80
-    <a href="img/ikea_lack_concrete_13.jpg">
81
-        <img src="img/ikea_lack_concrete_13_small.jpg" alt="Final result, right view">
82
-    </a>
83
-</div>
83
+<!--%
84
+lightgallery([
85
+    [ "img/ikea_lack_concrete_10.jpg", "After 24h, one side removed" ],
86
+    [ "img/ikea_lack_concrete_11.jpg", "The small parts at the edge can just be broken off easily by hand" ],
87
+    [ "img/ikea_lack_concrete_12.jpg", "Final result, right view" ],
88
+    [ "img/ikea_lack_concrete_13.jpg", "Final result, left view" ]
89
+])
90
+%-->
84
 
91
 
85
 And it works perfectly, the noise of the printer is greatly reduced!
92
 And it works perfectly, the noise of the printer is greatly reduced!
86
 
93
 
87
 Here are some more photos of the second slab I made.
94
 Here are some more photos of the second slab I made.
88
 
95
 
89
-<div class="lightgallery">
90
-    <a href="img/ikea_lack_concrete_v2_1.jpg">
91
-        <img src="img/ikea_lack_concrete_v2_1_small.jpg" alt="">
92
-    </a>
93
-    <a href="img/ikea_lack_concrete_v2_2.jpg">
94
-        <img src="img/ikea_lack_concrete_v2_2_small.jpg" alt="">
95
-    </a>
96
-    <a href="img/ikea_lack_concrete_v2_3.jpg">
97
-        <img src="img/ikea_lack_concrete_v2_3_small.jpg" alt="">
98
-    </a>
99
-    <a href="img/ikea_lack_concrete_v2_4.jpg">
100
-        <img src="img/ikea_lack_concrete_v2_4_small.jpg" alt="">
101
-    </a>
102
-    <a href="img/ikea_lack_concrete_v2_5.jpg">
103
-        <img src="img/ikea_lack_concrete_v2_5_small.jpg" alt="">
104
-    </a>
105
-</div>
96
+<!--%
97
+lightgallery([
98
+    [ "img/ikea_lack_concrete_v2_1.jpg", "Frame, with corners for Lack legs" ],
99
+    [ "img/ikea_lack_concrete_v2_2.jpg", "Mixing the concrete" ],
100
+    [ "img/ikea_lack_concrete_v2_3.jpg", "More hard mixing work" ],
101
+    [ "img/ikea_lack_concrete_v2_4.jpg", "Pouring it out" ],
102
+    [ "img/ikea_lack_concrete_v2_5.jpg", "After vibrating it" ]
103
+])
104
+%-->

+ 19
- 11
input/projects/3d-printing/octoprint.md View File

27
 
27
 
28
 ### Automatically Connect to Printer
28
 ### Automatically Connect to Printer
29
 
29
 
30
-[Bernd Zeimetz has a great writeup on how to auto-connect to the serial port](https://bzed.de/post/2017/11/octoprint_autoconnect_printer/) of your 3D printer. Here is the very brief version of it:
30
+[Bernd Zeimetz has a great writeup on how to auto-connect to the serial port](https://bzed.de/post/2017/11/octoprint_autoconnect_printer/) of your 3D printer.
31
+Here is the brief version of it, slightly modified to work with current OctoPrint versions.
31
 
32
 
32
 Create the script `/home/pi/connect_octoprint.py` with the following contents:
33
 Create the script `/home/pi/connect_octoprint.py` with the following contents:
33
 
34
 
34
 <pre class="sh_python">
35
 <pre class="sh_python">
35
-#!/home/pi/OctoPrint/venv/bin/python
36
+#!/home/pi/oprint/bin/python2
36
 
37
 
37
 OCTOPRINT_URL = 'http://localhost:5000/api/connection'
38
 OCTOPRINT_URL = 'http://localhost:5000/api/connection'
38
-API_KEY = 'AAABBB000YOURAPIKEYHERE000BBBAAA'
39
+API_KEY = 'YOUR_API_KEY_HERE'
39
 BAUDRATE = 115200
40
 BAUDRATE = 115200
40
 
41
 
41
 import requests
42
 import requests
44
 port = sys.argv[1]
45
 port = sys.argv[1]
45
 headers = {'X-Api-Key': API_KEY}
46
 headers = {'X-Api-Key': API_KEY}
46
 json = {
47
 json = {
47
-  "command": "connect",
48
-  "port": port,
49
-  "baudrate": BAUDRATE,
48
+    "command": "connect",
49
+    "port": port,
50
+    "baudrate": BAUDRATE,
50
 }
51
 }
51
 
52
 
52
 r = requests.post(
53
 r = requests.post(
53
-        OCTOPRINT_URL,
54
-        json=json,
55
-        headers=headers
54
+    OCTOPRINT_URL,
55
+    json=json,
56
+    headers=headers
56
 )
57
 )
57
 
58
 
58
 if (r.status_code == 204):
59
 if (r.status_code == 204):
64
 
65
 
65
 Make sure to replace the API Key from your OctoPrint user settings page.
66
 Make sure to replace the API Key from your OctoPrint user settings page.
66
 Also change the baudrate if needed.
67
 Also change the baudrate if needed.
68
+Don't forget to make the script executable with `chmod a+x connect_octoprint.py`!
67
 
69
 
68
 Now create the file `/etc/systemd/system/octoprint_connect@.service` with the following contents:
70
 Now create the file `/etc/systemd/system/octoprint_connect@.service` with the following contents:
69
 
71
 
87
 Find out the USB Vendor and Product ID of the 3D printer serial port:
89
 Find out the USB Vendor and Product ID of the 3D printer serial port:
88
 
90
 
89
 <pre class="sh_sh">
91
 <pre class="sh_sh">
90
-lsusb -v | grep -iE ‘(^bus|idvendor|idproduct)’
92
+lsusb -v | grep -iE '(^bus|idvendor|idproduct)'
91
 </pre>
93
 </pre>
92
 
94
 
93
 Then create the file `/etc/udev/rules.d/3dprinter.rules` and modify its contents with the IDs you got from the previous step:
95
 Then create the file `/etc/udev/rules.d/3dprinter.rules` and modify its contents with the IDs you got from the previous step:
95
     KERNEL=="tty*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", \
97
     KERNEL=="tty*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", \
96
         TAG+="systemd", ENV{SYSTEMD_WANTS}="octoprint_connect@%k.service"
98
         TAG+="systemd", ENV{SYSTEMD_WANTS}="octoprint_connect@%k.service"
97
 
99
 
98
-That should be it. If it doesn't work, there's some debugging hints in the article linked above.
100
+That should be it.
101
+If it doesn't work, there's some debugging hints in the article linked above, like:
102
+
103
+<pre class="sh_sh">
104
+systemctl list-units 'octoprint_connect*'
105
+journalctl -u octoprint_connect@ttyUSB0.service
106
+</pre>
99
 
107
 
100
 ### Physical Power Button
108
 ### Physical Power Button
101
 
109
 

+ 24
- 0
input/projects/3d-printing/octotray.md View File

1
+title: OctoTray
2
+description: Linux PyQt tray application to control OctoPrint
3
+parent: 3d-printing
4
+position: 35
5
+comments: true
6
+github: https://git.xythobuz.de/thomas/OctoTray
7
+date: 2021-05-08
8
+---
9
+
10
+<span class="listdesc">[...back to 3D-Printing overview](3d-printing.html)</span>
11
+
12
+To quickly print new stuff on one of my printers, I am using the OctoPrint integration of PrusaSlicer.
13
+Unfortunately, it does not allow me to turn on the printers power supply using the Raspberry Pi.
14
+But it is possible to do that via the OctoPrint REST API.
15
+Because of that, I wrote a small tool to trigger the power of my printers that lives in the system tray.
16
+It runs on Linux using the Python Qt5 bindings.
17
+
18
+<!--%
19
+lightgallery([
20
+    [ "img/octotray_1.png", "Screenshot of first OctoTray version" ]
21
+])
22
+%-->
23
+
24
+You can find the project [on my Gitea server](https://git.xythobuz.de/thomas/OctoTray) or on [GitHub](https://github.com/xythobuz/OctoTray).

+ 1
- 1
macros.py View File

232
     items = "".join(items)
232
     items = "".join(items)
233
 
233
 
234
     title = "xythobuz.de Blog"
234
     title = "xythobuz.de Blog"
235
-    link = "%s/blog.html" % BASE_URL
235
+    link = "%s" % BASE_URL
236
     feed = "%s/rss.xml" % BASE_URL
236
     feed = "%s/rss.xml" % BASE_URL
237
     desc = htmlspecialchars("xythobuz Electronics & Software Projects")
237
     desc = htmlspecialchars("xythobuz Electronics & Software Projects")
238
     date = email.utils.formatdate()
238
     date = email.utils.formatdate()

BIN
static/img/fabmin_disp_1.jpg View File


BIN
static/img/fabmin_disp_1_small.jpg View File


BIN
static/img/fabmin_disp_2.jpg View File


BIN
static/img/fabmin_disp_2_small.jpg View File


BIN
static/img/fabmin_disp_3.jpg View File


BIN
static/img/fabmin_disp_3_small.jpg View File


BIN
static/img/fabmin_spool_1.jpg View File


BIN
static/img/fabmin_spool_1_small.jpg View File


BIN
static/img/fabmin_spool_2.png View File


BIN
static/img/fabmin_spool_2_small.png View File


BIN
static/img/fabmin_spool_3.jpg View File


BIN
static/img/fabmin_spool_3_small.jpg View File


BIN
static/img/fabmin_spool_4.jpg View File


BIN
static/img/fabmin_spool_4_small.jpg View File


BIN
static/img/fabmin_webcam_1.jpg View File


BIN
static/img/fabmin_webcam_1_small.jpg View File


BIN
static/img/fabmin_yfan_1.jpg View File


BIN
static/img/fabmin_yfan_1_small.jpg View File


BIN
static/img/fabmin_yfan_2.jpg View File


BIN
static/img/fabmin_yfan_2_small.jpg View File


BIN
static/img/fabmin_yfan_3.jpg View File


BIN
static/img/fabmin_yfan_3_small.jpg View File


BIN
static/img/fabmin_yfan_4.jpg View File


BIN
static/img/fabmin_yfan_4_small.jpg View File


BIN
static/img/fabmin_yfan_5.jpg View File


BIN
static/img/fabmin_yfan_5_small.jpg View File


BIN
static/img/fabmin_zfan_1.jpg View File


BIN
static/img/fabmin_zfan_1_small.jpg View File


BIN
static/img/lack-simple-bracket.png View File


BIN
static/img/lack-simple-bracket_small.png View File


BIN
static/img/octotray_1.png View File


BIN
static/img/octotray_1_small.png View File


Loading…
Cancel
Save