<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JeeLabs &#187; CNC</title>
	<atom:link href="http://jeelabs.org/tag/cnc/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeelabs.org</link>
	<description>Computing stuff tied to the physical world</description>
	<lastBuildDate>Wed, 01 Feb 2012 23:01:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Parallel port UltiMaker</title>
		<link>http://jeelabs.org/2010/11/11/parallel-port-ultimaker/</link>
		<comments>http://jeelabs.org/2010/11/11/parallel-port-ultimaker/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 23:01:44 +0000</pubDate>
		<dc:creator>jcw</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[CNC]]></category>

		<guid isPermaLink="false">http://jeelabs.org/?p=10583</guid>
		<description><![CDATA[I&#8217;m currently building the Mantis &#8211; a little CNC router designed specifically to help create custom PCB&#8217;s. Actually, mine will look more like this. I&#8217;m not convinced yet that this thing will be able to do PCB isolation routing, but I&#8217;m willing to give it a try. It&#8217;d make it much simpler to do one-off&#8217;s, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently building the <a href="http://makeyourbot.org/mantis9-1">Mantis</a> &#8211; a little CNC router designed specifically to help create custom PCB&#8217;s. Actually, mine will look more like <a href="http://www.protospace.nl/mantis-workshop">this</a>.</p>

<p>I&#8217;m not convinced yet that this thing will be able to do PCB <a href="http://buildyourcnc.com/PCBIsolationRouting.aspx">isolation routing</a>, but I&#8217;m willing to give it a try. It&#8217;d make it much simpler to do one-off&#8217;s, instead of having to live with this:</p>

<p><img src="http://files.jeelabs.org/2010/05/dsc_1430.jpg" alt="" /></p>

<p>But I&#8217;m not quite willing to dedicate an Arduino Mega and the <a href="http://www.ultimaker.com/">UltiMaker</a> electronics that is offered as option in the workshop. If you&#8217;re interested in 3D printing: the UltiMaker is derived from the RepRap and the MakerBot CupCake, as described <a href="http://makerblock.com/2010/08/new-affordable-3d-printer-the-ultimaker/">here</a>.</p>

<p>So instead of following everyone using the MPU-based approach, I&#8217;m going to re-use my parallel-port laptop running the EMC2 software, and let the laptop do all the work, instead of yet another dedicated board. I can always switch to a microcontroller setup later if this machine is practical enough to use it frequently. And if it doesn&#8217;t work out, my investment will have been relatively low.</p>

<p>There&#8217;s also a <em>second reason</em> for doing it this way: I&#8217;d like to build my own electronics for this CNC/3D stuff one day. I think there are better ways to do this sort of thing, more modular, more extensible, and more flexible (why not Ethernet? why not closed-loop servos?). But it wouldn&#8217;t be realistic to think I can take on <em>that</em> challenge as well, with everything else also going on at Jee Labs. So for now, the parallel-port shortcut will have to do.</p>

<p>Driving CNC stepper motors from a parallel port is a proven (but by now somewhat outdated) concept. Either way, it all ends up doing the same thing: executing the CNC world&#8217;s de-facto standard <a href="http://en.wikipedia.org/wiki/G-code">G-Code</a> scripts.</p>

<p>You still need stepper motors, and stepper motor drivers, since a parallel port can only send out feeble 5V signals.</p>

<p>To save some time, I decided to try something a bit whacky by <em>re-purposing</em> an UltiMaker electronics board to hook up its motor drivers to the parallel port:</p>

<p><img src="http://files.jeelabs.org/2010/11/screen_shot_2010_11_10_at_174908.png" alt="Screen Shot 2010 11 10 at 17.49.08" /></p>

<p>Lots of stuff on there I won&#8217;t need: heater control, extruder control, PWM&#8230;</p>

<p>Here&#8217;s a minimal setup, using just 3 stepper drivers and a little JeePlug board sitting on top of some extra headers on this board:</p>

<p><img src="http://files.jeelabs.org/2010/11/dsc_2242.jpg" alt="Dsc 2242" /></p>

<p>I patched a 5V regulator (plus LED) on there to feed the logic levels of the Pololu stepper drivers, and left everything else off, basically. Only thing left to do is wire up 7 signals + ground between the parallel-port breakout board and the JeePlug.</p>

<p><em>And then figure out the software side of things&#8230;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jeelabs.org/2010/11/11/parallel-port-ultimaker/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>3D printing again</title>
		<link>http://jeelabs.org/2010/10/23/3d-printing-again/</link>
		<comments>http://jeelabs.org/2010/10/23/3d-printing-again/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 22:01:27 +0000</pubDate>
		<dc:creator>jcw</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[CNC]]></category>

		<guid isPermaLink="false">http://jeelabs.org/?p=10297</guid>
		<description><![CDATA[Finally found some time to fix the clogged extruder Mk4 I had on the CupCake. A new heater + extrusion head did the trick. Well, almost&#8230; watch the leaked blob of ABS on top of the extruder heat barrier: As a result, the first part I printed did not contain enough material, and ended up [...]]]></description>
			<content:encoded><![CDATA[<p>Finally found some time to fix the clogged extruder Mk4 I had on the CupCake. A new heater + extrusion head did the trick. Well, almost&#8230; watch the leaked blob of ABS on top of the extruder heat barrier:</p>

<p><img src="http://files.jeelabs.org/2010/10/dsc_2138.jpg" alt="Dsc 2138" /></p>

<p>As a result, the first part I printed did not contain enough material, and ended up too fragile for actual use. That&#8217;s part of a <a href="http://www.thingiverse.com/thing:1570">micro-lathe</a> I&#8217;m printing for someone else, btw.</p>

<p>So I disassembled the extruder again, and replaced the PTFE rod with a new black one:</p>

<p><img src="http://files.jeelabs.org/2010/10/dsc_2141.jpg" alt="Dsc 2141" /></p>

<p>Yippie, now it&#8217;s working again. I&#8217;ve also upgraded to a heated build platform, which works great &#8211; no warping and the parts come off real easy, with raft and all:</p>

<p><img src="http://files.jeelabs.org/2010/10/dsc_2148.jpg" alt="Dsc 2148" /></p>

<p>Here&#8217;s a component from the <a href="http://www.thingiverse.com/thing:1794">Wade extruder</a> which I&#8217;ll need for the Mendel:</p>

<p><img src="http://files.jeelabs.org/2010/10/dsc_2151.jpg" alt="Dsc 2151" /></p>

<p>Alas, not all is well yet. This was supposed to be the other half of that gearwheel pair:</p>

<p><img src="http://files.jeelabs.org/2010/10/dsc_2150.jpg" alt="Dsc 2150" /></p>

<p><em>Hmm, looks more like a cupcake to me&#8230;</em></p>

<p>The other nasty problem is that the main body of the Wade extruder I&#8217;m trying to build is too large for the CupCake. I can&#8217;t print it! Now I&#8217;ll either have to buy a complete extruder for the Mendel or find some other extruder which works with it. So as far as the next-generation &#8220;Mendel&#8221; is concerned, I still need to assemble the electronics and find some good extruder for it. <em>Drat, it&#8217;s always those last 20% that bite&#8230;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jeelabs.org/2010/10/23/3d-printing-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improved bracket</title>
		<link>http://jeelabs.org/2010/02/12/improved-bracket/</link>
		<comments>http://jeelabs.org/2010/02/12/improved-bracket/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 23:01:01 +0000</pubDate>
		<dc:creator>jcw</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[CNC]]></category>

		<guid isPermaLink="false">http://news.jeelabs.org/?p=5648</guid>
		<description><![CDATA[Encouraged by some comments on yesterday&#8217;s post, I printed the same bracket again, laying on its side: The horizontal base comes out ok (I cleaned up the hole): Interestingly, the top of the bracket isn&#8217;t filled in, which is actually better: The sides look much better as well: (the Skeinforge settings aren&#8217;t perfect yet, layers [...]]]></description>
			<content:encoded><![CDATA[<p>Encouraged by some comments on <a href="http://jeelabs.org/2010/02/11/jeenode-bracket-experiment/">yesterday&#8217;s post</a>, I printed the same bracket again, laying on its side:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1188.jpg" border="0" alt="DSC_1188.jpg" width="604" height="310" /></p>

<p>The horizontal base comes out ok (I cleaned up the hole):</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1189.jpg" border="0" alt="DSC_1189.jpg" width="604" height="321" /></p>

<p>Interestingly, the top of the bracket isn&#8217;t filled in, which is actually better:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1190.jpg" border="0" alt="DSC_1190.jpg" width="604" height="248" /></p>

<p>The sides look <em>much</em> better as well:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1191.jpg" border="0" alt="DSC_1191.jpg" width="604" height="491" /></p>

<p>(the <a href="http://wiki.bitsfrombytes.com/index.php?title=Skeinforge">Skeinforge</a> settings aren&#8217;t perfect yet, layers could be mashed smoother together)</p>

<p>But wow &#8211; what a difference this makes! <em>Thanks for the tip!</em></p>

<p>Here&#8217;s another object, a <a href="http://www.thingiverse.com/thing:1642">Geneva Wheel</a> from Thingiverse:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1192.jpg" border="0" alt="DSC_1192.jpg" width="604" height="404" /></p>

<p>Turning is not very smooth, had to cut off some plastic from the round shafts, but hey: <em>it works!</em></p>

<p><em><span style="font-style: normal;">PS. Don&#8217;t worry, I&#8217;m working most of my time on JeeNode stuff, hardware and software that is&#8230; ;)</span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://jeelabs.org/2010/02/12/improved-bracket/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JeeNode bracket experiment</title>
		<link>http://jeelabs.org/2010/02/11/jeenode-bracket-experiment/</link>
		<comments>http://jeelabs.org/2010/02/11/jeenode-bracket-experiment/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 23:01:35 +0000</pubDate>
		<dc:creator>jcw</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[CNC]]></category>

		<guid isPermaLink="false">http://news.jeelabs.org/?p=5613</guid>
		<description><![CDATA[I just had to try making a little mounting bracket for JeeNodes&#8230; Here&#8217;s the design: The design dimensions are 25 x 12 x 10.5 mm. It was created with OpenSCAD, which takes a description of the object and generates the solid model shown above: Does it work? Can it be printed? Can it be used? [...]]]></description>
			<content:encoded><![CDATA[<p>I just <em>had</em> to try making a little mounting bracket for JeeNodes&#8230;</p>

<p>Here&#8217;s the design:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/Screen-shot-2010-02-08-at-11.13.51.png" border="0" alt="Screen shot 2010-02-08 at 11.13.51.png" width="255" height="171" /></p>

<p>The design dimensions are 25 x 12 x 10.5 mm. It was created with <a href="http://www.openscad.org/">OpenSCAD</a>, which takes a description of the object and generates the solid model shown above:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/Screen-shot-2010-02-08-at-11.14.06.png" border="0" alt="Screen shot 2010-02-08 at 11.14.06.png" width="449" height="446" /></p>

<p>Does it work? Can it be printed? Can it be <em>used?</em> Yeah, sort of&#8230;</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1180.jpg" border="0" alt="DSC_1180.jpg" width="604" height="270" /></p>

<p>Works for JeePlugs too, since all the boards have the same 21.1 mm width:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1182.jpg" border="0" alt="DSC_1182.jpg" width="604" height="357" /></p>

<p>Took me three tries to get the sizes and the little ridge right (the middle one):</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1179.jpg" border="0" alt="DSC_1179.jpg" width="604" height="286" /></p>

<p>Pretty ugly stuff, when seen up close. <em>But hey, that&#8217;s what pioneering looks like!</em></p>

<p>The ridge which holds the board doesn&#8217;t come out very clearly &#8211; the features are not yet a match for what the JeeCake 3D printer can do (or should it be the other way around?):</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1181.jpg" border="0" alt="DSC_1181.jpg" width="604" height="373" /></p>

<p>But despite appearances, this bracket is already surprisingly functional. Apart from the awful surface and rough shape, it&#8217;s a springy and very robust little piece of ABS plastic. It could easily be screwed down, and it would hold the board quite well.</p>

<p><em>Fascinating, it&#8217;ll be fun to see how this evolves over the next few years.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jeelabs.org/2010/02/11/jeenode-bracket-experiment/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Wireless works, sort of&#8230;</title>
		<link>http://jeelabs.org/2010/02/10/wireless-works-sort-of/</link>
		<comments>http://jeelabs.org/2010/02/10/wireless-works-sort-of/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 23:01:37 +0000</pubDate>
		<dc:creator>jcw</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[CNC]]></category>
		<category><![CDATA[JeeNode]]></category>

		<guid isPermaLink="false">http://news.jeelabs.org/?p=5583</guid>
		<description><![CDATA[Ah, now we&#8217;re getting somewhere! This is my current test setup: The JeeNode on the printer side implements a packet pass-through system, receiving command packets from the JeeLink and sending back response packets. Here is the sketch which does all the work: On the Mac/PC side, some Tcl code was added to go through the [...]]]></description>
			<content:encoded><![CDATA[<p><em>Ah, now we&#8217;re getting somewhere!</em></p>

<p>This is my current test setup:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/Screen-shot-2010-02-07-at-21.23.55.png" alt="Screen shot 2010-02-07 at 21.23.55.png" border="0" width="495" height="262" /></p>

<p>The JeeNode on the printer side implements a packet pass-through system, receiving command packets from the JeeLink and sending back response packets. Here is the sketch which does all the work:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/Screen-shot-2010-02-08-at-01.02.16.png" alt="Screen shot 2010-02-08 at 01.02.16.png" border="0" width="458" height="687" /></p>

<p>On the Mac/PC side, some Tcl code was added to go through the RF12demo text-mode protocol to send and receive arbitrary data, using the &#8220;a&#8221; command. Still work in progress, but the basic transport encapsulation works.</p>

<p>The tricky part is <em>timing</em> &#8230; it always is with this sort of real-time control stuff. Unfortunately, the current G3 software on the CupCake isn&#8217;t quite as responsive as defined in the <span class="removed_link" title="https://docs.google.com/Doc?docid=0AcWKwJ2SAxDzZGd6amZyY2NfMmdtODRnZ2Ri&amp;pli=1">specs</span>. Some responses take <em>way</em> over 80 milliseconds to come back from the motherboard. This is the case when scanning the SD card, as well as when stopping the extruder motor.</p>

<p>So what this sketch does is wait up to 500 ms for a reply to come in. Even if there isn&#8217;t one, an acknowledgement packet will be sent back. The new code on the Mac in turn waits up to 1 second for that ack to come back.</p>

<p>If no ack came back, then there was an error in the wireless connection (this can happen either during the request or during the ack, there is no way to tell!). Probably best thing to do would be to resend the command.</p>

<p>If an empty ack came back, then the response packet did not arrive within 500 ms. In this case, we could send an empty command and wait for its ack. This hasn&#8217;t been implemented yet, but it will allow dealing with even the slowest responses, simply by polling a few more times with an &#8220;empty command&#8221;.</p>

<p>But hey &#8211; it works, and the output is the same as before:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/Screen-shot-2010-02-07-at-21.26.39.png" alt="Screen shot 2010-02-07 at 21.26.39.png" border="0" width="525" height="157" /></p>

<p><em>This is probably the first wirelessly controllable CupCake in the world :)</em></p>

<p>What I should mention though is that this doesn&#8217;t yet work reliably due to those very loose timing behaviors and the fact that packet errors are not yet dealt with. Test runs fail occasionally &#8211; mostly in the SD card access code, i.e. while grabbing all the filenames with NEXT_FILENAME.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeelabs.org/2010/02/10/wireless-works-sort-of/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connecting to a CupCake</title>
		<link>http://jeelabs.org/2010/02/09/connecting-to-a-cupcake/</link>
		<comments>http://jeelabs.org/2010/02/09/connecting-to-a-cupcake/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 23:01:57 +0000</pubDate>
		<dc:creator>jcw</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[CNC]]></category>
		<category><![CDATA[JeeNode]]></category>

		<guid isPermaLink="false">http://news.jeelabs.org/?p=5569</guid>
		<description><![CDATA[To follow up on yesterday&#8217;s post, I wrote some test code to request the extruder nozzle temperature from the JeeCake and send the results out over wireless. Here is the full &#8220;jeeStatus.pde&#8221; sketch: And sure enough, it works: You&#8217;re seeing the nozzle cool down, after heating it up via ReplicatorG. The connected JeeNode has been [...]]]></description>
			<content:encoded><![CDATA[<p>To follow up on <a href="http://jeelabs.org/2010/02/08/wireless-cupcake/">yesterday&#8217;s</a> post, I wrote some test code to request the extruder nozzle temperature from the <em>JeeCake</em> and send the results out over wireless. Here is the full &#8220;jeeStatus.pde&#8221; sketch:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/Screen-shot-2010-02-07-at-16.19.43.png" border="0" alt="Screen shot 2010-02-07 at 16.19.43.png" width="382" height="478" /></p>

<p>And sure enough, it works:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/Screen-shot-2010-02-07-at-16.08.55.png" border="0" alt="Screen shot 2010-02-07 at 16.08.55.png" width="166" height="206" /></p>

<p>You&#8217;re seeing the nozzle cool down, after heating it up via ReplicatorG. The connected JeeNode has been given node ID 19, and it&#8217;s transmitting in group 5 of the 868 MHz band, so I can simply track these incoming packets through the JeeLink which is already collecting all sorts of data anyway.</p>

<p><em>So much for the easy part &#8211; the real software will be more work!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jeelabs.org/2010/02/09/connecting-to-a-cupcake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wireless CupCake</title>
		<link>http://jeelabs.org/2010/02/08/wireless-cupcake/</link>
		<comments>http://jeelabs.org/2010/02/08/wireless-cupcake/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 23:01:30 +0000</pubDate>
		<dc:creator>jcw</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[CNC]]></category>
		<category><![CDATA[JeeNode]]></category>

		<guid isPermaLink="false">http://news.jeelabs.org/?p=5561</guid>
		<description><![CDATA[JeeCake, the CupCake 3D printer here, is an interesting mix of machine, electronics, and software. The RepRap Motherboard is the main on-board controller, based on an ATmega644. It drives 3 stepper motors, communicates with the Extruder board, and talks to a desktop computer via its FTDI interface and a USB cable. On the PC side [...]]]></description>
			<content:encoded><![CDATA[<p><em>JeeCake</em>, the CupCake 3D printer here, is an interesting mix of machine, electronics, and software.</p>

<p>The RepRap Motherboard is the main on-board controller, based on an ATmega644. It drives 3 stepper motors, communicates with the Extruder board, and talks to a desktop computer via its FTDI interface and a USB cable.</p>

<p>On the PC side (which can be Windows, Mac, or Linux), there is a Processing-/Arduino-like package called <a href="http://replicat.org/">ReplicatorG</a> to control the machine. It takes <a href="http://en.wikipedia.org/wiki/G-code">G-code</a>, which is not related to Google in any way, but rather an ancient CNC control language from the 60&#8242;s.</p>

<p>ReplicatorG then converts this to a binary RepRap 3G protocol, as documented <span class="removed_link" title="https://docs.google.com/Doc?docid=0AcWKwJ2SAxDzZGd6amZyY2NfMmdtODRnZ2Ri&amp;pli=1">here</span> and then uses that to drive the CupCake. Everything from moving the axes, adjusting the nozzle temperature, controlling the extruder motor, to writing settings in the machine&#8217;s EEPROM memory.</p>

<p>The neat part is that the v1.2 motherboard has an SD card adapter on board, and that the CupCake can run unattended by getting its detailed build instructions from files stored on an SD card.</p>

<p>Except for one little detail: there are no controls or displays on the CupCake, other than a few LEDs. This is not enough to select which file to print, adjust the zero position, or start a build. It looks like a new &#8220;Generation 4&#8243; design is on the way, including an interface board with an LCD screen and some push buttons.</p>

<p>Right now, you have to connect the machine via USB, start everything up via ReplicatorG, and then you can yank the USB plug and it&#8217;ll happily continue printing what it started, right to the end (well, except that on Mac OS X 10.6, yanking USB cables <em>can</em> lead to kernel panics &#8211; looks like a serious bug in the FTDI USB driver).</p>

<p>Anyway, I don&#8217;t really care for controls, or even displays on the CupCake. All I want is some way to control a unit sitting on the other side of the room, or in a nearby room. It can be fairly noisy due to some sort of occasional wood panel resonance, and having it printing right next to me is not really my idea of fun.</p>

<p>Which is where JeeNodes come in: wouldn&#8217;t it be nice to be able to control the CupCake via wireless? The protocol is already perfectly suited for it, since it uses packets of max 32 bytes &#8211; well within the 66-byte limit of the RF12 driver. And if the object being printed is already on the SD card, then only a few packets need to be exchanged to get going. During printing, some status info could be sent back &#8211; again very low rate stuff, easily within the JeeNode&#8217;s wireless constraints.</p>

<p>Here&#8217;s the idea:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1177.jpg" border="0" alt="DSC_1177.jpg" width="604" height="354" /></p>

<p>Hook up a JeeNode to take the place of the USB cable, and let it behave as a RecpicatorG control program.</p>

<p>The interface needs to swap RX and TX for this, and because the CupCake&#8217;s signal levels are at 5V, two 1 kΩ resistors need to be inserted to prevent excessive current. One more detail is that the power pin on the FTDI connector is not connected, since the motherboard is powered off its own PC supply. So a separate wire needs to be added to power the JeeNode off the ISP connector right under the FTDI connector:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1178.jpg" border="0" alt="DSC_1178.jpg" width="604" height="459" /></p>

<p>The one wire not shown here is the ground wire, running from top right to bottom left on the other side of this little custom interface board.</p>

<p>It turns out that the motherboard is actually powered from the 5V <em>standby</em> supply pin, so it&#8217;s always powered, even when the power supply is in standby mode.</p>

<p>I&#8217;ve started writing some code on the PC/Mac side to control the CupCake without using ReplicatorG. Here&#8217;s some sample code in Tcl which works when connected directly through USB:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/Screen-shot-2010-02-07-at-15.05.08.png" border="0" alt="Screen shot 2010-02-07 at 15.05.08.png" width="391" height="353" /></p>

<p>And here&#8217;s the corresponding output:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/Screen-shot-2010-02-07-at-15.04.35.png" border="0" alt="Screen shot 2010-02-07 at 15.04.35.png" width="523" height="241" /></p>

<p>As you can see, it can access all sorts of status info, read the file names on the SD card, and control the machine. This is part of a larger project, the beginnings of which are now in the subversion <a href="http://jeelabs.net/projects/cafe/wiki">code</a> repository.</p>

<p>It takes a lot of work to make hookups like these work, because there are so many different bits and pieces (literally) involved. The next step is to see if the JeeNode can indeed communicate with &#8211; <em>and control</em> &#8211; the JeeCake, and then code needs to be written to replace the current direct-USB connection by a packet-based wireless hookup through a JeeLink + JeeNode.</p>

<p>Oh, and then I need to create some sort of little on-screen control panel to adjust the nozzle temperature, jog the Z axis up and down, pick a file to print, and start the print job! <em>Not to mention making it robust and secure&#8230;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jeelabs.org/2010/02/08/wireless-cupcake/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Custom object</title>
		<link>http://jeelabs.org/2010/02/06/custom-object/</link>
		<comments>http://jeelabs.org/2010/02/06/custom-object/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 23:01:45 +0000</pubDate>
		<dc:creator>jcw</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[CNC]]></category>

		<guid isPermaLink="false">http://news.jeelabs.org/?p=5501</guid>
		<description><![CDATA[This is not what you might think it is: I&#8217;ve been placing my headphone next to me on my desk for ages. There is of course never enough room on top, but plenty of spare room underneath: So here&#8217;s my home-made headphone bracket: Here&#8217;s the design, made with Sketchup: I just picked a &#8220;2&#8243; in [...]]]></description>
			<content:encoded><![CDATA[<p>This is not what you might think it is:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1169.jpg" border="0" alt="DSC_1169.jpg" width="604" height="668" /></p>

<p>I&#8217;ve been placing my headphone next to me on my desk for ages. There is of course never enough room on <em>top</em>, but plenty of spare room underneath:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_11701.jpg" border="0" alt="DSC_1170.jpg" width="604" height="350" /></p>

<p>So here&#8217;s my home-made headphone bracket:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/DSC_1172.jpg" border="0" alt="DSC_1172.jpg" width="604" height="623" /></p>

<p>Here&#8217;s the design, made with Sketchup:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/02/Screen-shot-2010-02-03-at-14.22.47.png" border="0" alt="Screen shot 2010-02-03 at 14.22.47.png" width="513" height="307" /></p>

<p>I just picked a &#8220;2&#8243; in a suitable font, re-sized it, &#8220;drilled&#8221; some holes in the base, and then &#8220;printed&#8221; it.</p>

<p><em>Piece of JeeCake!</em></p>

<p>PS. Given that CNC and 3D printing is not really the main focus of this weblog, <span style="text-decoration: line-through;">I&#8217;ve set up a page on the wiki</span>.</p>

<p><strong>Update</strong> &#8211; design files added to <a href="http://www.thingiverse.com/thing:1753">Thingiverse</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeelabs.org/2010/02/06/custom-object/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One more 3D post</title>
		<link>http://jeelabs.org/2010/01/29/one-more-3d-post/</link>
		<comments>http://jeelabs.org/2010/01/29/one-more-3d-post/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 23:01:33 +0000</pubDate>
		<dc:creator>jcw</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[CNC]]></category>

		<guid isPermaLink="false">http://news.jeelabs.org/?p=5353</guid>
		<description><![CDATA[Ok, one last post on the CupCake CNC trials before I get back to JeeNode stuff. The raft is now very solidly stuck to the base: This thing really sticks well, with plastic pushed down into the criss-cross grooves of the acrylic base. The trick is to place a plain paper sheet between the extruder [...]]]></description>
			<content:encoded><![CDATA[<p><em>Ok, one last post on the CupCake CNC trials before I get back to JeeNode stuff.</em></p>

<p>The raft is now very solidly stuck to the base:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/01/DSC_0968.jpg" border="0" alt="DSC_0968.jpg" width="574" height="604" /></p>

<p>This thing really sticks well, with plastic pushed down into the criss-cross grooves of the acrylic base. The trick is to place a plain paper sheet between the extruder head and the base, and to lower the Z axis until the paper slides away with just a tad of friction.</p>

<p>Unfortunately, the next problem comes up &#8211; as seen in this first <a href="http://www.thingiverse.com/thing:1642">Geneva Wheel</a> trial:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/01/DSC_0967.jpg" border="0" alt="DSC_0967.jpg" width="604" height="517" /></p>

<p>It turns out that the <em>next</em> layer of the raft doesn&#8217;t stick well to the first one. I solved this by raising the default 230° setting to 240° for the raft.</p>

<p>Another serious problem was that there is a lot of plastic on the right end of the raft as the print nozzle paused (!) on each turn. And the second layer of the raft doesn&#8217;t extend all the way to the end. This was solved by adding three noise-suppressing 0.1 µF caps to the extruder motor and disconnecting all the end-stop optocouplers.</p>

<p>The object itself seems to come out fairly well, though there were some blobs of plastic around the nozzle during printing which clearly interfered with the X-Y motion at times.</p>

<p>Here are over a dozen more parts, printed using black ABS for a change:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/01/DSC_09751.jpg" border="0" alt="DSC_0975.jpg" width="604" height="426" /></p>

<p>These all came out ok, but note that even these small parts take 10..15 minutes to print &#8211; <em>each.</em></p>

<p>The biggest remaining problem is &#8220;warping&#8221; &#8211; it&#8217;s causing over half my trials to fail:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/01/DSC_0976.jpg" border="0" alt="DSC_0976.jpg" width="604" height="199" /></p>

<p>This part failed to build (should have been 20 mm high), it slowly came off the base and started interfering  more and more with the extruder nozzle. At some point the nozzle got stuck in fact. Note how the thickness of the part is completely uneven. This is caused by the ABS cooling down and shrinking a bit &#8211; slowly pulling itself off the raft (with considerable force). A <em>heated baseplate</em> seems to be the hack to solve this &#8211; but that will require a lot more tinkering.</p>

<p>Oh well. We&#8217;ll get there&#8230; <em>eventually :)</em></p>

<p><strong>Update</strong> &#8211; upgraded to <a href="http://replicat.org/">ReplicatorG</a> 0012 with Extruder firmware v1.8 and switched to Zach Hoeken&#8217;s <a href="http://wiki.makerbot.com/adjusting-the-thermistor-settings">thermistor settings</a> (raft setting reverted to original 230°). The last change was to shine a halogen light on the platform and object, to heat it up a bit &#8211; this seems to get rid of just about all the warping, yeay!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeelabs.org/2010/01/29/one-more-3d-post/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>More 3D trials</title>
		<link>http://jeelabs.org/2010/01/28/more-3d-trials/</link>
		<comments>http://jeelabs.org/2010/01/28/more-3d-trials/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 23:01:32 +0000</pubDate>
		<dc:creator>jcw</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[CNC]]></category>

		<guid isPermaLink="false">http://news.jeelabs.org/?p=5346</guid>
		<description><![CDATA[It&#8217;s not as simple as it seems&#8230; Well, the CupCake worked straight out of the box, which is of course fantastic. But printing does seem to have two tricky bits, called &#8220;extrusion&#8221; and &#8220;rafts&#8221;. Here&#8217;s the printer making its third part: What&#8217;s about to happen, is that the &#8220;raft&#8221; (that woven mat laid out on [...]]]></description>
			<content:encoded><![CDATA[<p><em>It&#8217;s not as simple as it seems&#8230;</em></p>

<p>Well, the CupCake worked straight out of the box, which is of course fantastic. But printing does seem to have two tricky bits, called &#8220;extrusion&#8221; and &#8220;rafts&#8221;.</p>

<p>Here&#8217;s the printer making its third <a href="http://www.thingiverse.com/thing:413">part</a>:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/01/DSC_0963.jpg" alt="DSC_0963.jpg" border="0" width="604" height="323" /></p>

<p>What&#8217;s about to happen, is that the &#8220;raft&#8221; (that woven mat laid out on the bottom to hold the rest of the construction) is about to come off the base. In the above picture you can see two other problems: the raft itself coming apart, and a blob of plastic (front right) when the printer decided to pause for a few seconds, while the extruder kept pushing out plastic&#8230;</p>

<p>The problem seems to be that when the plastic cools down fully it becomes quite springy and rigid. Which is great for the final object, but causes trouble in keeping it stuck to the acrylic base. I suspect that the <a href="http://pleasantsoftware.com/developer/3d/category/makerbot-enhancements/">heated platform</a> which people are experimenting with is to overcome this problem, by keeping the base slightly sticky for the duration of the build.</p>

<p>Or maybe a few wires extending further out from the raft would help, by &#8220;tacking down&#8221; the whole thing.</p>

<p>The other purpose of the raft is to even out the surface. In my case there is a slight difference in height across the base. I should probably try to get rid of that first.</p>

<p>Anyway, here are the objects made so far:</p>

<p><img src="http://jeelabs.org/wp-content/uploads/2010/01/DSC_0964.jpg" alt="DSC_0964.jpg" border="0" width="604" height="544" /></p>

<p>The meandering plastic retains its shape &#8211; that&#8217;s probably part of the magic behind all this.</p>

<p>PS. The stepper motors are noisy. I don&#8217;t think the software I&#8217;m using is micro-stepping right now.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeelabs.org/2010/01/28/more-3d-trials/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.541 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-04 22:16:58 -->
<!-- Compression = gzip -->
