<?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>Stephen&#039;s Weblog</title>
	<atom:link href="http://blog.akkit.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.akkit.org</link>
	<description>Everything is hackable</description>
	<lastBuildDate>Mon, 27 Aug 2012 02:28:58 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Six months of pictures</title>
		<link>http://blog.akkit.org/2012/08/26/six-months-of-pictures/</link>
		<comments>http://blog.akkit.org/2012/08/26/six-months-of-pictures/#comments</comments>
		<pubDate>Mon, 27 Aug 2012 02:11:56 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.akkit.org/?p=452</guid>
		<description><![CDATA[I am really bad at keeping to a schedule with this blog :) It was going so well, with the 3D Printer posts, all good posts and not too far apart, and then&#8230; nothing. I did continue to work on the 3D printer a bit past that, and will resume those posts again, probably once [...]]]></description>
			<content:encoded><![CDATA[<p>I am really bad at keeping to a schedule with this blog :)</p>
<p>It was going so well, with the 3D Printer posts, all good posts and not too far apart, and then&#8230; nothing.</p>
<p>I did continue to work on the 3D printer a bit past that, and will resume those posts again, probably once I have everything working &#8211; it&#8217;s still waiting for some software development which I have been stalling on / doing other things.</p>
<p>So, what has been taking my time? Let&#8217;s see&#8230;</p>
<p>&nbsp;</p>
<p><a title="Reflowed: nRF_stick, chopper1, nRF_sensor1 by sgstair, on Flickr" href="http://www.flickr.com/photos/sgstair/6782277686/"><img src="http://farm8.staticflickr.com/7199/6782277686_a4d18f9c50.jpg" alt="Reflowed: nRF_stick, chopper1, nRF_sensor1" width="500" height="375" /></a></p>
<p>First I messed around with some Nordic RF chip stuff (I&#8217;ve built some infrastructure, but these projects are still ongoing)</p>
<p>&nbsp;</p>
<p><a title="IMG_0893.JPG by sgstair, on Flickr" href="http://www.flickr.com/photos/sgstair/7033325281/"><img src="http://farm8.staticflickr.com/7040/7033325281_30c3389bca.jpg" alt="IMG_0893.JPG" width="500" height="375" /></a></p>
<p>I built some PCBs for an RGB POV spinning top, which still hasn&#8217;t been fully assembled or programmed&#8230;</p>
<p>&nbsp;</p>
<p><a title="Reflowed: psplcd by sgstair, on Flickr" href="http://www.flickr.com/photos/sgstair/7163458940/"><img src="http://farm8.staticflickr.com/7103/7163458940_367f2767a9.jpg" alt="Reflowed: psplcd" width="500" height="375" /></a></p>
<p>I designed a board to control the PSP LCD, and finished its software (<a href="http://www.flickr.com/photos/sgstair/7384581202/in/photostream">it works!</a>) &#8211; I normally do everything but a friend of mine did the PCB layout on this board.</p>
<p>&nbsp;</p>
<p><a title="GBCart: Nintendo logo by sgstair, on Flickr" href="http://www.flickr.com/photos/sgstair/7424385870/"><img src="http://farm9.staticflickr.com/8145/7424385870_4d7ae8913f.jpg" alt="GBCart: Nintendo logo" width="500" height="375" /></a></p>
<p>And most recently I&#8217;ve been working on a <a href="http://www.flickr.com/photos/sgstair/7385161466/in/photostream">gameboy cartridge</a>. Not much to say about this one yet, but will be fun when there is :)</p>
<p>&nbsp;</p>
<p>And of course a <a href="http://www.flickr.com/photos/sgstair/6978375944/in/photostream">few</a> <a href="http://www.flickr.com/photos/sgstair/7697087142/in/photostream">other</a> <a href="http://www.flickr.com/photos/sgstair/7477139778/in/photostream">things</a> along the way; my <a href="http://www.flickr.com/photos/sgstair">Flickr Stream</a> has more, and is usually the first place new stuff shows up.</p>
<p>Feel free to ping me with any questions or comments! I&#8217;ll try to post a bit more regularly.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.akkit.org/2012/08/26/six-months-of-pictures/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The road to 3D Printing, part 4</title>
		<link>http://blog.akkit.org/2012/02/04/the-road-to-3d-printing-part-4/</link>
		<comments>http://blog.akkit.org/2012/02/04/the-road-to-3d-printing-part-4/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 17:58:18 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Circuit Design]]></category>
		<category><![CDATA[CNC Controller]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[PCB Layout]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.akkit.org/?p=424</guid>
		<description><![CDATA[Armed with a blinking LED program, I set to work attempting to flesh out the rest of the software for the CNC board. I built and tested a nested vectored interrupt handler, and started trying to port my USB stack from another chip that has very similar USB hardware. As time went on though, the [...]]]></description>
			<content:encoded><![CDATA[<p>Armed with a blinking LED program, I set to work attempting to flesh out the rest of the software for the CNC board. I built and tested a nested vectored interrupt handler, and started trying to port my USB stack from another chip that has very similar USB hardware. As time went on though, the outlook became a bit bleak; A number of things did not appear to be working as intended on this chip, and the manufacturer&#8217;s example code included bizzare comments and workarounds for some pretty impactful bugs that weren&#8217;t otherwise documented. Not confident that I would be able to make this chip work the way that I wanted, and being less than thrilled with the ease of assembly and some of the design of the CNC Rev1 board, I decided to make a new CNC board.</p>
<p>My design goals would be:</p>
<ul>
<li>Ensure the design will work, by using chips I&#8217;m familiar with &amp; already have code working on.</li>
<li>Reduce complexity by only having one motor driving voltage, but still allow that voltage to be changed.</li>
<li>Reduce the part count per motor, by consolidating components into fewer packages and taking a different design path driving the motors.</li>
</ul>
<p><span id="more-424"></span></p>
<p>As usual, I have a progression of design image captured through the process to give an idea of how the project unfolded:</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_1.png"><img class="alignnone size-medium wp-image-425" title="cnc2_1" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_1-300x272.png" alt="" width="300" height="272" /></a></p>
<p>1)  Decided on the core pieces to use, and approximate board size. CNC rev 2 is based around a single BGA FPGA, and an ARM Cortex-M3 chip I use heavily in other projects (LPC134x). The plan at this point was to drive 6 motors and allow USB from both the micro and from the FPGA (to eventually produce a working system without the micro)</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_2.png"><img class="alignnone size-medium wp-image-426" title="cnc2_2" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_2-300x184.png" alt="" width="300" height="184" /></a></p>
<p>2) Prototyping the component placement for a single motor block. Changes from CNC Rev1 are: Clamp diodes are now more integrated (rotated chip replaces 4 diodes that were on the other side of the board), using a level shifter chip rather than an arrangement of fets (each level shifter replaces 6 fets &amp; a dozen resistors)</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_3.png"><img class="alignnone size-medium wp-image-427" title="cnc2_3" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_3-300x274.png" alt="" width="300" height="274" /></a></p>
<p>3)  Decided 6 was too many, dropped back to 5 motor blocks; Added header block for end-stop switches, and resistors / clamp diodes to feed back motor pins to the FPGA safely.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_4.png"><img class="alignnone size-medium wp-image-428" title="cnc2_4" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_4-300x225.png" alt="" width="300" height="225" /></a></p>
<p>4) Routed the power trace for motor voltage; The header at the top allows the motor voltage to be changed by an expansion board, or the pins can just be jumpered to provide the 12V default.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_5.png"><img class="alignnone size-medium wp-image-429" title="cnc2_5" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_5-300x211.png" alt="" width="300" height="211" /></a></p>
<p>5) Adding more support parts and starting to make some connections within the motor blocks and for the microcontroller.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_6.png"><img class="alignnone size-medium wp-image-430" title="cnc2_6" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_6-300x220.png" alt="" width="300" height="220" /></a></p>
<p>6) Adding some more external connectivity; the 4-pin JST 2mm connectors are for external I2C connections, and there&#8217;s a 4&#215;3 pin header that can be used to drive servos.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_7.png"><img class="alignnone size-medium wp-image-431" title="cnc2_7" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_7-300x185.png" alt="" width="300" height="185" /></a></p>
<p>7) Prototyping the motor block connections</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_8.png"><img class="alignnone size-medium wp-image-432" title="cnc2_8" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_8-300x221.png" alt="" width="300" height="221" /></a></p>
<p>8) Adding yet more important stuff! The big header was only added temporarily though, to provide a linear target to attach pins to (to easily see that the motor block signals came out in a specific order)</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_9.png"><img class="alignnone size-medium wp-image-433" title="cnc2_9" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_9-300x198.png" alt="" width="300" height="198" /></a></p>
<p>9) Added analog current measurement stuff. I drop the FPGA&#8217;s USB port as I note space and pins are likely to be an issue, and I don&#8217;t really want to drop the uC anymore because it&#8217;s an easy way to get ADC results.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_10.png"><img class="alignnone size-medium wp-image-434" title="cnc2_10" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_10-300x206.png" alt="" width="300" height="206" /></a></p>
<p>10) After much planning, have  decided on the FPGA orientation and started to map the pins to the fpga.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_11.png"><img class="alignnone size-medium wp-image-435" title="cnc2_11" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_11-300x237.png" alt="" width="300" height="237" /></a></p>
<p>11) Finished mapping the motor blocks to the FPGA, and generally organized the analog stuff into a nice cranny up by the ATX connector.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_12.png"><img class="alignnone size-medium wp-image-436" title="cnc2_12" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_12-300x284.png" alt="" width="300" height="284" /></a></p>
<p>12) Showing the breakout of fpga signals so far. I opted to allow using a much cheaper FPGA so not all of the pins are present/connected. In order to remedy this sometimes I run internal pins out through some of the (unconnected) outer pins. (I need all the I/O I can get!)</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_13.png"><img class="alignnone size-medium wp-image-437" title="cnc2_13" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_13-300x216.png" alt="" width="300" height="216" /></a></p>
<p>13) Starting to route the motor blocks to the FPGA. When the planning is done this is generally pretty simple.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_14.png"><img class="alignnone size-medium wp-image-438" title="cnc2_14" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_14-300x217.png" alt="" width="300" height="217" /></a></p>
<p>14) Continuing that&#8230;</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_15.png"><img class="alignnone size-medium wp-image-439" title="cnc2_15" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_15-300x200.png" alt="" width="300" height="200" /></a></p>
<p>15) All motor blocks connected!</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_16.png"><img class="alignnone size-medium wp-image-440" title="cnc2_16" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_16-300x220.png" alt="" width="300" height="220" /></a></p>
<p>16) Started to route peripherals on the right side, and worked on organizing the remainder of the components to fit in available space.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_17.png"><img class="alignnone size-medium wp-image-441" title="cnc2_17" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_17-296x300.png" alt="" width="296" height="300" /></a></p>
<p>17) Finished routing all the right-side signals! So far all the routed signals are all on one layer, pretty happy about that. There are around 90 signals connected to the FPGA at this point.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_18.png"><img class="alignnone size-medium wp-image-442" title="cnc2_18" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_18-300x276.png" alt="" width="300" height="276" /></a></p>
<p>18) My attention turns to the microcontroller which is now almost fully routed, and I start routing 3v3 power and FPGA jtag.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_19.png"><img class="alignnone size-medium wp-image-443" title="cnc2_19" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_19-300x276.png" alt="" width="300" height="276" /></a></p>
<p>19) FPGA Power. Srs bzness. the really thin traces are gnd, and are only there to keep track of connected things, there will be a gnd fill later. Ultimately this is not going to be a very demanding application for the FPGA, the pins will not be switching at a high frequency.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_20.png"><img class="alignnone size-medium wp-image-444" title="cnc2_20" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_20-300x287.png" alt="" width="300" height="287" /></a></p>
<p>20) With almost everything else done, attention turns to finishing the power routing for the level shifters on the motor blocks.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_21.png"><img class="alignnone size-medium wp-image-445" title="cnc2_21" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_21-300x293.png" alt="" width="300" height="293" /></a></p>
<p>21) That is finished and ground fill is added. This is the electrically complete board.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_22.png"><img class="alignnone size-medium wp-image-446" title="cnc2_22" src="http://blog.akkit.org/wp-content/uploads/2012/02/cnc2_22-300x300.png" alt="" width="300" height="300" /></a></p>
<p>22) Even that was not entirely complete&#8230; Also the component names needed to be adjusted to ensure they are readable. This is effectively the final board.</p>
<p>I have another bigger version of this image up on flickr:</p>
<p><a title="cnc2_big by sgstair, on Flickr" href="http://www.flickr.com/photos/sgstair/6707373901/"><img src="http://farm8.staticflickr.com/7028/6707373901_5990423e72.jpg" alt="cnc2_big" width="500" height="483" /></a></p>
<p>&nbsp;</p>
<p>Do be sure to point out any flaws ;)</p>
<p>I expect to get the first copies of this board back today (maybe) &#8211; I sent this board off in Laen&#8217;s order to get prototypes back relatively cheaply in case there are bugs, but if there aren&#8217;t problems I will probably manufacture a few dozen more.</p>
<p>So now the blog entries on this reach the current point in time, and I have to do actual work to write more of this path &#8211; wish me luck :)</p>
<p>(Will be continued in part 5)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.akkit.org/2012/02/04/the-road-to-3d-printing-part-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The road to 3D Printing, part 3</title>
		<link>http://blog.akkit.org/2012/01/31/the-road-to-3d-printing-part-3/</link>
		<comments>http://blog.akkit.org/2012/01/31/the-road-to-3d-printing-part-3/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 07:31:59 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[CNC Controller]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.akkit.org/?p=417</guid>
		<description><![CDATA[As I mentioned earlier, JTAG is a pretty simple protocol. For the ucHelper I&#8217;ve designed a command-oriented serial protocol that allows me to perform various JTAG and UART operations. After some initial trouble with physical connections on the CNC board, it was possible to enumerate the JTAG chain! In order to be sure JTAG was [...]]]></description>
			<content:encoded><![CDATA[<p>As I mentioned earlier, JTAG is a pretty simple protocol. For the ucHelper I&#8217;ve designed a command-oriented serial protocol that allows me to perform various JTAG and UART operations. After some initial trouble with physical connections on the CNC board, it was possible to enumerate the JTAG chain! In order to be sure JTAG was really working as intended, I took a short detour and wrote an SVF player, and was able to program some existing Xilinx FPGA boards from SVF files (like <a href="http://www.flickr.com/photos/sgstair/6246019350/in/photostream">serialeth</a>).</p>
<p>The ARM Chip I was using on the CNC board (NXP LPC2927) has two JTAG chains &#8211; one of them is a boundary scan / flash (and who knows what else) chain, and the other is for the ARM9 standard debug interface. I only really wanted to program the flash, so I started out with the flash chain &#8211; There was some documentation for the JTAG flash interface of a previous chip in the series so I was hopeful this one would be similar.</p>
<p>Unfortunately it was not meant to be. The enable bits / initial handshake sequence for the flash controller on this chip seems to be entirely different than the earlier one, sometime I may go back and find the right bits to make that work, but I shifted my focus to using the ARM debug interface. The first thing I noticed, is that it didn&#8217;t work :) As it turns out (after connecting the layers of deep indirection in the documentation), you must have a crystal in a specific range of frequencies for it to work; After fixing that though, I began to make progress on that front. the ARM debug interface for this chip is relatively well documented in the ARM9 documentation on ARM&#8217;s site. Documentation always seems to leave something to be desired, but this was at least relatively unambiguous &#8211; and worked!</p>
<p>Effectively, the ARM9 chips (also most other ARM chips), for a debug interface, simply intercept the processor&#8217;s instruction and data busses, and allow you to single step the processor. So you can perform operations by injecting the instruction you wish to execute, and single stepping. You can write a register to an arbitrary memory location, which causes it to be intercepted on the data bus (afterwards you can read the data bus) &#8211; Similarly you can read from memory and it will end up reading the value you insert onto the data bus into a register. It&#8217;s a rather minimal and effective debugging interface, it doesn&#8217;t consume much in the way of hardware resources, though the software to do anything useful with it has to be a bit complicated as a result.</p>
<p>Since the single step operations capture the data bus, it&#8217;s not possible to directly modify or read system memory through them, but there is another special provision for doing this, for executing individual instructions synchronized with the normal CPU clock that can interact with memory. So, I wrote a handful of wrappers that would allow me to manipulate the CPU&#8217;s registers and read from / write to memory, and around that built a small program that wrote the flash using the system&#8217;s internal flash controller.</p>
<p>With that literal pile of work behind me, I set off building software for the ARM chip itself. A short amount of time later, I had a blinking LED (Because this is naturally the most important thing to do with /any/ piece of hardware)</p>
<p><a title="IMG_0826.JPG by sgstair, on Flickr" href="http://www.flickr.com/photos/sgstair/6661934599/"><img src="http://farm8.staticflickr.com/7166/6661934599_9dde973c42.jpg" alt="IMG_0826.JPG" width="500" height="375" /> </a></p>
<p>(Not visible: LEDs blinking)</p>
<p>(Continuity note: Note that the above board is not the same one as the board shown in part 1! At some point in messing with the JTAG chains I became sufficiently frustrated with the quality of connections on the first board, which had been reworked a few too many times perhaps, that I built a second board and took special care in making sure the JTAG chains and other important connections were in good shape. It&#8217;s a bit less than fully populated because&#8230; placing some 400-500 components is HARD!)</p>
<p>(More to come in part 4&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.akkit.org/2012/01/31/the-road-to-3d-printing-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The road to 3D printing, part 2</title>
		<link>http://blog.akkit.org/2012/01/28/the-road-to-3d-printing-part-2/</link>
		<comments>http://blog.akkit.org/2012/01/28/the-road-to-3d-printing-part-2/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 22:33:21 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[CNC Controller]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.akkit.org/?p=412</guid>
		<description><![CDATA[Around the middle of December I decided it was finally time to make this project actually work. I took the one CNC board I had assembled, such a long time back, and subjected it to an initial smoke test (connecting the power, that is). There was smoke. Not discouraged by the loss of a chip [...]]]></description>
			<content:encoded><![CDATA[<p>Around the middle of December I decided it was finally time to make this project actually work.</p>
<p>I took the one CNC board I had assembled, such a long time back, and subjected it to an initial smoke test (connecting the power, that is). There was smoke. Not discouraged by the loss of a chip or two, I took a further look. I found that the assembly of the first board had hit a number of major snags; The board was 2oz copper in order to be capable of routing large current loads to the motors &#8211; but the groundplane was exceptionally difficult to solder to, even though the pads have thermals. I found that one of the chips broke because a resistor intended to keep an &#8220;enable&#8221; signal low was not connected to the groundplane, and the other one, a FPGA, was installed backwards (these FPGAs have two circles on the top which could indicate pin 1; Unfortunately the wrong one was chosen and I didn&#8217;t check.)</p>
<p>Undeterred, I pressed forwards with getting this board to work. I replaced the FPGA and rotated the other one, doublechecked a lot of signals (there were still some components on the back side of the board that were not properly connected to ground). All the poor connections were on the back side of the board, the top side had been reflowed and the connections seemed uniformly good there.</p>
<p>After those fixes and some cleanup, ran the smoke test again &#8211; The board powered up without smoke! A first small victory down this path &#8211; But many more things remained.</p>
<p>So, let me tell you about JTAG. I made a <a href="http://blog.akkit.org/2010/07/11/jtag/">post on jtag</a> a long time ago, when I was first starting to mess with it; but for this project I decided to build my own JTAG tools to program the chips involved &amp; for other nefarious purposes.</p>
<p>I have made a few starts  towards my own jtag stack over time, first was an <a href="http://blog.akkit.org/2010/07/25/generic-usb-jtagetc-programmer/">AVR-based board intended to program all manner of things</a> &#8211; This project ultimately stagnated as the jtag level shifting interfered with actually programming the AVR chip itself. Despite a fix, building out the stack was a big project and never was completed.</p>
<p>While I was designing the CNC board though, I had the idea for a more specific debugging helper tool geared for it, and not too long after designing the CNC board, I did build such a device based on a chip I had come to know and love (and built a USB stack for&#8230;) &#8211; this was the ucHelper, PCBs shown below.</p>
<p><a title="IMG_0628.JPG by sgstair, on Flickr" href="http://www.flickr.com/photos/sgstair/5518978591/"><img src="http://farm6.staticflickr.com/5019/5518978591_b0806b09f7.jpg" alt="IMG_0628.JPG" width="500" height="375" /></a></p>
<p>ucHelper is really just a minimal JTAG and serial interface board &#8211; Being exactly what I needed for programming and debugging here though, I got started on writing the code for it.</p>
<p>(more in part 3)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.akkit.org/2012/01/28/the-road-to-3d-printing-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The road to 3D printing, part 1</title>
		<link>http://blog.akkit.org/2012/01/27/the-road-to-3d-printing-part-1/</link>
		<comments>http://blog.akkit.org/2012/01/27/the-road-to-3d-printing-part-1/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 09:29:19 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[CNC Controller]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.akkit.org/?p=404</guid>
		<description><![CDATA[It&#8217;s been just over a year since I decided to seriously pursue building my own 3D printer, and while it has been taking a back seat to a lot of other projects I&#8217;ve been doing, it&#8217;s looking like it will finally come together in the next few weeks! The CNC Controller in the last two [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been just over a year since I decided to seriously pursue building my own 3D printer, and while it has been taking a back seat to a lot of other projects I&#8217;ve been doing, it&#8217;s looking like it will finally come together in the next few weeks!</p>
<p>The CNC Controller in the last two posts was my first big move towards realizing the idea; Being  a stubborn sort, I&#8217;ve wanted to build the entire thing entirely myself &#8211; Historically this has been both a good and a bad decision; I like owning the entire stack in a project, but it comes at a price &#8211; Actually building and completing the project takes a lot longer. The upside is I get a lot of experience from such projects, and learn a lot about a wide variety of things &#8211; this is ultimately the reason I do it so much.</p>
<p>I did finally concede to use an existing 3D Printer hardware design, and near the end of last year built a Prusa Mendel from a kit of printed parts &amp; hardware (pic below)</p>
<p><a title="IMG_0772.JPG by sgstair, on Flickr" href="http://www.flickr.com/photos/sgstair/6180492348/"><img src="http://farm7.staticflickr.com/6159/6180492348_cdf4e8cd80.jpg" alt="IMG_0772.JPG" width="500" height="375" /></a></p>
<p>However I am still quite determined to own the electronics. Around the very end of 2011 I finally decided to put the effort into making this project happen, and started to bring up the CNC board I had designed.</p>
<p>(More in part 2)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.akkit.org/2012/01/27/the-road-to-3d-printing-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CNC Controller update</title>
		<link>http://blog.akkit.org/2011/07/23/cnc-controller-update/</link>
		<comments>http://blog.akkit.org/2011/07/23/cnc-controller-update/#comments</comments>
		<pubDate>Sat, 23 Jul 2011 23:54:38 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Circuit Design]]></category>
		<category><![CDATA[CNC Controller]]></category>
		<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://blog.akkit.org/?p=398</guid>
		<description><![CDATA[Ah, it&#8217;s been a while. Since I opted to stop posting on a fixed schedule, that seems to have eliminated any hope of regular updates &#8211; oh well. So, I have been largely tied up in a (Very big) project that&#8217;s still secret, I&#8217;m not saying much about it. But there have been a few [...]]]></description>
			<content:encoded><![CDATA[<p>Ah, it&#8217;s been a while.</p>
<p>Since I opted to stop posting on a fixed schedule, that seems to have eliminated any hope of regular updates &#8211; oh well.</p>
<p>So, I have been largely tied up in a (Very big) project that&#8217;s still secret, I&#8217;m not saying much about it. But there have been a few bits of progress in other areas &#8211; Most notably, I finally got a CNC controller board populated!</p>
<p><a title="Fully populated CNC board by sgstair, on Flickr" href="http://www.flickr.com/photos/sgstair/5960635004/"><img src="http://farm7.static.flickr.com/6136/5960635004_ae93eb4986.jpg" alt="Fully populated CNC board" width="500" height="375" /></a></p>
<p>Isn&#8217;t it lovely?  I certainly think so, after all the work that went into getting this far :)</p>
<p>Sadly, I won&#8217;t really get much further at the moment (need to get back to an all-consuming secret project), but this has marked a pretty big milestone in a few of my projects (the reflow controller also works pretty nicely!)</p>
<p>I&#8217;ll be sure to take some time and write up these when I make some more progress (or just get sick of working on the more important stuff again)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.akkit.org/2011/07/23/cnc-controller-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CNC Controller</title>
		<link>http://blog.akkit.org/2011/02/21/cnc-controller/</link>
		<comments>http://blog.akkit.org/2011/02/21/cnc-controller/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 05:53:18 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Circuit Design]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[PCB Layout]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.akkit.org/?p=360</guid>
		<description><![CDATA[Progress! At long last! Over the past month I have been designing a CNC controller for various small projects I&#8217;ve been kicking around (oh things like 3d printing, building a pick&#38;place, and some other random thoughts) Being the hopelessly stubborn sort that I am, I decided to build it from scratch. The design work for [...]]]></description>
			<content:encoded><![CDATA[<p>Progress! At long last!</p>
<p>Over the past month I have been designing a CNC controller for various small projects I&#8217;ve been kicking around (oh things like 3d printing, building a pick&amp;place, and some other random thoughts)</p>
<p>Being the hopelessly stubborn sort that I am, I decided to build it from scratch. The design work for something like this is something I enjoy immensely, and while I don&#8217;t always get everything right the first time (There are a few inefficiencies, but nothing terrible), it&#8217;s been a lot of fun and a good learning experience.</p>
<p>Here&#8217;s an image of the final board design, and past the break is a very long thread of text and images showing the steps getting to this point:</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip27.png"><img class="alignnone size-medium wp-image-387" title="cnc_wip27" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip27-300x186.png" alt="" width="300" height="186" /></a></p>
<p><span id="more-360"></span></p>
<p>(After weeks of looking at this really closely, it seems amazing to me how small the board actually is)</p>
<p>Let&#8217;s start with the big questions:</p>
<p>Why design a stepper motor controller when so many already exist?</p>
<p>Mainly because I hadn&#8217;t done so before, and it seemed like a fun idea. Also because I have the unhealthy tendency to reinvent the wheel, and I&#8217;m not about to do anything to fix that. ;) Additionally though, I wanted to make something better than just the standard off-the-shelf motor controller</p>
<p>What are the design goals for this project?</p>
<p>The core design goal is to be very flexible. This system is rather overkill as a result, it can drive 12V and 5V steppers, and also has a lower current variable voltage rail intended to drive voltages between 5V and 12V. There is an ARM microcontroller that handles all the interface and data management, and it&#8217;s attached to two FPGAs which will be able to drive the steppers with very precise timings. As it stands, the board is designed to drive 5 stepper motors and additionally a bank of 8 standard R/C servos for miscellaneous other stuff; And each of the stepper interfaces could be used to drive two normal motors too, or resistive elements for heating, or &#8230;</p>
<p>Being easy to repurpose and reuse with other systems was a priority too; This design uses motor connectors which should be compatible with the system makerbot is using. For everything else (end stops, etc) it&#8217;s using 2 and 4 pin 1mm pitch JST-SH connectors which are also pretty common. There are two I2C busses which are designed to accept arbitrary sensors or controllers to be added to the system</p>
<p>Will you sell them / release design files / etc?</p>
<p>Likely one or more of the above,  but I want to get it working first.</p>
<p>I&#8217;ll be happy to field other questions, let me know if you have any!</p>
<p>About design challenges:</p>
<p>This board started with  the basic stepper motor design, and in trying to make it as useful as possible &#8211; I wound up with a motor controller as a train of 4 H-Bridges, attached to a local per-motor power rail. Each h-bridge would get two control lines from the FPGA (drive up/down), and one sense line, which tells the FPGA whether the voltage is above about 1V or so. Not a lot of information but will probably come in handy.</p>
<p>Ultimately this area is where the design flaw in this first revision is &#8211; The output stage of the H-Bridge is driven by a pair of FETs, a P-Fet to pull up, and an N-Fet to pull down. Since the P-Fet&#8217;s gate needs to be near the high level (these P-fets will turn on when the voltage is less than the high voltage minus a volt or so), I&#8217;m using a second stage of fets to invert the FPGA signal and make sure it can fully be turned off. I am driving the N-Fet&#8217;s gate directly with the FPGA though, and while the 3.3V signal is high enough to turn on the FET, it&#8217;s not high enough to turn it &#8220;all the way&#8221; on, so it operates in a less efficient mode. This effectively limits the amount of current I can drive efficiently to about 1A instead of 2A or so which I was designing for &#8211; but that&#8217;s not a major loss for my application so I&#8217;m going ahead with this revision anyway. I&#8217;ve found some level shifter chips that will use in subsequent versions which will solve this problem for me though, and drive both P and N FETs fully.</p>
<p>Routing this board was also a fun challenge, I tried to keep as many of the signals as possible on the top layer to have good return paths to ground. Ultimately this didn&#8217;t work out to be perfect, but it&#8217;s pretty good. The motor area in particular is very clean on the back side, and only has the ground plane and local power traces.</p>
<p>In order to make the input section as dense as possible, there are actually two PCB levels. There&#8217;s a second PCB which will stack on top of the first one, attached with one rectangular board-board connector mating, and another one with ribbon cables; This makes it possible to also enclude end-stops, rotary encoder inputs (which may not be really interesting, but may be used for something else entirely) and LEDs per motor. It&#8217;s also used for the I2C connections.</p>
<p>As is my custom, I have taken screenshots of the board&#8217;s layout at various arbitrary points in the design process, and the result is that you can see how the board has evolved over time.</p>
<p>This project has been extremely long running, as far as projects go, so I have accumulated a massive 27 WIP images. They are here below with inline commentary for your amusement:</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip1.png"><img class="alignnone size-medium wp-image-361" title="cnc_wip1" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip1-300x243.png" alt="" width="300" height="243" /></a></p>
<p>First things first &#8211; Settled on a core design and layout, and the set of parts to use. This greatly shaped what the rest of the board ended up looking like</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip2.png"><img class="alignnone size-medium wp-image-362" title="cnc_wip2" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip2-300x200.png" alt="" width="300" height="200" /></a></p>
<p>Added some more important things: Power and interface. The line voltage footprint was added for spacing reasons, and because I am considering building a line voltage -&gt; ATX module to fit on top at some point. But that&#8217;s a crazy project in its own right.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip3.png"><img class="alignnone size-medium wp-image-363" title="cnc_wip3" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip3-141x300.png" alt="" width="141" height="300" /></a></p>
<p>Duplicated the motor tile for all 5 motors&#8230; And ended up with a huge mess of components!</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip4.png"><img class="alignnone size-medium wp-image-364" title="cnc_wip4" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip4-300x174.png" alt="" width="300" height="174" /></a></p>
<p>Mostly sorted out the motor tiles at this point, and added FPGAs</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip5.png"><img class="alignnone size-medium wp-image-365" title="cnc_wip5" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip5-300x187.png" alt="" width="300" height="187" /></a></p>
<p>The power distribution traces have been added. These are &gt;100 mil traces for high current capacity (And the PCB will be 2Oz copper); Oh also added an ARM</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip6.png"><img class="alignnone size-medium wp-image-366" title="cnc_wip6" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip6-300x200.png" alt="" width="300" height="200" /></a></p>
<p>Added the switching power supply for the variable voltage rail, and started working on layout for the per-motor power distribution on the first two tiles. Added 4 R/C servo outputs (was planning on putting the other 4 on the stacked second layer board)</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip7.png"><img class="alignnone size-medium wp-image-367" title="cnc_wip7" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip7-300x196.png" alt="" width="300" height="196" /></a></p>
<p>Decided how the motor tiles should connect to the FPGA, for the first 3 tiles. Started working on routing them, and further layout/routing on the motor3-4 tiles.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip8.png"><img class="alignnone size-medium wp-image-368" title="cnc_wip8" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip8-300x188.png" alt="" width="300" height="188" /></a></p>
<p>Further progress routing attachments to the FPGA</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip9.png"><img class="alignnone size-medium wp-image-369" title="cnc_wip9" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip9-300x188.png" alt="" width="300" height="188" /></a></p>
<p>More traces!</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip10.png"><img class="alignnone size-medium wp-image-370" title="cnc_wip10" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip10-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Yet more traces! Started thinking about second FPGA placement, and R/C servo connector layout</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip11.png"><img class="alignnone size-medium wp-image-371" title="cnc_wip11" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip11-300x185.png" alt="" width="300" height="185" /></a></p>
<p>Many things here! Decided on a scheme for  attaching I/O to the upper level I/O board, Also decided to put all 8 R/C servo interfaces on the bottom level to be consistent (after realizing that the top board would need to stick forward, so the JST connectors will be remotely close to the front of the other pins). And also designed the voltage/current measuring circuts, whose components were stuffed up in the top middle for now.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip12.png"><img class="alignnone size-medium wp-image-372" title="cnc_wip12" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip12-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Started routing the power enable lines from the motor2-3 tiles, this was a bit tricky as there&#8217;s no good place to put the traces except on the back side. With the other constraints in place there really isn&#8217;t another good place to put them.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip13.png"><img class="alignnone size-medium wp-image-373" title="cnc_wip13" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip13-300x188.png" alt="" width="300" height="188" /></a></p>
<p>Starting to route the second FPGA, messed with a ground plane up by the switching power supply.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip14.png"><img class="alignnone size-medium wp-image-374" title="cnc_wip14" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip14-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Routed almost all the rest of the second FPGA!</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip15.png"><img class="alignnone size-medium wp-image-375" title="cnc_wip15" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip15-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Added FPGA jtag connector, started to organize current measuring components, and attached the FPGA2 to the uC in a convenient location</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip16.png"><img class="alignnone size-medium wp-image-376" title="cnc_wip16" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip16-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Added serial level shifter, and finished organizing the current measuring components &#8211; Starting their layout.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip17.png"><img class="alignnone size-medium wp-image-377" title="cnc_wip17" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip17-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Added a serial flash and a second JTAG connector for the ARM. This isn&#8217;t a standard ARM jtag connector, but I didn&#8217;t have space for one, this will work well enough though.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip18.png"><img class="alignnone size-medium wp-image-378" title="cnc_wip18" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip18-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Added components for a &#8220;shutdown&#8221; switch. Decided to add a 3.3V serial connection broken out to a header, and continued stuffing the power measurement components into the space near the CPU.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip19.png"><img class="alignnone size-medium wp-image-379" title="cnc_wip19" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip19-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Started routing power for the first FPGA. There are 3 voltage levels to manage; GND, 3.3V, and 1.2V. Routing strategy was to run 1.2V on the top layer, 3.3V in the middle on the bottom layer, and GND will fill everything else. ARM cpu is similar, except 1.8V rather than 1.2V</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip20.png"><img class="alignnone size-medium wp-image-380" title="cnc_wip20" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip20-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Finished placing and routing (most of) the power measurement components! Also finished layout of the shutdown / serial header components in the middle of the top.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip21.png"><img class="alignnone size-medium wp-image-381" title="cnc_wip21" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip21-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Starting to route some other stuff around, and power for the ARM</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip22.png"><img class="alignnone size-medium wp-image-382" title="cnc_wip22" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip22-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Finished JTAG signals</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip23.png"><img class="alignnone size-medium wp-image-383" title="cnc_wip23" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip23-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Finished ARM chip power routing!</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip24.png"><img class="alignnone size-medium wp-image-384" title="cnc_wip24" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip24-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Now finished second FPGA power too! So very close now :)</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip25.png"><img class="alignnone size-medium wp-image-385" title="cnc_wip25" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip25-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Went back and enabled the Names layer and repositioned all of the uncooperative part labels :)</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip26.png"><img class="alignnone size-medium wp-image-386" title="cnc_wip26" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip26-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Added ground fill. Added lots of vias, started vetting design for bad features in the ground fill &amp; vias too close to pads &amp; etc.</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip26.png"></a><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip27.png"><img class="alignnone size-medium wp-image-387" title="cnc_wip27" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnc_wip27-300x186.png" alt="" width="300" height="186" /></a></p>
<p>Add pick&amp;place markers, some silkscreen, further vetting, overall is pretty much done at this point!</p>
<p>That&#8217;s the last image I have &#8211; I have made a few tiny changes since that (found some more vias too close to pads on the back layer)</p>
<p>And after this board was done, I went on to build the I/O board that will sit on top of it. That was far less difficult and the images I have are below:</p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnctop_wip1.png"><img class="alignnone size-medium wp-image-388" title="cnctop_wip1" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnctop_wip1-300x79.png" alt="" width="300" height="79" /></a></p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnctop_wip2.png"><img class="alignnone size-medium wp-image-389" title="cnctop_wip2" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnctop_wip2-300x78.png" alt="" width="300" height="78" /></a></p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnctop_wip3.png"><img class="alignnone size-medium wp-image-390" title="cnctop_wip3" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnctop_wip3-300x77.png" alt="" width="300" height="77" /></a></p>
<p><a href="http://blog.akkit.org/wp-content/uploads/2011/02/cnctop_wip4.png"><img class="alignnone size-medium wp-image-391" title="cnctop_wip4" src="http://blog.akkit.org/wp-content/uploads/2011/02/cnctop_wip4-300x78.png" alt="" width="300" height="78" /></a></p>
<p>I&#8217;ve had fun building this board but I&#8217;m rather glad this phase is over. I&#8217;m now sending the design to be produced and will have to order a large pile of parts to populate some boards with :)</p>
<p>Wish me luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.akkit.org/2011/02/21/cnc-controller/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Format Change (2)</title>
		<link>http://blog.akkit.org/2011/01/29/format-change-2/</link>
		<comments>http://blog.akkit.org/2011/01/29/format-change-2/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 20:57:53 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.akkit.org/?p=355</guid>
		<description><![CDATA[Well, when I initially pushed myself into writing on a schedule, I thought having to write about something periodically would be an interesting challenge; I&#8217;ve learned a few things since then, one of which is that when I don&#8217;t have anything specific to talk about, I don&#8217;t really have anything to say either; So I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Well, when I initially pushed myself into writing on a schedule, I thought having to write about something periodically would be an interesting challenge; I&#8217;ve learned a few things since then, one of which is that when I don&#8217;t have anything specific to talk about, I don&#8217;t really have anything to say either; So I&#8217;m changing the format of this blog once again to just post about project completion &amp; milestones when they happen, rather than on a fixed schedule. Looking back the updates I&#8217;ve made are interesting from the perspective of seeing how things were going over time, but I think it will be more interesting if I&#8217;m just writing about the stuff that excites me :)</p>
<p>With that said, there&#8217;s nothing to  show for this week besides minor progress on a few fronts; so here&#8217;s a picture of my desk as it stands pretty recently:</p>
<p><a title="IMG_0620.JPG by sgstair, on Flickr" href="http://www.flickr.com/photos/sgstair/5395257484/"><img src="http://farm6.static.flickr.com/5258/5395257484_762fabdc15.jpg" alt="IMG_0620.JPG" width="500" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.akkit.org/2011/01/29/format-change-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Working on stuff</title>
		<link>http://blog.akkit.org/2011/01/17/working-on-stuff/</link>
		<comments>http://blog.akkit.org/2011/01/17/working-on-stuff/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 18:04:43 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.akkit.org/?p=352</guid>
		<description><![CDATA[Ah! It&#8217;s been 2 weeks again already; Work speed for me always varies a lot, but I&#8217;ve been unlucky lately: I put in a lot of effort for one project and then it stalled right near the end. I&#8217;ll go back and finish it and write it up sometime soon though :) In the meantime [...]]]></description>
			<content:encoded><![CDATA[<p>Ah! It&#8217;s been 2 weeks again already; Work speed for me always varies a lot, but I&#8217;ve been unlucky lately: I put in a lot of effort for one project and then it stalled right near the end. I&#8217;ll go back and finish it and write it up sometime soon though :)</p>
<p>In the meantime however, I have received the reflow controller PCBs I mentioned a month ago! Some pictures are up on flickr, one is below &#8211; I don&#8217;t have it working yet but that will become a priority pretty soon.</p>
<p><a title="IMG_0618.JPG by sgstair, on Flickr" href="http://www.flickr.com/photos/sgstair/5358838183/"><img src="http://farm6.static.flickr.com/5049/5358838183_42c28042ba.jpg" alt="IMG_0618.JPG" width="500" height="375" /></a></p>
<p>Coming next:  I&#8217;m currently working pretty hard on a CNC controller for stepper motors and some other things; As usual my ideal is to build my own solution instead of using any existing one, so I&#8217;m desiging my own now. I will post a full writeup on it once I have it completed, but don&#8217;t want to share any details at the moment.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.akkit.org/2011/01/17/working-on-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011 is upon us</title>
		<link>http://blog.akkit.org/2011/01/04/2011-is-upon-us/</link>
		<comments>http://blog.akkit.org/2011/01/04/2011-is-upon-us/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 18:19:55 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.akkit.org/?p=347</guid>
		<description><![CDATA[Projects have been moving more slowly than I anticipated, and I don&#8217;t really have time to write much, so I&#8217;ll defer this update; Will post about what I&#8217;ve been doing in (just under) 2 weeks. Happy new year, all.]]></description>
			<content:encoded><![CDATA[<p>Projects have been moving more slowly than I anticipated, and I don&#8217;t really have time to write much, so I&#8217;ll defer this update; Will post about what I&#8217;ve been doing in (just under) 2 weeks.</p>
<p>Happy new year, all.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.akkit.org/2011/01/04/2011-is-upon-us/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
