<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Garage on Backend Engineering Strategy Tools</title><link>https://backend-engineering-strategy-tools.github.io/site/garage/</link><description>Recent content in Garage on Backend Engineering Strategy Tools</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Wed, 03 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://backend-engineering-strategy-tools.github.io/site/garage/index.xml" rel="self" type="application/rss+xml"/><item><title>Optics — Can We Print a Lens?</title><link>https://backend-engineering-strategy-tools.github.io/site/garage/optics-lens/</link><pubDate>Wed, 03 Jun 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/garage/optics-lens/</guid><description>&lt;p&gt;The question: can a 3D printed part function as a lens? Not a perfect optical instrument — but something that focuses or diffuses light usefully.&lt;/p&gt;
&lt;p&gt;A Fresnel lens is the natural starting point. Instead of a thick curved lens, a Fresnel collapses the profile into a flat plate with concentric stepped rings — each ring approximating the angle of the equivalent curved surface. Much thinner, printable in flat layers.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="step-1--print-and-test"&gt;Step 1 — Print and test
&lt;/h2&gt;&lt;p&gt;Two approaches to try:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;FDM — clear PLA&lt;/strong&gt;
Printed on the Kobra X. Surface finish from FDM is rough at the layer scale — likely too much scatter for a clean focus, but worth seeing what you actually get.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Resin — clear resins&lt;/strong&gt;
Better surface resolution and the material can be optically transparent after curing and polishing. More promising. Several clear resins ordered for this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ABS-Like 2.0 Clear — structural, less brittle&lt;/li&gt;
&lt;li&gt;Standard Clear — higher detail&lt;/li&gt;
&lt;li&gt;High Clear / Transparent resin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/garage/3d-printing/" &gt;3D Printing&lt;/a&gt; for the full resin inventory.&lt;/p&gt;
&lt;p&gt;Not started. Print attempts and results to follow.&lt;/p&gt;
&lt;hr&gt;</description></item><item><title>Building the Foundry</title><link>https://backend-engineering-strategy-tools.github.io/site/garage/foundry/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/garage/foundry/</guid><description>&lt;p&gt;Started with tin — a small camping burner and a steel ladle was enough. Then the obvious question came up: could we melt the aluminium cans now?&lt;/p&gt;
&lt;p&gt;Aluminium needs higher temperatures than tin, and the gap matters:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Metal&lt;/th&gt;
 &lt;th&gt;Melting point&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Tin&lt;/td&gt;
 &lt;td&gt;232°C&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Zinc&lt;/td&gt;
 &lt;td&gt;420°C&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Aluminium&lt;/td&gt;
 &lt;td&gt;660°C&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Brass&lt;/td&gt;
 &lt;td&gt;~900°C&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Copper&lt;/td&gt;
 &lt;td&gt;1085°C&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Cast iron&lt;/td&gt;
 &lt;td&gt;~1200°C&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Steel&lt;/td&gt;
 &lt;td&gt;~1370°C&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;We looked at buying a small foundry online, decided it would be more fun to build one. My son and I built it.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="the-build"&gt;The Build
&lt;/h2&gt;&lt;p&gt;Sand and gypsum cast inside a metal rubbish bin, steel mesh for reinforcement. Used an old fire extinguisher as the form for the central cavity. Added a pipe for the air inlet and a hair dryer to force air through — charcoal from the grill as fuel.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://backend-engineering-strategy-tools.github.io/site/images/foundery.png"
 alt="The foundry."&gt;&lt;figcaption&gt;
 &lt;p&gt;The foundry.&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;The hair dryer died on the first serious session. First upgrade: a proper fan from Biltema.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="what-weve-melted"&gt;What We&amp;rsquo;ve Melted
&lt;/h2&gt;&lt;p&gt;Once the foundry was running we tried everything we could get hold of. Also picked up some wax for eventual lost-wax casting experiments.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Material&lt;/th&gt;
 &lt;th&gt;Source&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Tin&lt;/td&gt;
 &lt;td&gt;Second-hand shop finds&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Aluminium&lt;/td&gt;
 &lt;td&gt;Cans + scrap&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Brass&lt;/td&gt;
 &lt;td&gt;Scrap&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Copper&lt;/td&gt;
 &lt;td&gt;Scrap&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Wax&lt;/td&gt;
 &lt;td&gt;Candles&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Photos to follow.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;We bought some tooling online — tongs, crucible, mould for casting bars.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://backend-engineering-strategy-tools.github.io/site/images/tools.jpeg"
 alt="Tongs, crucible, and bar moulds."&gt;&lt;figcaption&gt;
 &lt;p&gt;Tongs, crucible, and bar moulds.&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;And ofc safety kit on every session: heat-resistant gloves, safety glasses, face mask (steam explosions from moisture in moulds are real), fire extinguisher within reach, and distance from anything hot.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="stock--bars-cast"&gt;Stock — Bars Cast
&lt;/h2&gt;&lt;p&gt;Melted-down material poured into bar moulds for later use.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Material&lt;/th&gt;
 &lt;th&gt;Stock&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Tin&lt;/td&gt;
 &lt;td&gt;1047g&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Aluminium&lt;/td&gt;
 &lt;td&gt;1398g&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Brass&lt;/td&gt;
 &lt;td&gt;200g&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Copper&lt;/td&gt;
 &lt;td&gt;2310g&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Wax&lt;/td&gt;
 &lt;td&gt;1730g&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;figure&gt;&lt;img src="https://backend-engineering-strategy-tools.github.io/site/images/bars.jpeg"
 alt="Cast bars ready for future use."&gt;&lt;figcaption&gt;
 &lt;p&gt;Cast bars ready for future use.&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;hr&gt;
&lt;h2 id="moulding-methods"&gt;Moulding Methods
&lt;/h2&gt;&lt;p&gt;Different methods suit different metals, temperatures, and detail levels.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Silicon mould&lt;/strong&gt; — works well for tin and other low-temperature metals. Quick to demould, picks up good detail. Proven success with the &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/garage/casting-badges/" &gt;scout badges&lt;/a&gt;. Not suitable for aluminium temperatures.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Gypsum mould&lt;/strong&gt; — tried with tin, not great. Must be completely bone-dry before the pour or moisture turns to steam instantly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Green sand&lt;/strong&gt; — mixture of sand and a binder that holds a mould impression. Tried making it from cat litter as the binder. Goes into a flask — we made one from wood. More experiments needed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Red sand / oil sand&lt;/strong&gt; — similar principle to green sand but oil-bound. Don&amp;rsquo;t have any yet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lost-wax casting&lt;/strong&gt; — make a wax model, invest it in plaster, burn out the wax, pour metal into the void. Haven&amp;rsquo;t tried it yet. I have melted some candle stumps for the wax stock, will try and go from there.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Next&lt;/strong&gt;: &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/garage/casting-badges/" &gt;Casting Part 1 — Scout Badges&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Casting Part 1 — Scout Badges</title><link>https://backend-engineering-strategy-tools.github.io/site/garage/casting-badges/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/garage/casting-badges/</guid><description>&lt;p&gt;When I was a kid and scout we cast the scout emblem in tin — naturally we had to do this again with my own troop.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m lucky to have a fellow scout leader who does casting professionally. I modelled the master in resin and he made the silicon moulds from it.&lt;/p&gt;
&lt;p&gt;For the tin, I went to second-hand shops and gathered everything tin I could find to melt down. Ordered crucibles and pliers online. We melted the tin by putting the crucible in the fire, then the kids could do the pour into the mould, demould, and finish.&lt;/p&gt;
&lt;p&gt;First real casting project — a success.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="master"&gt;Master
&lt;/h2&gt;&lt;p&gt;Modeled in Blender, printed in resin as the master for the silicon mould.&lt;/p&gt;




&lt;div class="sc-carousel" id="carousel-0"&gt;
 &lt;div class="sc-track"&gt;
 
 &lt;div class="sc-slide"&gt;
 &lt;img src="https://backend-engineering-strategy-tools.github.io/site/code/mesh/scout_emblem/renders/model_back.png" loading="eager" alt="/code/mesh/scout_emblem/renders/model_back.png"&gt;
 &lt;/div&gt;
 
 &lt;div class="sc-slide"&gt;
 &lt;img src="https://backend-engineering-strategy-tools.github.io/site/code/mesh/scout_emblem/renders/model_front.png" loading="lazy" alt="/code/mesh/scout_emblem/renders/model_front.png"&gt;
 &lt;/div&gt;
 
 &lt;div class="sc-slide"&gt;
 &lt;img src="https://backend-engineering-strategy-tools.github.io/site/code/mesh/scout_emblem/renders/model_iso.png" loading="lazy" alt="/code/mesh/scout_emblem/renders/model_iso.png"&gt;
 &lt;/div&gt;
 
 &lt;div class="sc-slide"&gt;
 &lt;img src="https://backend-engineering-strategy-tools.github.io/site/code/mesh/scout_emblem/renders/model_side.png" loading="lazy" alt="/code/mesh/scout_emblem/renders/model_side.png"&gt;
 &lt;/div&gt;
 
 &lt;div class="sc-slide"&gt;
 &lt;img src="https://backend-engineering-strategy-tools.github.io/site/code/mesh/scout_emblem/renders/model_top.png" loading="lazy" alt="/code/mesh/scout_emblem/renders/model_top.png"&gt;
 &lt;/div&gt;
 
 &lt;/div&gt;
 
 &lt;button class="sc-btn sc-prev" aria-label="Previous"&gt;&amp;#8249;&lt;/button&gt;
 &lt;button class="sc-btn sc-next" aria-label="Next"&gt;&amp;#8250;&lt;/button&gt;
 &lt;div class="sc-dots"&gt;
 
 &lt;span class="sc-dot active"&gt;&lt;/span&gt;
 
 &lt;span class="sc-dot"&gt;&lt;/span&gt;
 
 &lt;span class="sc-dot"&gt;&lt;/span&gt;
 
 &lt;span class="sc-dot"&gt;&lt;/span&gt;
 
 &lt;span class="sc-dot"&gt;&lt;/span&gt;
 
 &lt;/div&gt;
 
&lt;/div&gt;

&lt;style&gt;
.sc-carousel{position:relative;overflow:hidden;background:#0d0d0d;border-radius:8px;margin:1.5rem 0;user-select:none}
.sc-track{display:flex;transition:transform .4s ease}
.sc-slide{min-width:100%;display:flex;align-items:center;justify-content:center}
.sc-slide img{max-width:100%;max-height:560px;object-fit:contain}
.sc-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.55);color:#fff;border:none;font-size:2.4rem;line-height:1;padding:.05rem .65rem .15rem;cursor:pointer;border-radius:4px;z-index:10;transition:background .2s}
.sc-btn:hover{background:rgba(0,0,0,.85)}
.sc-prev{left:.5rem}.sc-next{right:.5rem}
.sc-dots{position:absolute;bottom:.65rem;left:0;right:0;display:flex;justify-content:center;gap:6px}
.sc-dot{width:8px;height:8px;background:rgba(255,255,255,.35);border-radius:50%;cursor:pointer;transition:background .2s}
.sc-dot.active{background:#fff}
&lt;/style&gt;

&lt;script&gt;
(function(){
 var root=document.getElementById('carousel-0');
 if(!root)return;
 var track=root.querySelector('.sc-track');
 var slides=root.querySelectorAll('.sc-slide');
 var dots=root.querySelectorAll('.sc-dot');
 var cur=0,timer;
 function go(n){
 if(dots[cur])dots[cur].classList.remove('active');
 cur=((n%slides.length)+slides.length)%slides.length;
 if(dots[cur])dots[cur].classList.add('active');
 track.style.transform='translateX(-'+cur*100+'%)';
 }
 var prev=root.querySelector('.sc-prev');
 var next=root.querySelector('.sc-next');
 if(prev)prev.addEventListener('click',function(){clearInterval(timer);go(cur-1);start()});
 if(next)next.addEventListener('click',function(){clearInterval(timer);go(cur+1);start()});
 dots.forEach(function(d,i){d.addEventListener('click',function(){clearInterval(timer);go(i);start()})});
 function start(){timer=setInterval(function(){go(cur+1)},"2800");}
 start();
})();
&lt;/script&gt;

&lt;p&gt;


&lt;a href="https://backend-engineering-strategy-tools.github.io/site/code/mesh/scout_emblem/scout_emblem.blend" download class="dl-link"&gt;
 &lt;span class="dl-icon"&gt;↓&lt;/span&gt;scout_emblem.blend
&lt;/a&gt;

&lt;style&gt;
.dl-link{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border:1px solid currentColor;border-radius:4px;font-family:monospace;font-size:.875rem;text-decoration:none;opacity:.85;transition:opacity .15s}
.dl-link:hover{opacity:1;text-decoration:none}
.dl-icon{font-size:1rem;line-height:1}
&lt;/style&gt;




&lt;a href="https://backend-engineering-strategy-tools.github.io/site/code/mesh/scout_emblem/scout_emblem.stl" download class="dl-link"&gt;
 &lt;span class="dl-icon"&gt;↓&lt;/span&gt;scout_emblem.stl
&lt;/a&gt;

&lt;style&gt;
.dl-link{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border:1px solid currentColor;border-radius:4px;font-family:monospace;font-size:.875rem;text-decoration:none;opacity:.85;transition:opacity .15s}
.dl-link:hover{opacity:1;text-decoration:none}
.dl-icon{font-size:1rem;line-height:1}
&lt;/style&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="moulds"&gt;Moulds
&lt;/h2&gt;&lt;p&gt;Silicon moulds made by my fellow scout leader from the resin master.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://backend-engineering-strategy-tools.github.io/site/images/silicon_mould.jpeg"
 alt="Silicon moulds made from the resin master."&gt;&lt;figcaption&gt;
 &lt;p&gt;Silicon moulds made from the resin master.&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;hr&gt;
&lt;h2 id="the-pour"&gt;The Pour
&lt;/h2&gt;&lt;p&gt;We set up a practice station first — gloves, face masks, and pouring water into a PET bottle before anyone touched real tin. Once they had the motion down, they moved to the actual pour.&lt;/p&gt;
&lt;p&gt;Done in small groups: two leaders, two kids at a time. Went smoothly.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="result"&gt;Result
&lt;/h2&gt;&lt;figure&gt;&lt;img src="https://backend-engineering-strategy-tools.github.io/site/images/scout_emblem.jpeg"
 alt="Finished tin scout badges."&gt;&lt;figcaption&gt;
 &lt;p&gt;Finished tin scout badges.&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;See also&lt;/strong&gt;: &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/garage/foundry/" &gt;Building the Foundry&lt;/a&gt; | &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/garage/casting-buckle/" &gt;Casting Part 2 — Belt Buckle&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Casting Part 2 — Belt Buckle</title><link>https://backend-engineering-strategy-tools.github.io/site/garage/casting-buckle/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/garage/casting-buckle/</guid><description>&lt;p&gt;Aluminium casting of a scout belt buckle. The buckle geometry was reverse-engineered and built parametrically in Blender Python — see &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/garage/scout-buckle/" &gt;Scout Buckle — Parametric Design&lt;/a&gt; for that side of the project. This page covers the casting execution.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="from-model-to-mould"&gt;From Model to Mould
&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Notes to follow — taking the parametric model into a casting-ready form. Draft angles, wall thickness, sprue placement.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="the-pour"&gt;The Pour
&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Notes to follow — aluminium, setup, result.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="status"&gt;Status
&lt;/h2&gt;&lt;p&gt;Work in progress.&lt;/p&gt;
&lt;p&gt;The original — a scout belt buckle picked up at a visit to the &lt;a class="link" href="https://scoutmuseetgbg.scout.se/" target="_blank" rel="noopener"
 &gt;Scout Museum in Gothenburg&lt;/a&gt;, the model we are reproducing.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://backend-engineering-strategy-tools.github.io/site/images/scout-buckle.jpeg"
 alt="Original scout belt buckle from the museum visit."&gt;&lt;figcaption&gt;
 &lt;p&gt;Original scout belt buckle from the museum visit.&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;&lt;img src="https://backend-engineering-strategy-tools.github.io/site/images/alu.jpeg"
 alt="A fellow scout leader kindly donated a few used fire extinguishers — more than enough aluminium for this project once melted down."&gt;&lt;figcaption&gt;
 &lt;p&gt;A fellow scout leader kindly donated a few used fire extinguishers — more than enough aluminium for this project once melted down.&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;See also&lt;/strong&gt;: &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/garage/scout-buckle/" &gt;Scout Buckle — Parametric Design&lt;/a&gt; | &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/garage/foundry/" &gt;Building the Foundry&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Resin Badges — Packat &amp; Klart</title><link>https://backend-engineering-strategy-tools.github.io/site/garage/scout-badges-resin/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/garage/scout-badges-resin/</guid><description>&lt;p&gt;Resin-printed &amp;lsquo;packat &amp;amp; klart&amp;rsquo; badges for the scouts heading out on their first overnight trip, i.e. &amp;lsquo;Hajk&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;We had a meeting where we went through what one should bring, then ran a competition where the kids got points for guessing what was in the pack I brought along. They got a badge if they did well — they all passed. Success.&lt;/p&gt;
&lt;p&gt;First attempt at producing physical scout items rather than sourcing them.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="the-badge"&gt;The Badge
&lt;/h2&gt;&lt;p&gt;Modeled in Blender, exported to STL, printed in resin.&lt;/p&gt;




&lt;div class="sc-carousel" id="carousel-0"&gt;
 &lt;div class="sc-track"&gt;
 
 &lt;div class="sc-slide"&gt;
 &lt;img src="https://backend-engineering-strategy-tools.github.io/site/code/mesh/packat_klart/renders/model_back.png" loading="eager" alt="/code/mesh/packat_klart/renders/model_back.png"&gt;
 &lt;/div&gt;
 
 &lt;div class="sc-slide"&gt;
 &lt;img src="https://backend-engineering-strategy-tools.github.io/site/code/mesh/packat_klart/renders/model_front.png" loading="lazy" alt="/code/mesh/packat_klart/renders/model_front.png"&gt;
 &lt;/div&gt;
 
 &lt;div class="sc-slide"&gt;
 &lt;img src="https://backend-engineering-strategy-tools.github.io/site/code/mesh/packat_klart/renders/model_iso.png" loading="lazy" alt="/code/mesh/packat_klart/renders/model_iso.png"&gt;
 &lt;/div&gt;
 
 &lt;div class="sc-slide"&gt;
 &lt;img src="https://backend-engineering-strategy-tools.github.io/site/code/mesh/packat_klart/renders/model_side.png" loading="lazy" alt="/code/mesh/packat_klart/renders/model_side.png"&gt;
 &lt;/div&gt;
 
 &lt;div class="sc-slide"&gt;
 &lt;img src="https://backend-engineering-strategy-tools.github.io/site/code/mesh/packat_klart/renders/model_top.png" loading="lazy" alt="/code/mesh/packat_klart/renders/model_top.png"&gt;
 &lt;/div&gt;
 
 &lt;/div&gt;
 
 &lt;button class="sc-btn sc-prev" aria-label="Previous"&gt;&amp;#8249;&lt;/button&gt;
 &lt;button class="sc-btn sc-next" aria-label="Next"&gt;&amp;#8250;&lt;/button&gt;
 &lt;div class="sc-dots"&gt;
 
 &lt;span class="sc-dot active"&gt;&lt;/span&gt;
 
 &lt;span class="sc-dot"&gt;&lt;/span&gt;
 
 &lt;span class="sc-dot"&gt;&lt;/span&gt;
 
 &lt;span class="sc-dot"&gt;&lt;/span&gt;
 
 &lt;span class="sc-dot"&gt;&lt;/span&gt;
 
 &lt;/div&gt;
 
&lt;/div&gt;

&lt;style&gt;
.sc-carousel{position:relative;overflow:hidden;background:#0d0d0d;border-radius:8px;margin:1.5rem 0;user-select:none}
.sc-track{display:flex;transition:transform .4s ease}
.sc-slide{min-width:100%;display:flex;align-items:center;justify-content:center}
.sc-slide img{max-width:100%;max-height:560px;object-fit:contain}
.sc-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.55);color:#fff;border:none;font-size:2.4rem;line-height:1;padding:.05rem .65rem .15rem;cursor:pointer;border-radius:4px;z-index:10;transition:background .2s}
.sc-btn:hover{background:rgba(0,0,0,.85)}
.sc-prev{left:.5rem}.sc-next{right:.5rem}
.sc-dots{position:absolute;bottom:.65rem;left:0;right:0;display:flex;justify-content:center;gap:6px}
.sc-dot{width:8px;height:8px;background:rgba(255,255,255,.35);border-radius:50%;cursor:pointer;transition:background .2s}
.sc-dot.active{background:#fff}
&lt;/style&gt;

&lt;script&gt;
(function(){
 var root=document.getElementById('carousel-0');
 if(!root)return;
 var track=root.querySelector('.sc-track');
 var slides=root.querySelectorAll('.sc-slide');
 var dots=root.querySelectorAll('.sc-dot');
 var cur=0,timer;
 function go(n){
 if(dots[cur])dots[cur].classList.remove('active');
 cur=((n%slides.length)+slides.length)%slides.length;
 if(dots[cur])dots[cur].classList.add('active');
 track.style.transform='translateX(-'+cur*100+'%)';
 }
 var prev=root.querySelector('.sc-prev');
 var next=root.querySelector('.sc-next');
 if(prev)prev.addEventListener('click',function(){clearInterval(timer);go(cur-1);start()});
 if(next)next.addEventListener('click',function(){clearInterval(timer);go(cur+1);start()});
 dots.forEach(function(d,i){d.addEventListener('click',function(){clearInterval(timer);go(i);start()})});
 function start(){timer=setInterval(function(){go(cur+1)},"2800");}
 start();
})();
&lt;/script&gt;

&lt;p&gt;


&lt;a href="https://backend-engineering-strategy-tools.github.io/site/code/mesh/packat_klart/packat_klart.blend" download class="dl-link"&gt;
 &lt;span class="dl-icon"&gt;↓&lt;/span&gt;packat_klart.blend
&lt;/a&gt;

&lt;style&gt;
.dl-link{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border:1px solid currentColor;border-radius:4px;font-family:monospace;font-size:.875rem;text-decoration:none;opacity:.85;transition:opacity .15s}
.dl-link:hover{opacity:1;text-decoration:none}
.dl-icon{font-size:1rem;line-height:1}
&lt;/style&gt;




&lt;a href="https://backend-engineering-strategy-tools.github.io/site/code/mesh/packat_klart/packat_och_klart.stl" download class="dl-link"&gt;
 &lt;span class="dl-icon"&gt;↓&lt;/span&gt;packat_och_klart.stl
&lt;/a&gt;

&lt;style&gt;
.dl-link{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border:1px solid currentColor;border-radius:4px;font-family:monospace;font-size:.875rem;text-decoration:none;opacity:.85;transition:opacity .15s}
.dl-link:hover{opacity:1;text-decoration:none}
.dl-icon{font-size:1rem;line-height:1}
&lt;/style&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="print"&gt;Print
&lt;/h2&gt;&lt;p&gt;Printed on the &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/garage/3d-printing/" &gt;Anycubic Photon Mono 2&lt;/a&gt; in Craftsman resin for the extra detail. In hindsight standard resin would have been fine at this size.&lt;/p&gt;
&lt;hr&gt;</description></item><item><title>Scout Buckle Clone — Parametric for Casting</title><link>https://backend-engineering-strategy-tools.github.io/site/garage/scout-buckle/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/garage/scout-buckle/</guid><description>&lt;p&gt;Clone of a Scout buckle — built in Blender Python for casting rather than FDM printing. The goal is a dimensionally accurate reproduction suitable for resin or lost-wax casting.&lt;/p&gt;
&lt;p&gt;What makes this different from the rack brace: the buckle geometry is not a simple boolean grid. It has compound curves, a tongue mechanism, and tolerances that matter for function. One-shotting it in Python is harder — the script has gone through multiple partial rebuilds rather than a single config-block iteration.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="scripts"&gt;Scripts
&lt;/h2&gt;&lt;p&gt;


&lt;a href="https://backend-engineering-strategy-tools.github.io/site/code/procedural-mesh/buckle/buckle_v1.py" download class="dl-link"&gt;
 &lt;span class="dl-icon"&gt;↓&lt;/span&gt;buckle_v1.py
&lt;/a&gt;

&lt;style&gt;
.dl-link{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border:1px solid currentColor;border-radius:4px;font-family:monospace;font-size:.875rem;text-decoration:none;opacity:.85;transition:opacity .15s}
.dl-link:hover{opacity:1;text-decoration:none}
.dl-icon{font-size:1rem;line-height:1}
&lt;/style&gt;




&lt;a href="https://backend-engineering-strategy-tools.github.io/site/code/procedural-mesh/buckle/buckle_part1.py" download class="dl-link"&gt;
 &lt;span class="dl-icon"&gt;↓&lt;/span&gt;buckle_part1.py
&lt;/a&gt;

&lt;style&gt;
.dl-link{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border:1px solid currentColor;border-radius:4px;font-family:monospace;font-size:.875rem;text-decoration:none;opacity:.85;transition:opacity .15s}
.dl-link:hover{opacity:1;text-decoration:none}
.dl-icon{font-size:1rem;line-height:1}
&lt;/style&gt;




&lt;a href="https://backend-engineering-strategy-tools.github.io/site/code/procedural-mesh/buckle/buckle_part2_v1.py" download class="dl-link"&gt;
 &lt;span class="dl-icon"&gt;↓&lt;/span&gt;buckle_part2_v1.py
&lt;/a&gt;

&lt;style&gt;
.dl-link{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border:1px solid currentColor;border-radius:4px;font-family:monospace;font-size:.875rem;text-decoration:none;opacity:.85;transition:opacity .15s}
.dl-link:hover{opacity:1;text-decoration:none}
.dl-icon{font-size:1rem;line-height:1}
&lt;/style&gt;




&lt;a href="https://backend-engineering-strategy-tools.github.io/site/code/procedural-mesh/buckle/buckle_part2_v2.py" download class="dl-link"&gt;
 &lt;span class="dl-icon"&gt;↓&lt;/span&gt;buckle_part2_v2.py
&lt;/a&gt;

&lt;style&gt;
.dl-link{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border:1px solid currentColor;border-radius:4px;font-family:monospace;font-size:.875rem;text-decoration:none;opacity:.85;transition:opacity .15s}
.dl-link:hover{opacity:1;text-decoration:none}
.dl-icon{font-size:1rem;line-height:1}
&lt;/style&gt;
&lt;/p&gt;
&lt;p&gt;The split into &lt;code&gt;part1&lt;/code&gt; / &lt;code&gt;part2&lt;/code&gt; reflects the geometry breakdown — building the frame and the tongue separately before joining, which turned out to be easier to iterate on than a single monolithic script.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="what-the-iteration-looks-like"&gt;What the iteration looks like
&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Notes to follow.&lt;/em&gt; The short version: parametric geometry that has functional constraints (a tongue that must seat and release under load) fights back more than decorative geometry. Changing one dimension propagates into several others in ways that aren&amp;rsquo;t obvious from a config block alone.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="casting-considerations"&gt;Casting considerations
&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Notes to follow.&lt;/em&gt; Draft angles, wall thickness minimums, and sprue placement are constraints that don&amp;rsquo;t exist in FDM — the script needs to know about them.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="status"&gt;Status
&lt;/h2&gt;&lt;p&gt;Work in progress. Geometry is close; casting prep not started.&lt;/p&gt;
&lt;p&gt;See also: &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/homelab/rack-support-brace/" &gt;Rack Support Brace&lt;/a&gt; — simpler parametric baseline using the same approach.&lt;/p&gt;</description></item><item><title>3D Printing</title><link>https://backend-engineering-strategy-tools.github.io/site/garage/3d-printing/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/garage/3d-printing/</guid><description>&lt;p&gt;Two printers: an FDM machine for structural and functional parts, a resin printer for detail work. Different tools for different jobs — the resin produces sharper geometry at the cost of more process overhead.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="fdm--anycubic-kobra-x"&gt;FDM — Anycubic Kobra X
&lt;/h2&gt;&lt;p&gt;Current machine. Workhorse for rack accessories, enclosures, and anything that needs to be durable and dimensionally accurate. Printing in PLA for most jobs.&lt;/p&gt;
&lt;p&gt;Replaced an older Prusa i3 MK0 that still works but is no longer the daily driver. Shelved for now. CNC conversion or rebuild is somewhere on the list, parts donor if it comes to that first.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Build volume&lt;/td&gt;
 &lt;td&gt;260 × 260 × 260 mm&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Bed&lt;/td&gt;
 &lt;td&gt;PEI spring steel, max 100°C&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Nozzle (stock)&lt;/td&gt;
 &lt;td&gt;0.4 mm hardened steel, max 300°C&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Speed&lt;/td&gt;
 &lt;td&gt;300 mm/s recommended, 600 mm/s max&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Extrusion&lt;/td&gt;
 &lt;td&gt;Direct drive&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Leveling&lt;/td&gt;
 &lt;td&gt;LeviQ3.0 auto-leveling&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Multicolor&lt;/td&gt;
 &lt;td&gt;4-colour native (ACE 2 Pro), expandable to 19&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Extras&lt;/td&gt;
 &lt;td&gt;AI spaghetti detection, HD camera, filament runout&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Nozzles on hand&lt;/strong&gt;: 0.4 mm (stock), 0.25 mm (not tried yet). Expandable to 0.6 / 0.8 mm.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Filament on hand&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Brand&lt;/th&gt;
 &lt;th&gt;Material&lt;/th&gt;
 &lt;th&gt;Colour&lt;/th&gt;
 &lt;th&gt;Qty&lt;/th&gt;
 &lt;th&gt;Notes&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Verbatim&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Black&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;Original stock&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Bambu Lab&lt;/td&gt;
 &lt;td&gt;PLA Basic&lt;/td&gt;
 &lt;td&gt;Orange&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Bambu Lab&lt;/td&gt;
 &lt;td&gt;PLA Basic&lt;/td&gt;
 &lt;td&gt;Green&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Bambu Lab&lt;/td&gt;
 &lt;td&gt;PLA Basic&lt;/td&gt;
 &lt;td&gt;Magenta&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Bambu Lab&lt;/td&gt;
 &lt;td&gt;PLA Basic&lt;/td&gt;
 &lt;td&gt;Clear&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Bambu Lab&lt;/td&gt;
 &lt;td&gt;PLA Basic&lt;/td&gt;
 &lt;td&gt;Red&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Bambu Lab&lt;/td&gt;
 &lt;td&gt;PETG&lt;/td&gt;
 &lt;td&gt;Red&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;Refill spool&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Bambu Lab&lt;/td&gt;
 &lt;td&gt;PETG&lt;/td&gt;
 &lt;td&gt;Blue&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;Refill spool&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Bambu Lab&lt;/td&gt;
 &lt;td&gt;PETG&lt;/td&gt;
 &lt;td&gt;Black&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;Refill spool&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Black&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;White&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Grey&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Red&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Light Blue&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Light Yellow&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Green&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Orange&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Pink&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Lavender Purple&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Brown&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Olive Green&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Oak&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Skin&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SUNLU&lt;/td&gt;
 &lt;td&gt;PLA&lt;/td&gt;
 &lt;td&gt;Transparent&lt;/td&gt;
 &lt;td&gt;0.25 kg&lt;/td&gt;
 &lt;td&gt;Sampler pack&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;TECBEARS&lt;/td&gt;
 &lt;td&gt;PLA Matte&lt;/td&gt;
 &lt;td&gt;Black&lt;/td&gt;
 &lt;td&gt;10 kg&lt;/td&gt;
 &lt;td&gt;High-speed rated (600 mm/s), bulk stock&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="resin--anycubic-photon-mono-2"&gt;Resin — Anycubic Photon Mono 2
&lt;/h2&gt;&lt;p&gt;Mono LCD resin printer. Used for detail parts — scout badges, finer geometry — where FDM resolution isn&amp;rsquo;t enough. Paired with an Anycubic Wash &amp;amp; Cure 3 for post-processing.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Build volume&lt;/td&gt;
 &lt;td&gt;143 × 89 × 165 mm&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Screen&lt;/td&gt;
 &lt;td&gt;6.6&amp;quot; Mono LCD, 4096 × 2560, ~2000 hrs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;XY resolution&lt;/td&gt;
 &lt;td&gt;34 μm&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Z accuracy&lt;/td&gt;
 &lt;td&gt;10 μm (single linear rail)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Print speed&lt;/td&gt;
 &lt;td&gt;≤ 50 mm/hr&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Leveling&lt;/td&gt;
 &lt;td&gt;4-point manual&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Light source&lt;/td&gt;
 &lt;td&gt;Parallel matrix&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Build platform&lt;/td&gt;
 &lt;td&gt;Laser-engraved aluminium alloy&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Data input&lt;/td&gt;
 &lt;td&gt;USB Type-A 2.0&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Wash &amp;amp; Cure 3&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Wash capacity&lt;/td&gt;
 &lt;td&gt;Fits Mono 2 build plate&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UV wavelength&lt;/td&gt;
 &lt;td&gt;405 nm&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Cure time&lt;/td&gt;
 &lt;td&gt;~2–3 min&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Resin on hand&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Resin&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Colour&lt;/th&gt;
 &lt;th&gt;Qty&lt;/th&gt;
 &lt;th&gt;Notes&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;ABS-Like V2&lt;/td&gt;
 &lt;td&gt;ABS-Like&lt;/td&gt;
 &lt;td&gt;Black&lt;/td&gt;
 &lt;td&gt;~3 kg&lt;/td&gt;
 &lt;td&gt;Structural / strength&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ABS-Like 2.0&lt;/td&gt;
 &lt;td&gt;ABS-Like&lt;/td&gt;
 &lt;td&gt;Beige&lt;/td&gt;
 &lt;td&gt;8 kg&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ABS-Like 2.0&lt;/td&gt;
 &lt;td&gt;ABS-Like&lt;/td&gt;
 &lt;td&gt;Translucent Green&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ABS-Like 2.0&lt;/td&gt;
 &lt;td&gt;ABS-Like&lt;/td&gt;
 &lt;td&gt;Clear&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;For lens work eventually&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Standard V2&lt;/td&gt;
 &lt;td&gt;Standard&lt;/td&gt;
 &lt;td&gt;Black&lt;/td&gt;
 &lt;td&gt;~0.5 kg&lt;/td&gt;
 &lt;td&gt;Display / detail&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Standard&lt;/td&gt;
 &lt;td&gt;Standard&lt;/td&gt;
 &lt;td&gt;Light Beige&lt;/td&gt;
 &lt;td&gt;8 kg&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Standard&lt;/td&gt;
 &lt;td&gt;Standard&lt;/td&gt;
 &lt;td&gt;Translucent Green&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Standard&lt;/td&gt;
 &lt;td&gt;Standard&lt;/td&gt;
 &lt;td&gt;Clear&lt;/td&gt;
 &lt;td&gt;1 kg&lt;/td&gt;
 &lt;td&gt;For lens work eventually&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Craftsman&lt;/td&gt;
 &lt;td&gt;Detail&lt;/td&gt;
 &lt;td&gt;Grey&lt;/td&gt;
 &lt;td&gt;~1 kg&lt;/td&gt;
 &lt;td&gt;Sharp detail, brittle&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Detailed resin mixing notes and maintenance log kept separately.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="slicer--workflow"&gt;Slicer / Workflow
&lt;/h2&gt;&lt;p&gt;&lt;em&gt;Notes to follow — slicer setup, print profiles, export workflow.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Rack and homelab prints&lt;/strong&gt;: &lt;a class="link" href="https://backend-engineering-strategy-tools.github.io/site/homelab/rack-3d-prints/" &gt;3D Printed Rack Parts&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>