<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Brandon Pomeroy</title>
    <description>A personal blog for Brandon Pomeroy</description>
    <link>http://pomeroyb.com/</link>
    <atom:link href="http://pomeroyb.com/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Sat, 11 Dec 2021 22:52:27 -0800</pubDate>
    <lastBuildDate>Sat, 11 Dec 2021 22:52:27 -0800</lastBuildDate>
    <generator>Jekyll v4.0.0</generator>
    
      <item>
        <title>Induction Soldering Iron</title>
        <description>&lt;p&gt;I need to solder large solid brass terminals onto the output of some vacuum relays. These terminals take a lot of energy to heat up, and I want as little of the heat transferred into the body of the relay as possible. Using a regular iron heats up the terminals too slowly, and too much heat creeps into the relay. We currently use a 100W iron, but there are still some issues with this approach. In order to get good thermal conductivity, we have to put a bit of solder on the outside of the terminal. It doesn’t affect the function of the terminals, but it is not aesthetically pleasing to have a blob of solder on a random side of the terminal.&lt;/p&gt;

&lt;p&gt;We also need the terminals to be oriented a precise direction (flat side facing up!). Not changing the orientation of the terminals while soldering requires a very precise touch.&lt;/p&gt;

&lt;p&gt;So my goal is to have a very localized, non-contact way of heating up a piece of metal. Sounds like a job for an induction heater!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/inductionIron/inductionHeater.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Induction heaters work by feeding a piece of metal through a series of coils with an AC current running through them. As the current in the in the coils changes directions, the magnetic flux changes as well. This changing flux induces an alternating eddy current into your piece of metal, which in turn will heat up.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/inductionIron/principles.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I figured that using a induction heater for soldering would be pretty common, but if you google “Induction Soldering Iron”, you get a lot of results that look like regular soldering irons. For example:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/inductionIron/hakko.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The tip of this iron has a a winding around it that lets the controller precisely control the tip temperature through induction heating.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/inductionIron/diagram.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, this won’t work for me. Time to build my own!&lt;/p&gt;

&lt;h2 id=&quot;the-plan&quot;&gt;The Plan&lt;/h2&gt;

&lt;p&gt;Instead of using solder wire, use solder paste on the brass terminals. We can then use an off the shelf induction heater to heat the brass terminals to a temperature high enough to melt the paste and solder the connections.&lt;/p&gt;

&lt;p&gt;We have to be careful to prevent overheating, though. The brass can easily get red hot and possibly even melt if the induction heater is left on for too long.&lt;/p&gt;

&lt;p&gt;To address this, we’ll use a strategy found in the following video:&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/jLRgDZeYQ-M&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;They use a relay module designed to pass 110V line voltage for a very precise amount of time.&lt;/p&gt;

&lt;p&gt;We will use this to heat the brass terminals for exactly the right amount of time. And we might as well put it in a nicer box than they did!&lt;/p&gt;

&lt;h2 id=&quot;bill-of-materials&quot;&gt;Bill of Materials&lt;/h2&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Item&lt;/th&gt;
      &lt;th&gt;Price&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B08ZYHLDZ4/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B08ZYHLDZ4&amp;amp;linkCode=as2&amp;amp;tag=pomeroyb-20&amp;amp;linkId=5334a000659d10b6668dec079c87e988&quot;&gt;Magnetic Induction Heater Kit&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;$235.99&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B07VLXR7Z1/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B07VLXR7Z1&amp;amp;linkCode=as2&amp;amp;tag=pomeroyb-20&amp;amp;linkId=e7c69ed3a45e56d30d0dce9f1c751993&quot;&gt;Delay Relay Module&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;$12.69&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B005WKIZP0/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B005WKIZP0&amp;amp;linkCode=as2&amp;amp;tag=pomeroyb-20&amp;amp;linkId=9ceaf60db564c1f42d9a42558d203f10&quot;&gt;6ft Power Cord, 125V, 13A&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;$9.99&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B07KFP7T3H/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B07KFP7T3H&amp;amp;linkCode=as2&amp;amp;tag=pomeroyb-20&amp;amp;linkId=388b6799688ca53ec3e9d00c971bae1b&quot;&gt;Ultra Pro Duplex Heavy-Duty Receptacle Wall Outlet&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;$2.70&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B07C6G3Y7H/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B07C6G3Y7H&amp;amp;linkCode=as2&amp;amp;tag=pomeroyb-20&amp;amp;linkId=3fa72b5e0177b4fc8ddd0cdd888f0a2f&quot;&gt;ABS Plastic Junction Box (200mm x 120mm x 75mm)&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;$12.49&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;https://amzn.to/3rU2apz&quot;&gt;DC9V 500mA Power Supply Adapter&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;$6.99&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B000H5SX20/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B000H5SX20&amp;amp;linkCode=as2&amp;amp;tag=pomeroyb-20&amp;amp;linkId=036a0fe45e6c6dd8b7d31fe2c809f4f8&quot;&gt;1-Gang Duplex Device Receptacle Wallplate&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;$6.00&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B098DY64L9/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B098DY64L9&amp;amp;linkCode=as2&amp;amp;tag=pomeroyb-20&amp;amp;linkId=a752e152f419d6781ece998bed94982c&quot;&gt;7-12mm Cable Gland Strain Relief (5 pack)&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;$6.99&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;br /&gt;
The total cost of this build (as of writing this post in November, 2021) is &lt;strong&gt;$294.55&lt;/strong&gt;. The control box portion of this build costs &lt;strong&gt;$58.56&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Obviously the majority of that cost is wrapped up in the induction heater. If you were to choose a more barebones version (Using, for example, &lt;a href=&quot;https://www.amazon.com/gp/product/B08HGPP81Z/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B08HGPP81Z&amp;amp;linkCode=as2&amp;amp;tag=pomeroyb-20&amp;amp;linkId=b1c80466d460ca3b2884b87431216624&quot;&gt;a 120 watt heater instead of a 1 kW&lt;/a&gt;), you can get the cost down quite a bit. Since this tool will be used by others and is being built for work, I don’t mind paying extra for some extra power, safety features, and a nicely packaged product.&lt;/p&gt;

&lt;h2 id=&quot;the-build&quot;&gt;The Build&lt;/h2&gt;

&lt;p&gt;There are three main parts to this build.&lt;/p&gt;

&lt;p&gt;The first is the enclosure cover, which needs slots cut in it to mount the relay module and the output outlet.&lt;/p&gt;

&lt;p&gt;The second is the enclosure base, which needs a hole for the extension cable pass through, and the wiring inside.&lt;/p&gt;

&lt;p&gt;The third is the proper setup for the induction heater, as a custom coil will be needed for the best performance in our application.&lt;/p&gt;

&lt;h2 id=&quot;enclosure-cover&quot;&gt;Enclosure Cover&lt;/h2&gt;

&lt;p&gt;I modeled the enclosure cover in Fusion 360, and loaded in a simple adaptive 3D recipe with a 6mm endmill.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/inductionIron/cover.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The 3mm radius was too big for the outlet and the relay, so I also cleaned it up with a 1.5mm endmill using REST machining 3D adaptive, and a 2D contour to finish the edges.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube-nocookie.com/embed/FIJD6pPvdmQ&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h2 id=&quot;enclosure-base&quot;&gt;Enclosure Base&lt;/h2&gt;

&lt;p&gt;The enclosure base has a single 3/4” hole drilled in the side to accept the Cable Gland Strain relief. The end of the extension cord is cut off and fed through the strain relief, then stripped and connected to the the 9V power supply. The neutral and earth connections are connected to the terminals of the power outlet, and the live connection is connected to the input of the relay module. The output of the relay module is connected to the live terminal of the power outlet.&lt;/p&gt;

&lt;p&gt;I’m not going to share photos of this section. If you can’t imagine what this wiring looks like, you probably should not be wiring 110v.&lt;/p&gt;

&lt;p&gt;Now it was just a matter of setting up the relay and plugging something in!&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube-nocookie.com/embed/eJJHObSl8BY&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h2 id=&quot;induction-coil&quot;&gt;Induction Coil&lt;/h2&gt;

&lt;p&gt;The coil itself is, surprisingly, the easiest and most straightforward part of this build. (Unless you purchase one of the cheaper modules and have to DIY it. of course!)&lt;/p&gt;

&lt;p&gt;The only “modification” we made was winding our own coil using the provided wire. The pre-wound coils sent with the kit were all a bit too large. Larger coils still work, but to get the maximum performance you want the smallest coil possible.&lt;/p&gt;

&lt;p&gt;I’m happy to report that this method of soldering works excellently!&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube-nocookie.com/embed/D_cmvgjMGWY&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h2 id=&quot;moving-forward&quot;&gt;Moving forward&lt;/h2&gt;
&lt;p&gt;I still need to spend some time finding the appropriate time spent soldering, but this has been a very satisfying little project to work on! I think it will improve our manufacturing process, and make our soldering easier, faster, and more consistent. Not a bad upgrade!&lt;/p&gt;
</description>
        <pubDate>Sat, 20 Nov 2021 22:05:00 -0800</pubDate>
        <link>http://pomeroyb.com/projects/2021/11/20/induction-soldering/</link>
        <guid isPermaLink="true">http://pomeroyb.com/projects/2021/11/20/induction-soldering/</guid>
        
        <category>projects</category>
        
        <category>diy</category>
        
        <category>portfolio</category>
        
        
        <category>Projects</category>
        
      </item>
    
      <item>
        <title>Ludum Dare 46</title>
        <description>&lt;p&gt;Every 6 months (in October and April), I try to participate in a game jam called Ludum Dare. &lt;a href=&quot;https://ldjam.com/&quot;&gt;Ludum Dare&lt;/a&gt; is an online event where games are made from scratch in a weekend. You can make any type of game you want, as long as it’s all done in 48 hours (There is also a more relaxed version that allows for 72 hours). The short timeline isn’t the only catch, however. The game you make is supposed to be inspired by a theme, which isn’t revealed until the moment the Jam starts.&lt;/p&gt;

&lt;p&gt;I was busy the past couple of Ludums, but I was able to scratch out some time in LDJam 46. Yes, that was way back in April 2020, and yes, I am only now getting around to writing this post-mortem on it.&lt;/p&gt;

&lt;center&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube-nocookie.com/embed/_ojuuW9fZYs&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/center&gt;

&lt;h1 id=&quot;keep-it-alive--2-hours-into-the-jam&quot;&gt;Keep It Alive – 2 hours into the Jam&lt;/h1&gt;

&lt;p&gt;The theme of LDJam 46 was “Keep It Alive”. I usually end up taking a couple hours to think through the theme, but for this round I just kept coming back to the idea of an EKG monitor.&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;twitter-tweet&quot; data-dnt=&quot;true&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;ludum dare 46 theme is keep it alive. I think I’m gonna do an EKG monitor/flappy bird clone mashup thing. &lt;a href=&quot;https://t.co/DFQL917deR&quot;&gt;pic.twitter.com/DFQL917deR&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brandon Pomeroy (@AchillePomeroy) &lt;a href=&quot;https://twitter.com/AchillePomeroy/status/1251329820941680640?ref_src=twsrc%5Etfw&quot;&gt;April 18, 2020&lt;/a&gt;&lt;/blockquote&gt; &lt;script async=&quot;&quot; src=&quot;https://platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;p&gt;A couple factors led to this being the idea I went with:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Simple Graphics: It’s very important in jams where you have very limited time to keep asset creation simple. Even doing simple 2D sprites can be a huge time sink.&lt;/li&gt;
  &lt;li&gt;Tight Gameplay Loop: I like games that are easy to get into, addictive, and fast to restart if you fail. A Flappy-bird style clone ticked all those boxes.&lt;/li&gt;
  &lt;li&gt;High amount of Polish: In previous game jams, I hadn’t spent a lot of time on things like menus, sound effects, or music… There was just too much else to do! This time, I specifically budgeted time for this.&lt;/li&gt;
  &lt;li&gt;Small Scope: All of the above points enable my real goal of the jam – a small scoped project I could feasibly say was 100% done at the end of the weekend. Avoiding feature creep and being strict on time management are two skills game jams make you really appreciate!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’ve participated in some jams that I pulled all-nighters to work on, and I didn’t really feel like doing that with this one. I ended up being quite relaxed with my “work hours”, and only worked on the jam during a time I would be awake normally.&lt;/p&gt;

&lt;h1 id=&quot;the-software-stack&quot;&gt;The Software Stack&lt;/h1&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://unity.com/&quot;&gt;Unity&lt;/a&gt; – Game Engine&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.bfxr.net/&quot;&gt;bfxr&lt;/a&gt; – Sound Effects&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://boscaceoil.net/&quot;&gt;Bosca Ceoil&lt;/a&gt; – Background Music&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;the-core-gameplay--12-hours-into-the-jam&quot;&gt;The Core Gameplay – 12 hours into the Jam&lt;/h1&gt;
&lt;p&gt;You control the line of an EKG, avoiding obstacles that spawn at semi-random intervals:&lt;/p&gt;
&lt;center&gt;&lt;blockquote class=&quot;twitter-tweet&quot; data-conversation=&quot;none&quot; data-dnt=&quot;true&quot; data-theme=&quot;light&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;core gameplay basically done.&lt;br /&gt;Next steps: &lt;br /&gt;⏺ mechanic to encourage players to maintain “heartbeat” pattern&lt;br /&gt;⏺ polish &lt;a href=&quot;https://t.co/vfQ62oblVc&quot;&gt;pic.twitter.com/vfQ62oblVc&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brandon Pomeroy (@AchillePomeroy) &lt;a href=&quot;https://twitter.com/AchillePomeroy/status/1251656787398279169?ref_src=twsrc%5Etfw&quot;&gt;April 18, 2020&lt;/a&gt;&lt;/blockquote&gt; &lt;script async=&quot;&quot; src=&quot;https://platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;p&gt;There are actually no pre-made graphics in this game. All the graphics are generated on the fly using Unity’s LineRenderer. Even this simple up/down obstacle avoider was pretty fun, so I was quite motivated to spend the rest of the weekend on making it pretty.&lt;/p&gt;

&lt;h1 id=&quot;making-it-pretty--32-hours-into-the-jam&quot;&gt;Making It Pretty – 32 hours into the Jam&lt;/h1&gt;
&lt;p&gt;At this point I had added in a proper menu and game states. You can start a game, restart or change options if you fail, and quit. I’m also quite proud of the background animation in the main menu.&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;twitter-tweet&quot; data-conversation=&quot;none&quot; data-dnt=&quot;true&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;Added some polish! Also added in menu systems. &lt;br /&gt;&lt;br /&gt;Next steps are sounds, music, and some sort of scoring &lt;a href=&quot;https://t.co/GkraepjVsi&quot;&gt;pic.twitter.com/GkraepjVsi&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brandon Pomeroy (@AchillePomeroy) &lt;a href=&quot;https://twitter.com/AchillePomeroy/status/1251821153749831680?ref_src=twsrc%5Etfw&quot;&gt;April 19, 2020&lt;/a&gt;&lt;/blockquote&gt; &lt;script async=&quot;&quot; src=&quot;https://platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;h1 id=&quot;high-scores-and-combos--48-hours-into-the-jam&quot;&gt;High Scores and Combos! – 48 hours into the Jam&lt;/h1&gt;
&lt;p&gt;At this point the game was functional and fun, but there wasn’t too much of a challenge to it. To encourage players to keep playing, I implemented a high score system that tracks how many points you get. Points are based on how long you’ve “Kept it alive”, as well as a score multiplier based on movement. If a player moved in a way a traditional EKG does (Up… Down… Up… Down… etc.), they could get up to a x8 combo! This simple change added a ton of strategy to the game, as trying to maintain the combo often caused players to take more dangerous routes through obstacles.&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;twitter-tweet&quot; data-conversation=&quot;none&quot; data-dnt=&quot;true&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;Background music and sound effects were created (hope it sounds good, im tone deaf so i can’t tell!)&lt;br /&gt;&lt;br /&gt;Also implemented a combo system to encourage players to maintain a “realistic” heartbeat pattern &lt;a href=&quot;https://t.co/qHJKrTZ7MJ&quot;&gt;pic.twitter.com/qHJKrTZ7MJ&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brandon Pomeroy (@AchillePomeroy) &lt;a href=&quot;https://twitter.com/AchillePomeroy/status/1252319793731911680?ref_src=twsrc%5Etfw&quot;&gt;April 20, 2020&lt;/a&gt;&lt;/blockquote&gt; &lt;script async=&quot;&quot; src=&quot;https://platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;p&gt;I also implented different causes of “death” for the EKG. If you hit an obstacle, you get a heart attack. If you just hold a button and try to slide along the top or the bottom, you flatline. If you spam movements too fast, you risk death by &lt;a href=&quot;https://en.wikipedia.org/wiki/Tachycardia&quot;&gt;Tachycardia&lt;/a&gt;!&lt;/p&gt;

&lt;h1 id=&quot;multiplatform-and-sounds--jams-almost-done&quot;&gt;Multiplatform and Sounds! – Jam’s almost done!&lt;/h1&gt;
&lt;p&gt;Since this game was inspired quite a bit by Flappy Bird, it seemed logical to bring it to the mobile world. One of the nicest things about working with Unity is that you can target mobile, web, or desktop devices with very little overhead (As long as you plan for it from the beginning!).&lt;/p&gt;

&lt;p&gt;I was also able to implement the sound effects and music, though I’m not sure what to think of them. I’m certainly no composer, but hopefully it doesn’t sound too bad!&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;twitter-tweet&quot; data-conversation=&quot;none&quot; data-dnt=&quot;true&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;Now it works on phones!&lt;br /&gt;&lt;br /&gt;Only 3 hours left to submit 😬😬 &lt;a href=&quot;https://t.co/DU04ubsVr0&quot;&gt;pic.twitter.com/DU04ubsVr0&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brandon Pomeroy (@AchillePomeroy) &lt;a href=&quot;https://twitter.com/AchillePomeroy/status/1252359530622488581?ref_src=twsrc%5Etfw&quot;&gt;April 20, 2020&lt;/a&gt;&lt;/blockquote&gt; &lt;script async=&quot;&quot; src=&quot;https://platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;h1 id=&quot;submitted&quot;&gt;Submitted!&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;https://ldjam.com/events/ludum-dare/46/lifeline-2&quot;&gt;Here is my submission page for the event.&lt;/a&gt;. I’m really happy with the final results – Out of 4,959 entries, I came in 516th overall. My best category was “Theme” and I came in 73rd. Top 100 ain’t bad!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://pomeroyb.itch.io/lifeline&quot;&gt;You can play the game online by clicking here to go to my itch.io page&lt;/a&gt;. There are also downloads available for PC and Android. For best graphics and sound quality, download the 64 bit Windows .zip file and play from there.&lt;/p&gt;

&lt;p&gt;This was a fun project to work on, I hope you enjoy it too!&lt;/p&gt;
</description>
        <pubDate>Tue, 29 Jun 2021 00:48:00 -0700</pubDate>
        <link>http://pomeroyb.com/programming/2021/06/29/ludum-dare-46/</link>
        <guid isPermaLink="true">http://pomeroyb.com/programming/2021/06/29/ludum-dare-46/</guid>
        
        <category>programming</category>
        
        <category>games</category>
        
        <category>portfolio</category>
        
        
        <category>Programming</category>
        
      </item>
    
      <item>
        <title>Sieg X2 CNC Conversion</title>
        <description>&lt;p&gt;I enjoy desktop 3D printing, and believe that it has opened up the possibility of small scale manufacturing to many people that would otherwise be unable to reach that capability. Importing an STL, auto generating support, and hitting print is incredibly easy compared to the alternatives.&lt;/p&gt;

&lt;p&gt;Because I apparently enjoy pain, I decided to start looking at alternatives.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3062.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Above is a Sieg X2 Mini Mill, also known as the “Harbor Freight” mini mill. It’s a bit small and underpowered, but I was able to pick one up new for less than 400$ with a coupon. My initial plan was to use this mill to create some prototypes out of aluminum, since my 3D printed parts just couldn’t hold the tolerances I needed for my application.&lt;/p&gt;

&lt;p&gt;I quickly found that this machine was great for milling straight lines, but I wanted more. So I told myself:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;How hard could it be to build a CNC mill?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The answer, it turns out, is &lt;em&gt;not that hard&lt;/em&gt;! Properly using a mill is what’s hard!&lt;/p&gt;

&lt;p&gt;Here’s a couple videos of me badly using the mill:&lt;/p&gt;

&lt;style&gt;.embedtool {position: relative;height: 0;padding-top: 56%;overflow: hidden;max-width: 100%;} .embedtool iframe, .embedtool object, .embedtool embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .embedtool .fluid-vids {position: initial !important}&lt;/style&gt;
&lt;div class=&quot;embedtool&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/xgNaIEzC4xo&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;style&gt;.embedtool {position: relative;height: 0;padding-top: 56%;overflow: hidden;max-width: 100%;} .embedtool iframe, .embedtool object, .embedtool embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .embedtool .fluid-vids {position: initial !important}&lt;/style&gt;
&lt;div class=&quot;embedtool&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/AaM-RIQmgCg&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Read on to see how we got to this point!&lt;/p&gt;

&lt;h1 id=&quot;getting-started&quot;&gt;Getting Started&lt;/h1&gt;
&lt;p&gt;Just like my &lt;a href=&quot;/basic/2019/04/18/introducing-basic/&quot;&gt;Basic 3D printer&lt;/a&gt;, I started with a 3D model. I found a basic model of the Sieg X2, and slowly added the detail necessary to create a fully fleshed out design .&lt;/p&gt;

&lt;p&gt;Some components on the original mill (like the handwheels on the X and Y axis, and the Z-axis feed) were unnecessary, so I pulled them off.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3063.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This opened up some space for my linear components and motors on the mill, but I wanted more. Traditional X2 CNC conversions put the Z axis ballscrew to the side of the back column, which is not ideal. It make much more sense to keep the ballscrew centered between the dovetail ways at the center of the column. Unfortunately there’s not really room for that.&lt;/p&gt;

&lt;p&gt;Fortunately, I had access to a second mill!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3378.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I was able to cut out a clearance hole for the Z axis ballscrew through the head of the mill, and mount the ballscrew nut directly on the underside of the head.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3379.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Since I had the mill in pieces anyways, I decided to do a deep clean and upgrade the paint job.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3394.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Putting the raw cast iron back together looks pretty good!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3398.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The Z Axis ballscrew bearing mount was fastened to the top of the Z axis using a chunk of aluminum angle&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3408.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I wanted to make sure I had enough torque on the Z axis, so I connected my stepper motor using a 3:1 belt&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3529.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I used a similar setup on the Y axis, and opted for a stronger, direct drive stepper motor on the X axis. I also 3D printed and soldered up some aircraft connector covers to prevent chips and dust from getting into the motors and help with wiring.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3587.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;To drive the spindle, I stuck with the default R8 spindle and bearings, but upgraded to an off the shelf belt driven system. This made the mill run quieter since I could remove the plastic gears rattling around inside, and allows me to run my spindle at 5000 RPM instead of 2500 thanks to the pulley system.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3531.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I wanted to avoid making a huge mess when machining – I had seen firsthand how far the chips could get flung by the spindle, so I decided to make a dedicated stand for the mill. This also had the benefit of increasing rigidity, since the mill is firmly bolted down the the table.&lt;/p&gt;

&lt;p&gt;I started with a 2’ x 4’ table that I saved from the dumpster, and built up a little frame on it.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3549.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Additional blocking was added, as well as some plywood angled in such a way that there is one single low point.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3563.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;At this particular point I had been thinking about add flood coolant to my mill. Adding all these slanted surfaces to the table was a lot of extra complexity, but was necessary to avoid having coolant pool and stagnate around the mill. I haven’t gone down this path yet, but it’s nice that this option is open to me.&lt;/p&gt;

&lt;p&gt;I add some fiberglass and paint to waterproof this whole setup.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3578.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And we were ready for mounting!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3592.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;frame-it-in&quot;&gt;Frame it in&lt;/h1&gt;
&lt;p&gt;I sometimes wake up in cold sweat, imagining a shattered endmill or poorly held workpiece jettisoning into my cranium at incredible velocities. Some people enclose their mills using a combination of PVC pipes and shower curtain, but that’s just not enough peace of mind for me. I decided to build my enclosure out of 8020 aluminum and plexiglass. It is probably overkill, but it ended up looking pretty good, so I’m not complaining!&lt;/p&gt;

&lt;p&gt;I built a quick frame.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3645.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I also added sliding doors on drawer slides, and 3D printed some handles on our Zortrax M2 printers&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3677.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;electronics-and-control&quot;&gt;Electronics and Control&lt;/h1&gt;
&lt;p&gt;Your choice of CNC controls seems to be almost religous. Some people swear by parallel ports and Mach3. Others say that LinuxCNC and and MESA cards are the way to go. There are standalone options, like the Centroid product line.&lt;/p&gt;

&lt;p&gt;Given my familiarity with the firmware from past projects, I ended up going with what is arguably the weakest option – a Raspberry Pi controlling an Arduino running Grbl. I’m just doing 3 axis milling with basic probing, so this is a cost effective option. If I was doing this in any sort of professional context, I would probably not go with this solution. I’ve got the time and desire to tinker with this setup to make it work, but it’s definitely not been without its bumps.&lt;/p&gt;

&lt;p&gt;I attempted to separate the high and low power components as best as I could. The spindle and stepper controllers live in a NEMA enclosure (That could stand to be a little bigger, admittedly…)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3657.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This enclosure sits at the front of the mill and has the main On/Off switch, as well as the Emergency Stop button.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3748.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A quick aside about proper power switches for CNC devices. A serious CNC device should have a minimum of three power switches. The first, your main power interlock, is near the point where power enters the control box and should be fused. I have this power switch on the left side of the enclosure. Turning that switch on will power up the arduino and Raspberry Pi controller, but not any of the higher power components. A cable running from the main power interlock should go to a proper Emergency Stop button. The E Stop cable then goes to a &lt;a href=&quot;https://www.amazon.com/gp/product/B00TGVLTZE/&quot;&gt;Magnetic Power Switch&lt;/a&gt;. This type of switch is essentially a momentary switch attached to a latching relay, powered by itself. What this means is that if the power goes out temporarily, this switch will turn off &lt;em&gt;then stay off&lt;/em&gt;. A normal toggle switch would allow power to flow again if there was a temporary outage. This isn’t behaviour we want in a machine that has the power to break itself!&lt;/p&gt;

&lt;p&gt;Once all three of these switches are activated, the stepper motors and spindles are powered. Having a discrete E Stop switch lets you wire a signal cable into it, so your controller can know to pause when you’ve hit the E Stop (Remember, in our above setup hitting the E Stop powers down the Steppers and Spindle, not the controller!)&lt;/p&gt;

&lt;p&gt;The controller is based around a Raspberry Pi 3 and the official 7” Pi Touchscreen.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3649.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I wanted to integrate a couple of push buttons for “Start” and “Stop” into this, so I found a nice aluminum enclosure from the local surplus bin&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3605.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I drilled some holes for my buttons and laid out my cutout for the touch screen.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3607.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Using a very sketchy setup, I milled out the necessary pocket&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3611.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3612.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Everything seems to fit pretty well!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3613.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And a nice paint job brings it all together&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3615.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Time to see it move for the first time!&lt;/p&gt;

&lt;style&gt;.embedtool {position: relative;height: 0;padding-top: 56%;overflow: hidden;max-width: 100%;} .embedtool iframe, .embedtool object, .embedtool embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .embedtool .fluid-vids {position: initial !important}&lt;/style&gt;
&lt;div class=&quot;embedtool&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/cOGWcLKaVRw&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h1 id=&quot;first-cuts&quot;&gt;First Cuts&lt;/h1&gt;
&lt;p&gt;It’s been a journey to get to this point, but it’s all worth it for this moment… the first cuts!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3878.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And a wide shot. The mill is no longer this clean.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3880.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;style&gt;.embedtool {position: relative;height: 0;padding-top: 56%;overflow: hidden;max-width: 100%;} .embedtool iframe, .embedtool object, .embedtool embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .embedtool .fluid-vids {position: initial !important}&lt;/style&gt;
&lt;div class=&quot;embedtool&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/wN72R8UqR6w&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Here’s my test piece. It’s no Benchy, but there doesn’t seem to be a “standard” file for testing a CNC mill…&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3881.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The dimensions are all pretty close. I’ve been getting used to tweaking and walking in critical surfaces (Like bearing pockets), but it’s still way easier to hit the proper numbers than with a 3D printer!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_3887.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I’ve been working primarily in Aluminum, but my mill has also tested its mettle on some steel components:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_4021.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/millingSteel.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I’ve also found the mill to be excellent at removing support material from some 3D printed parts. Obviously this has limitations, but for parts that just need a little off the top, it’s a quick and easy way to get consistent, fast results.&lt;/p&gt;

&lt;style&gt;.embedtool {position: relative;height: 0;padding-top: 56%;overflow: hidden;max-width: 100%;} .embedtool iframe, .embedtool object, .embedtool embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .embedtool .fluid-vids {position: initial !important}&lt;/style&gt;
&lt;div class=&quot;embedtool&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/FEWXf69Sx9c&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h1 id=&quot;future-improvements-and-projects&quot;&gt;Future Improvements and Projects&lt;/h1&gt;
&lt;p&gt;To improve my workflow, I’ve added the Tormach Tooling System (TTS) to the mini mill. This makes it quick and easy to swap out tools.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_4106.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately the control software I use, bCNC, does not have the ability to store tool offsets, which sort of eliminates one of the main advantages of the TTS. I ended up integrating a Tool Length Probe to deal with this annoyance. I’ll probably end up moving to a higher end control system eventually, but for now here’s a quick video showing the tool change probe in process:&lt;/p&gt;

&lt;style&gt;.embedtool {position: relative;height: 0;padding-top: 56%;overflow: hidden;max-width: 100%;} .embedtool iframe, .embedtool object, .embedtool embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .embedtool .fluid-vids {position: initial !important}&lt;/style&gt;
&lt;div class=&quot;embedtool&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/8nfpicq1eB8&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;I’ve been using the mill to make parts that require tighter tolerances or stronger materials than a 3D printed part can afford, like mini planetary gear sets:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_4065.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_4098.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/mill/IMG_4105.JPG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I’m sure we’ll see this mill make some appearances in future blog posts! Until then, the best place to see random updates and projects is when I post them to my Twitter account. That’s all for now!&lt;/p&gt;
</description>
        <pubDate>Sat, 16 Jan 2021 17:24:00 -0800</pubDate>
        <link>http://pomeroyb.com/mill/2021/01/16/sieg-x2-cnc/</link>
        <guid isPermaLink="true">http://pomeroyb.com/mill/2021/01/16/sieg-x2-cnc/</guid>
        
        <category>mill</category>
        
        <category>pictures</category>
        
        <category>build</category>
        
        <category>portfolio</category>
        
        
        <category>Mill</category>
        
      </item>
    
      <item>
        <title>Introducing Basic</title>
        <description>&lt;p&gt;This is a post on a relatively old project, started November 2015.&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;twitter-tweet&quot; data-lang=&quot;en&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;I am designing another new 3D printer. Please send help. I can&amp;#39;t stop. &lt;a href=&quot;https://t.co/iVjnEU2oMr&quot;&gt;pic.twitter.com/iVjnEU2oMr&lt;/a&gt;&lt;/p&gt;&amp;mdash; Brandon Pomeroy (@AchillePomeroy) &lt;a href=&quot;https://twitter.com/AchillePomeroy/status/665021833876402177&quot;&gt;November 13, 2015&lt;/a&gt;&lt;/blockquote&gt;

&lt;script async=&quot;&quot; src=&quot;//platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;p&gt;After spending so many hours working on my BIG METAL PRINTER, I felt the need to step back and atone for all the mistakes I had made on the journey. This printer is the result of many late nights modeling. Unlike my last printer, this will be the entire ride in a single post. Get ready for a long one!&lt;/p&gt;

&lt;p&gt;To start off, lets see a photo of the finished product:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/basic/introducing-basic.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;the-regrets-of-the-past&quot;&gt;The Regrets of the Past&lt;/h2&gt;

&lt;p&gt;One of my biggest regrets of ConfinedXY was rushing the modeling of it. We were so eager to begin building that we basically stopped digital work once the skeleton was finished. We rationalized it by saying &lt;em&gt;“Oh, it will be easy to just figure out what we need once we have the frame”&lt;/em&gt;. In reality, the opposite happened. Putting together the frame made us complacent, and we never did get around to actually adding a nice skin. It also skewed the BOM and price – adding a proper skin to ConfinedXY would probably be an additional $1000 or more (Remember that we were building these quantity of 2).&lt;/p&gt;

&lt;p&gt;A secondary issue arose when we went to do wire routing. We didn’t really plan out where the wires would go, and our resulting bots look very messy. I am a huge advocate of proper wire routing, and realizing that we were going to have to do so much work just to make the wiring acceptable was very disheartening.&lt;/p&gt;

&lt;p&gt;Neither of these problems exist with Basic, and I attribute that to much more strict and proper planning. It was a lot more work upfront, but was absolutely worth it.&lt;/p&gt;

&lt;h2 id=&quot;the-basic-frame&quot;&gt;The Basic Frame&lt;/h2&gt;

&lt;p&gt;I have been involved in the &lt;a href=&quot;http://reprap.org/&quot;&gt;RepRap&lt;/a&gt; scene for quite a while. I built my first printer in Fall of 2012. It was a &lt;a href=&quot;https://reprap.org/wiki/Clonedel&quot;&gt;Clonedel&lt;/a&gt;, a Prusa Mendel fork made by Mark Ganter and the UW Solheim Lab. 3D printers printing themselves has always been the catchphrase of the RepRap movement, but I’ve always been a bit disappointed by the application. Sure, the custom brackets can be printed and can save an enormous amount of time, but the user still has to assemble the printer. Printers like the Prusa Mendel/Clonedel, the PrintrBot, and the early MakerBot machines require a tremendous amount of vitamins (Non printed parts) to be assembled. Basic doesn’t get away from that completely, but does so more than most.&lt;/p&gt;

&lt;p&gt;In most printers, any printed parts are usually limited to brackets that hold the rods or lasercut panels that form the printer frame. Basic’s frame, by contrast, is printed all in one piece, and pops off the machine nearly ready to go (Some built in support material is removed). This made things like wire routing and overall industrial design SUPER EASY in comparison. If I needed a mounting point for cables, I just added one in digitally. If I wanted to chamfer the edge of the printer or emboss some text, it was just a few more features on the model’s tree.&lt;/p&gt;

&lt;p&gt;Another great advantage of having a robot fabricate your entire frame is precision. Basic’s linear system is a set of MGN9H rails bolted to the frame. Normally when building a printer, you have to carefully align the linear components to avoid binding. With Basic, I &lt;em&gt;know&lt;/em&gt; that the rails are parallel. It makes assembly much faster and less error-prone.&lt;/p&gt;

&lt;h2 id=&quot;the-journey&quot;&gt;The Journey&lt;/h2&gt;

&lt;p&gt;Alright, enough about &lt;em&gt;why&lt;/em&gt; I made Basic the way it is, let’s get to &lt;em&gt;how&lt;/em&gt;. Less words, more photos!&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-version=&quot;7&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:450px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:8px;&quot;&gt; &lt;div style=&quot; background:#F8F8F8; line-height:0; margin-top:40px; padding:50.0% 0; text-align:center; width:100%;&quot;&gt; &lt;div style=&quot; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;&quot;&gt;&lt;/div&gt;&lt;/div&gt; &lt;p style=&quot; margin:8px 0 0 0; padding:0 4px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/-MPMsNTRWv/&quot; style=&quot; color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;&quot; target=&quot;_blank&quot;&gt;New #3dprinter design is coming along nicely. I&amp;#39;ve finished 80% of the work, all that&amp;#39;s left is the other 80%. #160%&lt;/a&gt;&lt;/p&gt; &lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;A photo posted by Brandon Pomeroy (@pomeroyb) on &lt;time style=&quot; font-family:Arial,sans-serif; font-size:14px; line-height:17px;&quot; datetime=&quot;2015-11-17T15:37:09+00:00&quot;&gt;Nov 17, 2015 at 7:37am PST&lt;/time&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;script async=&quot;&quot; defer=&quot;&quot; src=&quot;//platform.instagram.com/en_US/embeds.js&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;p&gt;The real magic of Basic (Other than its printed frame) is the CoreXY gantry and belt configuration that I designed for it. I have not seen this particular belt configuration anywhere else, but it solves a lot of problems that I’ve experienced with the CoreXY system. It hides the belt crossover to the casual observer (Which just makes the printer look a bit cleaner), and it makes it dead simple to clamp the belts to a carriage. Please note that the above image is an early iteration, and the kinematics are not exactly correct. This was corrected in a later revision.&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-version=&quot;7&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:450px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:8px;&quot;&gt; &lt;div style=&quot; background:#F8F8F8; line-height:0; margin-top:40px; padding:50.0% 0; text-align:center; width:100%;&quot;&gt; &lt;div style=&quot; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;&quot;&gt;&lt;/div&gt;&lt;/div&gt; &lt;p style=&quot; margin:8px 0 0 0; padding:0 4px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/-RQETXzRdK/&quot; style=&quot; color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;&quot; target=&quot;_blank&quot;&gt;My basic #3dprinter design has an LCD screen and controller now.&lt;/a&gt;&lt;/p&gt; &lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;A photo posted by Brandon Pomeroy (@pomeroyb) on &lt;time style=&quot; font-family:Arial,sans-serif; font-size:14px; line-height:17px;&quot; datetime=&quot;2015-11-19T14:20:57+00:00&quot;&gt;Nov 19, 2015 at 6:20am PST&lt;/time&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;script async=&quot;&quot; defer=&quot;&quot; src=&quot;//platform.instagram.com/en_US/embeds.js&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;p&gt;Here’s a great example of being able to keep both function and form while designing Basic. The SmartRap Full Graphics controller has its SD card slot on the left hand side of the screen, but I wanted the display to be on the right side of the machine (Since I am right handed). I was able to cut a small pocket into the frame, and get the best of both worlds.&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-version=&quot;7&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:450px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:8px;&quot;&gt; &lt;div style=&quot; background:#F8F8F8; line-height:0; margin-top:40px; padding:50.0% 0; text-align:center; width:100%;&quot;&gt; &lt;div style=&quot; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;&quot;&gt;&lt;/div&gt;&lt;/div&gt; &lt;p style=&quot; margin:8px 0 0 0; padding:0 4px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/-syu7mTRcW/&quot; style=&quot; color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;&quot; target=&quot;_blank&quot;&gt;My #3dprinter is called &amp;#34;Basic&amp;#34;.&lt;/a&gt;&lt;/p&gt; &lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;A photo posted by Brandon Pomeroy (@pomeroyb) on &lt;time style=&quot; font-family:Arial,sans-serif; font-size:14px; line-height:17px;&quot; datetime=&quot;2015-11-30T07:03:21+00:00&quot;&gt;Nov 29, 2015 at 11:03pm PST&lt;/time&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;script async=&quot;&quot; defer=&quot;&quot; src=&quot;//platform.instagram.com/en_US/embeds.js&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;p&gt;As an added bonus, that area is perfect for some branding! I embossed the printer’s name onto the machine.&lt;/p&gt;

&lt;p&gt;I don’t have any images here, but I also built in cable management. I wanted to see no more than 2 inches of wire at any time. I integrated printed channels into the back of the machine that hid the wires from view, which worked out beautifully!&lt;/p&gt;

&lt;h2 id=&quot;the-printing&quot;&gt;The Printing&lt;/h2&gt;

&lt;p&gt;Just over a month after my first tweet about Basic, the printing had begun. The first step was to print just the base, to make sure that the electronics fit correctly. MakerBot Desktop told me that the print time would be only 10 hours…&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-version=&quot;7&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:450px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:8px;&quot;&gt; &lt;div style=&quot; background:#F8F8F8; line-height:0; margin-top:40px; padding:50.0% 0; text-align:center; width:100%;&quot;&gt; &lt;div style=&quot; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;&quot;&gt;&lt;/div&gt;&lt;/div&gt; &lt;p style=&quot; margin:8px 0 0 0; padding:0 4px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/_UxVYQTRVy/&quot; style=&quot; color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;&quot; target=&quot;_blank&quot;&gt;Well that test print took way longer then I thought it would.&lt;/a&gt;&lt;/p&gt; &lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;A photo posted by Brandon Pomeroy (@pomeroyb) on &lt;time style=&quot; font-family:Arial,sans-serif; font-size:14px; line-height:17px;&quot; datetime=&quot;2015-12-15T19:40:45+00:00&quot;&gt;Dec 15, 2015 at 11:40am PST&lt;/time&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;script async=&quot;&quot; defer=&quot;&quot; src=&quot;//platform.instagram.com/en_US/embeds.js&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;p&gt;Alright, so that was slightly off. But the print finished, and things mostly fit:&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-version=&quot;7&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:450px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:8px;&quot;&gt; &lt;div style=&quot; background:#F8F8F8; line-height:0; margin-top:40px; padding:50.0% 0; text-align:center; width:100%;&quot;&gt; &lt;div style=&quot; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;&quot;&gt;&lt;/div&gt;&lt;/div&gt; &lt;p style=&quot; margin:8px 0 0 0; padding:0 4px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/_VMBxjzRUi/&quot; style=&quot; color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;&quot; target=&quot;_blank&quot;&gt;But it was a moderately successful test! Found a few areas that needs looser tolerances, but overall not bad.&lt;/a&gt;&lt;/p&gt; &lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;A photo posted by Brandon Pomeroy (@pomeroyb) on &lt;time style=&quot; font-family:Arial,sans-serif; font-size:14px; line-height:17px;&quot; datetime=&quot;2015-12-15T23:34:00+00:00&quot;&gt;Dec 15, 2015 at 3:34pm PST&lt;/time&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;script async=&quot;&quot; defer=&quot;&quot; src=&quot;//platform.instagram.com/en_US/embeds.js&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;center&gt;&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-version=&quot;7&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:450px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:8px;&quot;&gt; &lt;div style=&quot; background:#F8F8F8; line-height:0; margin-top:40px; padding:50.0% 0; text-align:center; width:100%;&quot;&gt; &lt;div style=&quot; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;&quot;&gt;&lt;/div&gt;&lt;/div&gt; &lt;p style=&quot; margin:8px 0 0 0; padding:0 4px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/_VOcWGzRX_/&quot; style=&quot; color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;&quot; target=&quot;_blank&quot;&gt;Nicely organized electronics.&lt;/a&gt;&lt;/p&gt; &lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;A photo posted by Brandon Pomeroy (@pomeroyb) on &lt;time style=&quot; font-family:Arial,sans-serif; font-size:14px; line-height:17px;&quot; datetime=&quot;2015-12-15T23:55:06+00:00&quot;&gt;Dec 15, 2015 at 3:55pm PST&lt;/time&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;script async=&quot;&quot; defer=&quot;&quot; src=&quot;//platform.instagram.com/en_US/embeds.js&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;p&gt;Time for the real thing. After a few false starts, we were cruising!&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-version=&quot;7&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:450px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:8px;&quot;&gt; &lt;div style=&quot; background:#F8F8F8; line-height:0; margin-top:40px; padding:50.0% 0; text-align:center; width:100%;&quot;&gt; &lt;div style=&quot; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;&quot;&gt;&lt;/div&gt;&lt;/div&gt; &lt;p style=&quot; margin:8px 0 0 0; padding:0 4px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/_r5iLJTRTo/&quot; style=&quot; color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;&quot; target=&quot;_blank&quot;&gt;Less than 2 days until my #3dprint finishes!&lt;/a&gt;&lt;/p&gt; &lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;A photo posted by Brandon Pomeroy (@pomeroyb) on &lt;time style=&quot; font-family:Arial,sans-serif; font-size:14px; line-height:17px;&quot; datetime=&quot;2015-12-24T19:14:56+00:00&quot;&gt;Dec 24, 2015 at 11:14am PST&lt;/time&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;script async=&quot;&quot; defer=&quot;&quot; src=&quot;//platform.instagram.com/en_US/embeds.js&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;p&gt;Here’s a quick timelapse that I recorded and put on the intentional3D YouTube Channel. You can find our “official” blog post about Basic &lt;a href=&quot;http://intentional3d.com/introducing-basic/&quot;&gt;here&lt;/a&gt;… this post is just my personal ramblings!&lt;/p&gt;

&lt;center&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/uLgjq5cj-rg?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/center&gt;

&lt;p&gt;So after a total of 149 hours, 35 minutes, and 33 seconds, the Basic frame was completely done!That’s just over 6 days of straight printing! This was definitely my longest and most stressful print I have ever done.&lt;/p&gt;

&lt;center&gt;&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-version=&quot;7&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:450px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:8px;&quot;&gt; &lt;div style=&quot; background:#F8F8F8; line-height:0; margin-top:40px; padding:50.0% 0; text-align:center; width:100%;&quot;&gt; &lt;div style=&quot; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;&quot;&gt;&lt;/div&gt;&lt;/div&gt; &lt;p style=&quot; margin:8px 0 0 0; padding:0 4px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/_1BAq4zRen/&quot; style=&quot; color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;&quot; target=&quot;_blank&quot;&gt;#3dprint successful! 140.5 hours and 3.97 pounds of filament, plus tons of footage for a timelapse. Time to assemble!&lt;/a&gt;&lt;/p&gt; &lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;A photo posted by Brandon Pomeroy (@pomeroyb) on &lt;time style=&quot; font-family:Arial,sans-serif; font-size:14px; line-height:17px;&quot; datetime=&quot;2015-12-28T08:13:26+00:00&quot;&gt;Dec 28, 2015 at 12:13am PST&lt;/time&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;

&lt;script async=&quot;&quot; defer=&quot;&quot; src=&quot;//platform.instagram.com/en_US/embeds.js&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;h2 id=&quot;assembly&quot;&gt;Assembly&lt;/h2&gt;
&lt;p&gt;Once the printing was finished and my belts and pulleys showed up, it was time to put it all together. Thanks again to modeling everything, down to the nuts and bolts, I knew exactly what I would need.&lt;/p&gt;

&lt;p&gt;First remove the part from the printer and remove any support material
&lt;img src=&quot;/images/basic/IMAG1472.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Appreciate the branding
&lt;img src=&quot;/images/basic/IMAG1473.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Linear motion was achieved with MGN9H rails
&lt;img src=&quot;/images/basic/IMAG1474.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Captive nuts hold the rails in place
&lt;img src=&quot;/images/basic/IMAG1477.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The rails were very easily installed
&lt;img src=&quot;/images/basic/IMAG1479.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Next came the motors, and the cables were threaded through the buit in wire management
&lt;img src=&quot;/images/basic/IMAG1484.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Bearing idlers were assembled and installed
&lt;img src=&quot;/images/basic/IMAG1488.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The X-Axis crossbeam was assembled
&lt;img src=&quot;/images/basic/IMAG1490.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The Z-Axis mount was assembled and installed
&lt;img src=&quot;/images/basic/IMAG1495.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The Z-Axis motor with integrated leadscrew and crossbeam were installed
&lt;img src=&quot;/images/basic/IMAG1500.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The extruder carriage was installed. It includes the X-Axis endstop as well as strain relief for the extruder and hotend cables
&lt;img src=&quot;/images/basic/IMAG1502.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Belts were then wrapped and the CoreXY gantry was completed
&lt;img src=&quot;/images/basic/IMAG1510.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I added a spare MakerBot Extruder
&lt;img src=&quot;/images/basic/IMG_20160119_190153.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And lastly threw in some electronics
&lt;img src=&quot;/images/basic/IMG_20160108_213701.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I quickly calibrated Basic (Which was fairly easy, given that I used 20 tooth pulleys for X and Y, a sane leadscrew for Z, and a known extruder) and printed my first part: A small box
&lt;img src=&quot;/images/basic/IMG_20160123_204555.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I printed another test, Yoda-lite
&lt;img src=&quot;/images/basic/IMG_20160125_225217.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And lastly a photoshoot with a delicious PSL
&lt;img src=&quot;/images/basic/IMG_20160124_014723.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;##The Regrets of the Future
Overall I am very, very pleased with how this project came out. It’s incredibly satisfying to take a project from nothing to completion over the course of a few months, and I think my meticulous planning while working in CAD helped this. There were definitely hiccups along the way, however. 3D printing every part of this printer (Including the print bed itself!) proved to be a detriment to actually printing parts on the machine. The X crossbeam is a little wobbly due to the natural flex of the plastic. I had to slow my printing speed and acceleration way down to deal with this.&lt;/p&gt;

&lt;p&gt;I also wish I had added even more wire management than I did – I modelled the placement of the various components like the PSU and RAMPs board, but neglected to model the wires themselves. It ended up working out, but was a bit of a mess.&lt;/p&gt;

&lt;h2 id=&quot;moving-forward&quot;&gt;Moving Forward&lt;/h2&gt;
&lt;p&gt;This particular model is the &lt;em&gt;Basic #PSL&lt;/em&gt;. In a project for work I built out a &lt;em&gt;Basic #NoFilter&lt;/em&gt;, which moved from a printed frame to a folded sheet metal one. That particular model unfortunately stalled out, and the current model I am tinkering with is &lt;em&gt;Basic #TBT&lt;/em&gt;, which will have some neat features like dissolvable support material and a really beautiful interface. Hopefully I’ll be writing a blog post about that one day!&lt;/p&gt;
</description>
        <pubDate>Thu, 18 Apr 2019 18:24:00 -0700</pubDate>
        <link>http://pomeroyb.com/basic/2019/04/18/introducing-basic/</link>
        <guid isPermaLink="true">http://pomeroyb.com/basic/2019/04/18/introducing-basic/</guid>
        
        <category>basic</category>
        
        <category>pictures</category>
        
        <category>build</category>
        
        <category>portfolio</category>
        
        
        <category>Basic</category>
        
      </item>
    
      <item>
        <title>Time to Print!</title>
        <description>&lt;p&gt;It’s been a while since the last update, and I have been, unfortunately, pretty bad at documenting my progress. So this post won’t be as in depth as others, but at least it’s got some pretty pictures!&lt;/p&gt;

&lt;p&gt;We last left our heroes at this point: 
&lt;img src=&quot;/images/confinedXY/IMAG1368.jpg&quot; alt=&quot;&quot; /&gt;
Lots has changed! I put on some hot ends: 
&lt;img src=&quot;/images/confinedXY/IMAG1409.jpg&quot; alt=&quot;&quot; /&gt;
As well as picked up some super fancy all metal direct drive extruders: 
&lt;img src=&quot;/images/confinedXY/IMAG1395.jpg&quot; alt=&quot;&quot; /&gt;
We mounted some endstops: 
&lt;img src=&quot;/images/confinedXY/IMAG1396.jpg&quot; alt=&quot;&quot; /&gt;
I also ended up putting the heated bed into place. 
&lt;img src=&quot;/images/confinedXY/IMAG1418.jpg&quot; alt=&quot;&quot; /&gt;
The relay that will drive it is mounted to a sizeable heatsink: 
&lt;img src=&quot;/images/confinedXY/IMAG1417.jpg&quot; alt=&quot;&quot; /&gt;
And we affixed a thermal fuse to it for safety! 
&lt;img src=&quot;/images/confinedXY/IMAG1422.jpg&quot; alt=&quot;&quot; /&gt;
The heater doesn’t cover the whole bed, but I’m counting on the aluminum spreading the heat evenly enough to compensate. 
&lt;img src=&quot;/images/confinedXY/IMAG1423.jpg&quot; alt=&quot;&quot; /&gt;
We also fabbed up some structures that hold filament. Laser cut melamine is much easier to work with than waterjet aluminum! 
&lt;img src=&quot;/images/confinedXY/IMAG1425.jpg&quot; alt=&quot;&quot; /&gt;
The two boxes sit nicely, framing our Z axis. 
&lt;img src=&quot;/images/confinedXY/IMAG1427.jpg&quot; alt=&quot;&quot; /&gt;
Now I needed to fab up my water block to cool my hot ends: 
&lt;img src=&quot;/images/confinedXY/IMAG1430.jpg&quot; alt=&quot;&quot; /&gt;
Holes were drilled, then tapped: 
&lt;img src=&quot;/images/confinedXY/IMAG1431.jpg&quot; alt=&quot;&quot; /&gt;
And amazingly, it all fit perfectly on the first try! 
&lt;img src=&quot;/images/confinedXY/IMAG1432.jpg&quot; alt=&quot;&quot; /&gt;
Now was the nerve wracking part – actually putting water into the system! We laid the loop out in a way that was least likely to fry the electronics in case of a leak, and let it run for 24 hours. All was dry! 
&lt;img src=&quot;/images/confinedXY/IMAG1433.jpg&quot; alt=&quot;&quot; /&gt;
To prevent growth in the loop, we added a antimicrobial silver coil to the reservoir: 
&lt;img src=&quot;/images/confinedXY/IMAG1434.jpg&quot; alt=&quot;&quot; /&gt;
We laser cut some melamine to act as a temporary bed, and taped it up: 
&lt;img src=&quot;/images/confinedXY/IMAG1453.jpg&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;/images/confinedXY/IMAG1454.jpg&quot; alt=&quot;&quot; /&gt;
Now we had what looks like a real printer! 
&lt;img src=&quot;/images/confinedXY/IMAG1456.jpg&quot; alt=&quot;&quot; /&gt;
After some preliminary calibration (which wasn’t too bad, since most of my motors closely match MakerBot’s setup), I printed my first “real” print: 
&lt;img src=&quot;/images/confinedXY/IMAG1516.jpg&quot; alt=&quot;&quot; /&gt;
Yoda’s got a few chin hairs, but overall it was a big success! &lt;i class=&quot;twa twa-smile&quot;&gt;&lt;/i&gt;
&lt;img src=&quot;/images/confinedXY/IMAG1518.jpg&quot; alt=&quot;&quot; /&gt;
But wait… that’s only one color! I’ve been working to calibrate the second nozzle, but we’ll save that for the next post…&lt;/p&gt;

&lt;p&gt;Stay tuned!&lt;/p&gt;
</description>
        <pubDate>Sat, 16 Jan 2016 17:24:00 -0800</pubDate>
        <link>http://pomeroyb.com/confinedxy/2016/01/16/time-to-print/</link>
        <guid isPermaLink="true">http://pomeroyb.com/confinedxy/2016/01/16/time-to-print/</guid>
        
        <category>confinedxy</category>
        
        <category>pictures</category>
        
        <category>build</category>
        
        
        <category>ConfinedXY</category>
        
      </item>
    
      <item>
        <title>Mounting Electronics</title>
        <description>&lt;p&gt;The last post I made showed my bot’s motors running off of another printer’s electronics. Well, that’s all about to change! Let’s get to it!&lt;/p&gt;

&lt;p&gt;The first electronics to think about are the endstops. More importantly, we have to think about endstop failure. Most Replicator/Replicator 2/Replicator 2X owners are familiar with the following wiring harness:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1344.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Because the X axis moves back and forth so often, those wires tend to break due to fatigue. When they do break, they can cause intermittent failure, which makes it difficult to reliably home the printer.&lt;/p&gt;

&lt;p&gt;Rather than just have stranded wire jump from the endstop board to the MightyBoard, I whipped up these jumper boards, and had them fabbed at OSHPark.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1345.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;They are super simple, and even tell you the part numbers of the connectors on the back.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1346.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;What’s special about these boards is connector C3 – it’s a Flat Flex Cable (FFC) connector. FFC are engineered for this exact situation, where there is going to be a lot of back and forth motion. You find it in desktop printers, laser cutters, and even MakerBot’s new 5th Gens (One area of that bot where MakerBot didn’t compromise!).&lt;/p&gt;

&lt;p&gt;Unfortunately, the connectors are tiny.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1349.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;When you solder surface mounts, a good flux pen is absolutely necessary.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1350.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The general idea is to put a small amount of flux on the pad, then tack down a single pin to hold the part in place, and then just blob on a ton of solder.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1351.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;i class=&quot;twa twa-scream&quot;&gt;&lt;/i&gt; That doesn’t look like it will work! But fear not…Simply apply a liberal helping of flux, and reheat the pads:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1352.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The flux wicks the solder onto the pads, and discourages solder bridges. Magic! &lt;i class=&quot;twa twa-sparkles&quot;&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Through holes are a lot easier to solder up – just dump heat and metal into the holes! Now we’ve got an easy to use adapter board for FFC!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1356.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We also worked on our stepper wiring harnesses. Thanks to the CoreXY design, all motors are stationary, so normal stranded wire can be used. It’s best to braid your wire to prevent any interference.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1365.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;After a few episodes of &lt;em&gt;Better Off Ted&lt;/em&gt;, we had a set of stepper cables!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1367.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I’m going to digress a bit here to complain about MakerBot’s terrible decision making on the stepper motor connectors. Look at these ridiculous beasts (The pins aren’t pushed all the way in yet).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1359.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The pins and connectors used are for 18-20 gauge wire, but stepper wires are often in the 22-24 gauge size. This makes the crimps ugly and not as strong as they should be. I don’t know why MakerBot originally did this… but when the stepper pins are bigger than the power supply pins (WTF?!), something is wrong.&lt;/p&gt;

&lt;p&gt;Anyways, all that aside, we also mounted up the MightyBoard and the LCD screen.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1362.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1363.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1364.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It’s starting to look and feel like an actual 3D printer! The power supply and plug still needs to be mounted, the firmware needs to be customized for our settings, and there is a ways to go on the extruder and HBP, but still… It feels good to see it all coming together.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1368.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Beautiful.&lt;/p&gt;
</description>
        <pubDate>Wed, 02 Sep 2015 18:24:00 -0700</pubDate>
        <link>http://pomeroyb.com/confinedxy/2015/09/02/mounting-electronics/</link>
        <guid isPermaLink="true">http://pomeroyb.com/confinedxy/2015/09/02/mounting-electronics/</guid>
        
        <category>confinedxy</category>
        
        <category>electronics</category>
        
        <category>pictures</category>
        
        <category>build</category>
        
        
        <category>ConfinedXY</category>
        
      </item>
    
      <item>
        <title>Belts and a Z-Axis</title>
        <description>&lt;p&gt;Things are starting to move! Let’s kick this post off with some sweet videos.&lt;/p&gt;

&lt;p&gt;Here’s a quick video of the Z axis moving:&lt;/p&gt;
&lt;center&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/If5LbNzkxig&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/center&gt;

&lt;p&gt;And now for the gantry:&lt;/p&gt;
&lt;center&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/uUWXMqNsECE&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/center&gt;

&lt;p&gt;Let’s break it down.
##Z Axis
We chose to use a triple leadscrew Z stage, &lt;a href=&quot;http://www.thingiverse.com/thing:612857&quot;&gt;like the one on this thing&lt;/a&gt;. Cantilevered Z stages (like the one found on the Replicator 2) don’t scale to large bots very well, due to flex in the bearings. Two of the leadscrews are constrained with linear rails, and the third leadscrew is “floating”. The leadscrews are driven by a single motor, connected with a continuous GT2 belt.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1334.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We’re using the belt arrangement found in &lt;a href=&quot;https://groups.google.com/d/msg/3dp-ideas/CGPNA86ocNs/RxXTx_wnXA8J&quot;&gt;this Google Groups post&lt;/a&gt;. The more belt teeth that engage each pulley, the smaller the chance that the belt will jump. We want this, since it’d be really quite good for the three leadscrews to stay in sync!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1339.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Some of these tolerances are pretty tight, but it was all planned out. Having the belt path calculated automatically was quite helpful.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1338.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, the belt’s length is just a little bit off. I’m not sure where the error actually happened (Did I make a mistake in the software, in the ordering process, or was the belt elasticity more than we anticipated?), but our slot that was supposed to be for tensioning was completely useless. I was planning on drilling a bunch of holes and then filing them down to make a longer slot, but it turned out that the first hole I drilled gave me the perfect tension on the belt. I’ll take it! &lt;i class=&quot;twa twa-grin&quot;&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;##X and Y
First thing to do was to measure and cut the correct lengths of belts. We calculated the length required in Solidworks, which turned out to be around 7 feet.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1301.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Each bot takes twp lengths of belts, and since we’re building a total of two bots, that’s four lengths of belt. Math is rad. &lt;i class=&quot;twa twa-thumbsup&quot;&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1302.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The extruder carriage was bolted to the linear rail’s carriage, and the belt clamp was loosely affixed. The belt clamp is just a water jet piece of aluminum, nothing fancy.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1303.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Because of the nature of the CoreXY gantry system, the belts are not co-planar. The bolts are arranged at opposite corners of the clamp to allow the belts to slide in either above or below them.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1305.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Next the belts were wrapped around the gantry. Seven feet of belt sure gets used up fast!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1306.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Then the other side is tightened and clamped into place.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1321.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Looking good!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1323.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We pulled the belts as tight as we could when we initially clamped them down, but it’s always nice to be able to add just a bit more tension. An extra idler for each belt did the trick.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1333.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This bot is getting close to working! To make the videos at the top of this post, we plugged the motors into another bot’s RAMPs 1.4 board. We’re still waiting on some items from Digikey (Endstop wires and MightyBoard connectors) before it can move on its own. Stay tuned!&lt;/p&gt;
</description>
        <pubDate>Fri, 28 Aug 2015 18:24:00 -0700</pubDate>
        <link>http://pomeroyb.com/confinedxy/2015/08/28/belts-and-a-z-axis/</link>
        <guid isPermaLink="true">http://pomeroyb.com/confinedxy/2015/08/28/belts-and-a-z-axis/</guid>
        
        <category>confinedxy</category>
        
        <category>belts</category>
        
        <category>z</category>
        
        <category>pictures</category>
        
        <category>build</category>
        
        
        <category>ConfinedXY</category>
        
      </item>
    
      <item>
        <title>Let's Build a Robot!</title>
        <description>&lt;p&gt;My beautiful and wonderful fiancée, Brittany, is currently down in Nevada, studying to become a doctor. Unfortunately, I’m still up in Seattle. We Skype fairly often, but one person is always at the mercy of the other – You only get to look where they are pointing the phone/laptop.&lt;/p&gt;

&lt;p&gt;So the problem is that I want to control my view. The solution?&lt;/p&gt;

&lt;p&gt;Telepresence robots.&lt;/p&gt;

&lt;p&gt;I started searching online, and found a few.&lt;/p&gt;

&lt;p&gt;Double Robotics has a slick, minimalist one:
&lt;img src=&quot;/images/create/double_robotics.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Suitable Tech has one called “Beam”:
&lt;img src=&quot;/images/create/Beam_Tele.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And iRobot has the “Ava 500” that could double as a battering ram:
&lt;img src=&quot;/images/create/irobot-cisco.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;None of these really fit my price point, and anyway, what fun would it be if I just bought one?&lt;/p&gt;

&lt;p&gt;I decided to build my own. I knew that the quality of the bot would depend a lot on the base that allowed it to move. Rather than try to reinvent the wheel (And chassis, and drive system…), I went with an &lt;a href=&quot;http://www.irobot.com/About-iRobot/STEM/Create-2.aspx&quot;&gt;iRobot Create 2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/create/IMAG1316.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;As a quick summary, the Create 2 is a series 600 Roomba that has an exposed serial port and the vacuum removed. You can hook up some electronics to its port, and give the Create2 instructions over serial.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/create/IMAG1317.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I initially looked at &lt;a href=&quot;http://www.jonathanleroux.org/research/micbots/pyrobot2.py&quot;&gt;pyrobot2.py&lt;/a&gt; as the method of Create2 control. Originally written by Damon Kohler for a standard Roomba, it was modified by Jonathan Le Roux to work with the Create 2. Unfortunately, it shows… The API isn’t very intuitive to use, and seemed much more in depth than is required for simple Create 2 control. &lt;i class=&quot;twa twa-confused&quot;&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;With this in mind, I’ve been building my own API for controlling the Create 2. &lt;a href=&quot;https://github.com/pomeroyb/Create2Control&quot;&gt;You can find it on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/create/code_screen.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I plan to use this API in conjunction with the &lt;a href=&quot;https://github.com/arizzitano/petbot&quot;&gt;PetBot project&lt;/a&gt;. The gist of the setup is a Node.js server hosted remotely. The Create 2 will have a Raspberry Pi running a local Node.js server, and the pilot (me) will have a web interface that I can log into. Any commands sent to the web interface will get re-broadcasted to the Pi, and then into the Create 2.&lt;/p&gt;

&lt;p&gt;As far as the actual video chat, I’m starting with low hanging fruit – I’m going to continue using Skype for now. I’d like to eventually integrate the video chat and control system together (but realistically that will probably never happen &lt;i class=&quot;twa twa-wink&quot;&gt;&lt;/i&gt;).&lt;/p&gt;

&lt;p&gt;The Skype will be running off some kind of tablet… But I haven’t really thought that through yet. The Create 2 has a pretty terrible mounting system… you can drill holes through the faceplate and use flush mounted threaded inserts:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/create/IMAG1318.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, this faceplate just snaps into the top of the Create 2 with a few tabs. It’s not the most sturdy or permanent fixture, so I may have to drill into the Create 2’s chassis to mount this thing. We’ll see.&lt;/p&gt;

&lt;p&gt;In the meantime, I can at least drive this robot around.&lt;/p&gt;
&lt;center&gt;&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-permalink=&quot;https://www.instagram.com/p/BD0F0VhzRf1/?utm_source=ig_embed&amp;amp;utm_medium=loading&quot; data-instgrm-version=&quot;12&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:540px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:16px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/BD0F0VhzRf1/?utm_source=ig_embed&amp;amp;utm_medium=loading&quot; style=&quot; background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;&quot; target=&quot;_blank&quot;&gt; &lt;div style=&quot; display: flex; flex-direction: row; align-items: center;&quot;&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: column; flex-grow: 1; justify-content: center;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 19% 0;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;display:block; height:50px; margin:0 auto 12px; width:50px;&quot;&gt;&lt;svg width=&quot;50px&quot; height=&quot;50px&quot; viewBox=&quot;0 0 60 60&quot; version=&quot;1.1&quot; xmlns=&quot;https://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;https://www.w3.org/1999/xlink&quot;&gt;&lt;g stroke=&quot;none&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot; fill-rule=&quot;evenodd&quot;&gt;&lt;g transform=&quot;translate(-511.000000, -20.000000)&quot; fill=&quot;#000000&quot;&gt;&lt;g&gt;&lt;path d=&quot;M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div style=&quot;padding-top: 8px;&quot;&gt; &lt;div style=&quot; color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;&quot;&gt; View this post on Instagram&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 12.5% 0;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;&quot;&gt;&lt;div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 8px;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: auto;&quot;&gt; &lt;div style=&quot; width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt; &lt;p style=&quot; margin:8px 0 0 0; padding:0 4px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/BD0F0VhzRf1/?utm_source=ig_embed&amp;amp;utm_medium=loading&quot; style=&quot; color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;&quot; target=&quot;_blank&quot;&gt;I can control my Roomba with an Xbox controller now. #whyNot&lt;/a&gt;&lt;/p&gt; &lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;A post shared by &lt;a href=&quot;https://www.instagram.com/pomeroyb/?utm_source=ig_embed&amp;amp;utm_medium=loading&quot; style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px;&quot; target=&quot;_blank&quot;&gt; Brandon Pomeroy&lt;/a&gt; (@pomeroyb) on &lt;time style=&quot; font-family:Arial,sans-serif; font-size:14px; line-height:17px;&quot; datetime=&quot;2016-04-05T09:41:46+00:00&quot;&gt;Apr 5, 2016 at 2:41am PDT&lt;/time&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt; &lt;script async=&quot;&quot; src=&quot;//www.instagram.com/embed.js&quot;&gt;&lt;/script&gt;&lt;/center&gt;

&lt;p&gt;Anyway, that’s it for now. Stay tuned!&lt;/p&gt;
</description>
        <pubDate>Thu, 20 Aug 2015 18:24:00 -0700</pubDate>
        <link>http://pomeroyb.com/create2/2015/08/20/lets-build-a-robot/</link>
        <guid isPermaLink="true">http://pomeroyb.com/create2/2015/08/20/lets-build-a-robot/</guid>
        
        <category>create2</category>
        
        <category>telepresence</category>
        
        <category>build</category>
        
        
        <category>Create2</category>
        
      </item>
    
      <item>
        <title>Moving Right Along</title>
        <description>&lt;p&gt;When you have a 3D printer, you start to take the ability to make complex shapes for granted. Need a bracket that fits three different sizes of aluminum extrusion? No problem – Just model it up and hit “print”!&lt;/p&gt;

&lt;p&gt;Having to mill parts from a solid block is much more labor intensive, and requires more forethought. I tried to design as few machined parts as possible, but there were some areas where it was a necessary evil. For example, the extruder carriage mount.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1280.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We needed this part to mount to the carriage on the linear rail, and could not find an aluminum U-Channel that worked well… so we made our own.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1279.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1284.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I’m very grateful that my printer build partner has both machining skill and access to a mill. Though the above part is technically the only part that &lt;em&gt;requires&lt;/em&gt; a mill, there were other parts that benefitted from the accuracy of the mill.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1281.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A lot of these holes could have been made on a drill press, but it would have taken a lot longer to line them all up.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1282.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The mill also helped with our leadscrew nuts, which were not &lt;em&gt;exactly&lt;/em&gt; the size we were expecting.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1283.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, we didn’t catch this error soon enough to backport it to our water jet files… so….&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1288.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Good enough! &lt;i class=&quot;twa twa-sweat-smile&quot;&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Anyways, next step is assembling the Z-Axis. First the cross beam…&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1287.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Then we attached the top plate. It’s held on with three M5 bolts, with springs and thumbscrews for easy levelling.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1285.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Then we loosely affixed the leadscrew nuts.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1289.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Finally, moment of truth.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1290.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Oh…. yes.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1291.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;From the top.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1292.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;From the front.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1293.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;From below.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1294.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Beautiful! &lt;i class=&quot;twa twa-smiley&quot;&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;What’s coming next? Belts! Stay tuned!&lt;/p&gt;
</description>
        <pubDate>Sat, 08 Aug 2015 18:24:00 -0700</pubDate>
        <link>http://pomeroyb.com/confinedxy/2015/08/08/moving-right-along/</link>
        <guid isPermaLink="true">http://pomeroyb.com/confinedxy/2015/08/08/moving-right-along/</guid>
        
        <category>photos</category>
        
        <category>confinedxy</category>
        
        <category>printer</category>
        
        <category>build</category>
        
        
        <category>ConfinedXY</category>
        
      </item>
    
      <item>
        <title>Things Are Heating Up</title>
        <description>&lt;p&gt;In order to print plastics like ABS and HIPS, it’s pretty crucial to have a heated build plate. I’m taking it one step further, and plan to eventually heat the entire chamber. By keeping the entire chamber at an elevated temperature, the printed part ends up having far less internal stresses due to thermal gradients. When the print is done, the model cools down as a whole, distributing stress and shrink across the entire part.&lt;/p&gt;

&lt;p&gt;Many printers use a PCB heated build plate to generate the necessary heat. I’ve never really liked them, for three reasons:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;They tend to run off of 12/24v, and run at a very high amperage, putting undue stess on the power supply.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;They tend to warp due to the thermal gradient, so it’s hard to get good adhesion to a heat spreader.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Many popular designs are made by hobbyists. This is one of the parts of the printers that can &lt;strong&gt;FUCKING BURN YOUR HOUSE DOWN&lt;/strong&gt;, so I believe in going with an engineered solution.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With that in mind, I am using a 600W silicone heat mat from Keenovo. This mat comes with an adhesive that should firmly attach it to my aluminum heat spreader. I’ll probably reinforce it with some extra fiberglass tape.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1273.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This mat runs off of 120VAC, so it’s switched on and off via a relay (controlled by the MightyBoard).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1274.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It’s pretty nice because it has integrated power leads and thermistor, but its safety features are lacking. I took the advice of Keenovo’s support representative, and had them send a thermal fuse along with it.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/confinedXY/IMAG1276.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This fuse is wired in series with one of the power leads, and is adhered the mat. If the mat gets hotter than 142°C, this fuse will trip, and power will be cut.&lt;/p&gt;

&lt;p&gt;I’m considering putting in a few more failsafes, but this is a nice start. Given that my heat bed is the thermal equivalent of 15 heater block cartridges (600 watt bed vs 40 watt heater cartridge), it doesn’t hurt to have some redundancies. Especially considering the &lt;a href=&quot;https://www.youtube.com/watch?v=xIA2yzb16Gk&quot;&gt;consequences of runaway heaters&lt;/a&gt;. I’d really rather not catch on fire.&lt;/p&gt;

</description>
        <pubDate>Sat, 01 Aug 2015 18:24:00 -0700</pubDate>
        <link>http://pomeroyb.com/confinedxy/2015/08/01/things-are-heating-up/</link>
        <guid isPermaLink="true">http://pomeroyb.com/confinedxy/2015/08/01/things-are-heating-up/</guid>
        
        <category>photos</category>
        
        <category>confinedxy</category>
        
        <category>printer</category>
        
        <category>build</category>
        
        <category>plate</category>
        
        <category>hot</category>
        
        
        <category>ConfinedXY</category>
        
      </item>
    
  </channel>
</rss>
