<?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>Keith&#039;s Electronics Blog &#187; Equipment</title>
	<atom:link href="http://www.neufeld.newton.ks.us/electronics/?cat=19&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.neufeld.newton.ks.us/electronics</link>
	<description></description>
	<lastBuildDate>Fri, 18 Apr 2025 00:10:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Vintage ED-Lab Prototyping Station</title>
		<link>http://www.neufeld.newton.ks.us/electronics/?p=1803</link>
		<comments>http://www.neufeld.newton.ks.us/electronics/?p=1803#comments</comments>
		<pubDate>Wed, 16 Sep 2020 23:25:16 +0000</pubDate>
		<dc:creator>Keith Neufeld</dc:creator>
				<category><![CDATA[Equipment]]></category>

		<guid isPermaLink="false">http://www.neufeld.newton.ks.us/electronics/?p=1803</guid>
		<description><![CDATA[Spotted at a thrift store. Of course anything with that many knobs and jacks caught my eye, and it&#8217;s in fantastic cosmetic condition. Looking more closely, the function generator would have been a dream to have when first learning about op amps!]]></description>
			<content:encoded><![CDATA[<p>Spotted at a thrift store.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2020/06/27/IMG_20200627_1639074_crop.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2020/06/27/IMG_20200627_1639074_crop_mid.jpg" alt="" /></a></p>
<p>Of course anything with that many knobs and jacks caught my eye, and it&#8217;s in fantastic cosmetic condition.</p>
<p>Looking more closely, the function generator would have been a dream to have when first learning about op amps!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neufeld.newton.ks.us/electronics/?feed=rss2&#038;p=1803</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Careful with That Desulfator, Eugene</title>
		<link>http://www.neufeld.newton.ks.us/electronics/?p=1605</link>
		<comments>http://www.neufeld.newton.ks.us/electronics/?p=1605#comments</comments>
		<pubDate>Fri, 19 Sep 2014 18:19:51 +0000</pubDate>
		<dc:creator>Keith Neufeld</dc:creator>
				<category><![CDATA[Equipment]]></category>
		<category><![CDATA[Inside]]></category>

		<guid isPermaLink="false">http://www.neufeld.newton.ks.us/electronics/?p=1605</guid>
		<description><![CDATA[I&#8217;ve achieved some promising results from my battery desulfator / dewhiskerer / whateverer &#8230; and some less promising results. The smaller the battery, the more important it is not to forget that the desulfator / dewhiskerer is on. This was, as I recall, only about a fifteen-minute overdose. The magic smoke, I assure you, got [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve achieved some promising results from my <a href="http://screwdecaf.cx/dapimp.html">battery desulfator / dewhiskerer / whateverer</a> &hellip; and some less promising results.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2014/03/24/IMG_20140324_192928.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2014/03/24/IMG_20140324_192928_mid.jpg" alt="overcharged 9-V / 7.2-V batteries" /></a></p>
<p>The smaller the battery, the more important it is not to forget that the desulfator / dewhiskerer is on.  This was, as I recall, only about a fifteen-minute overdose.  The magic smoke, I assure you, got out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neufeld.newton.ks.us/electronics/?feed=rss2&#038;p=1605</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wanted: An EPROM Programmer that Works on a Mac</title>
		<link>http://www.neufeld.newton.ks.us/electronics/?p=1555</link>
		<comments>http://www.neufeld.newton.ks.us/electronics/?p=1555#comments</comments>
		<pubDate>Fri, 28 Dec 2012 17:04:11 +0000</pubDate>
		<dc:creator>Keith Neufeld</dc:creator>
				<category><![CDATA[Arcade]]></category>
		<category><![CDATA[Equipment]]></category>
		<category><![CDATA[Vintage Computing]]></category>

		<guid isPermaLink="false">http://www.neufeld.newton.ks.us/electronics/?p=1555</guid>
		<description><![CDATA[And Linux. And old, high-programming-voltage EPROMs. And USB, naturally. If you know of such a thing, give me a shout in the comments &#8212; I can&#8217;t find any on Google, and I find plenty of links to other people who also couldn&#8217;t find them. 6502 Microprocessor, Apple ][, and Asteroids A couple of weeks ago, [...]]]></description>
			<content:encoded><![CDATA[<p>And Linux.  And old, high-programming-voltage EPROMs.  And USB, naturally.  If you know of such a thing, give me a shout in the comments &#8212; I can&#8217;t find any on Google, and I find plenty of links to other people who also couldn&#8217;t find them.</p>
<h3>6502 Microprocessor, Apple ][, and Asteroids</h3>
<p>A couple of weeks ago, I went to an annual holiday lunch with former coworkers and got to visit with an old friend.  He was reminiscing about 6502 assembly programming on the Apple ][ and wondered whether I'd know where he could get one.  I told him that I could probably loan him one or two; but (with a mischievous glint in my eye) that I have a couple of <a href="http://en.wikipedia.org/wiki/Asteroids_%28video_game%29">upright Asteroids arcade games</a> and they run on 6502s and I&#8217;ve always wanted to reprogram one and write my own game.</p>
<p>Bump, set, spike.  Yeah, he&#8217;s interested.</p>
<p>It&#8217;s not a completely impractical idea.  I have a large schematic set that includes the addressing of the memory-mapped I/O and some rudimentary information on the operation of the vector generator board.  There&#8217;s even a <a href="http://www.ionpool.net/arcade/astcode/asteroids_code_project.html">project to comment the disassembled ROM</a>, which would give further hints about how to interface to the hardware.</p>
<p>If one were to undertake such a project, one would really like to use a USB-attached EPROM emulator so one could dump new code into the machine frequently and rapidly for testing and development.  But at a bare minimum, one would need a stack of EPROMs and a programmer and ideally a ZIF-socket daughterboard to fit into the original EPROM socket and make it easy to swap EPROMs.  As I have no Windows machines and do my electronics development on a synchronized fleet of Mac and Linux machines, a commercial EPROM programmer that I can use is going to be a little bit hard to come by.</p>
<p>Yes, I could run Windows under virtualization on my Mac; I think I may even be able to get a legal copy through my campus&#8217;s license agreement.  But I&#8217;m not interested in going that direction unless I have to.</p>
<p>Isn&#8217;t it about time the world had a cross-platform EPROM programmer?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neufeld.newton.ks.us/electronics/?feed=rss2&#038;p=1555</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>If All You Have Is a Logic Analyzer, Everything Looks Like a Timing Problem</title>
		<link>http://www.neufeld.newton.ks.us/electronics/?p=1519</link>
		<comments>http://www.neufeld.newton.ks.us/electronics/?p=1519#comments</comments>
		<pubDate>Thu, 28 Jun 2012 02:44:29 +0000</pubDate>
		<dc:creator>Keith Neufeld</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Equipment]]></category>

		<guid isPermaLink="false">http://www.neufeld.newton.ks.us/electronics/?p=1519</guid>
		<description><![CDATA[I just rewrote the Arduino Playground Nokia LCD screen code to use hardware SPI instead of ShiftOut(). (More work to do before releasing the code back to the community. And I know, not everyone will want to use the hardware SPI, but it should be an option.) It looked like a trivial change, but after [...]]]></description>
			<content:encoded><![CDATA[<p>I just rewrote the <a href="http://www.arduino.cc/playground/Code/PCD8544">Arduino Playground Nokia LCD screen code</a> to use hardware SPI instead of <code>ShiftOut()</code>.  (More work to do before releasing the code back to the community.  And I know, not everyone will want to use the hardware SPI, but it should be an option.)</p>
<p>It looked like a trivial change, but after making it, the display&#8217;s screen remained blank.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2012/06/27/spi-bad-ss.png"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2012/06/27/spi-bad-ss_mid.png" alt="Logic analyzer capture of bad SPI communication" /></a></p>
<p>But &hellip; but &hellip; but &hellip; the slave-select line is supposed to be held low during each byte of transmission.  I know the ATmega&#8217;s SPI hardware doesn&#8217;t manage it for you, but surely the Arduino&#8217;s <code>SPI.transfer()</code> function does, right???</p>
<h3>Working Arduino SPI Transfer</h3>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2012/06/27/spi-manual-ss.png"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2012/06/27/spi-manual-ss_mid.png" alt="Logic analyzer capture of working SPI communication" /></a></p>
<p>No.  You have to manage it manually.</p>
<p><code>void LcdWrite(byte dc, byte data) {<br />
  digitalWrite(PIN_SS, LOW);<br />
  digitalWrite(PIN_DC, dc);<br />
  SPI.transfer(data);<br />
  digitalWrite(PIN_SS, HIGH);<br />
}</code></p>
<p>SPI support is a <em>perfect</em> candidate to be a real object-oriented class rather than a functional library in OO clothing.  Instantiate objects that know which slave-select pin is theirs, which may have different bit orders and clock rates and clock modes, and provide a <code>transfer()</code> method that sets all the registers, twiddles SS for you, and transfers your byte.</p>
<p>Sigh.</p>
<h3>Faster Arduino SPI Transfer</h3>
<p>BTW, notice on the second capture that manually bouncing SS using two <code>digitalWrite()</code>s <em>takes longer than transferring eight bits of data using the hardware SPI</em>.  Start to understand why I want to transfer data using hardware instead of bit-banging?</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2012/06/27/spi-faster-ss.png"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2012/06/27/spi-faster-ss_mid.png" alt="Logic analyzer capture of working SPI communication with fast SS manipulation" /></a></p>
<p>Manipulating the SS bit in the port register directly is <em>much</em> faster &hellip; at the cost of being much less clear what&#8217;s going on to non-native speakers of C.</p>
<p><code>void LcdWrite(byte dc, byte data) {<br />
  PORTB &#038;= ~ (1 << 2);<br />
  digitalWrite(PIN_DC, dc);<br />
  SPI.transfer(data);<br />
  PORTB |= (1 << 2);<br />
}</code></p>
<h3>ATmega I/O Pin Hardware Toggling for Fastest Arduino SPI Transfer (That Isn't Any Faster)</h3>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2012/06/27/atmega-port-toggle.png"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2012/06/27/atmega-port-toggle_mid.png" alt="ATmega I/O pin hardware toggle diagram" /></a></p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2012/06/27/spi-fastest-ss.png"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2012/06/27/spi-fastest-ss_mid.png" alt="Logic analyzer capture of working SPI communication with fast SS manipulation" /></a></p>
<p>The C-based bit manipulation code above is already fast enough that the timing constraint has moved back to the programmer-selected SPI clocking speed and the ultimate solution -- <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1282100129">using the ATmega's hardware-based pin toggle feature</a> -- doesn't save any noticeable time, <strike>but the code sure looks cool</strike> <strike>but it's the right thing to do</strike> and it's a risky game to play to assume you always know correctly the logic level of the pin when you enter the function.</p>
<p><code>void LcdWrite(byte dc, byte data) {<br />
  PINB = _BV(PINB2);<br />
  digitalWrite(PIN_DC, dc);<br />
  SPI.transfer(data);<br />
  PINB = _BV(PINB2);<br />
}</code></p>
<p>(BTW, I had a dream recently -- which I did not know was not real -- in which the latest Arduino release added <code>digitalWrite(pin, TOGGLE)</code> to do the above.  Imagine my disappointment tonight to learn it was only a dream.  And no, I'm not the first to suggest that feature, by a long shot.  Just, maybe, the first to think it had actually happened.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neufeld.newton.ks.us/electronics/?feed=rss2&#038;p=1519</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PCB Milling with the MakerBot CupCake:  Aluminum Leveling Platform</title>
		<link>http://www.neufeld.newton.ks.us/electronics/?p=1302</link>
		<comments>http://www.neufeld.newton.ks.us/electronics/?p=1302#comments</comments>
		<pubDate>Sun, 20 Mar 2011 03:02:14 +0000</pubDate>
		<dc:creator>Keith Neufeld</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Equipment]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[MakerBot CupCake]]></category>

		<guid isPermaLink="false">http://www.neufeld.newton.ks.us/electronics/?p=1302</guid>
		<description><![CDATA[Last weekend I got my Dremel rigidly mounted in my CupCake for PCB milling, but the platform holding the PCB was attached with double-stick foam and was being deflected by the milling bit cutting the copper, causing considerable deviation from the intended milling path. Last night Steve cut some more aluminum plate for me and [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend <a href="?p=1294">I got my Dremel rigidly mounted in my CupCake for PCB milling</a>, but the platform holding the PCB was attached with double-stick foam and was being deflected by the milling bit cutting the copper, causing considerable deviation from the intended milling path.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/19/DSCN7917.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/19/DSCN7917_mid.jpg" alt="Leveling platform in MakerBot CupCake" /></a></p>
<p>Last night Steve cut some more aluminum plate for me and today I assembled a rigidly-mounted leveling platform to replace the stock build platform.  The lower plate has holes matching the machine screws attaching the top of the Y stage, and I used slightly longer screws to bolt through both the aluminum plate and the original wood top into the Y carriage.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/19/DSCN7925.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/19/DSCN7925_mid.jpg" alt="Leveling screw with nylock nut, upper view" /></a></p>
<p>I drilled holes in the corners, tapped the upper plate, and enlarged the holes in the lower plate.  The socket-head cap screws spin freely in the lower plate while adjusting the upper plate&#8217;s height (I used a continuity meter to check when the milling bit was just barely touching the plate in each corner); then the nylon-insert nuts lock the screws in position.  The whole assembly is quite rigid once tightened.</p>
<p>A number of designs for leveling build platforms use only springs between the two plates.  I was concerned that without a nut, the machine screws might back out under vibration.  Also, when extruding, having a platform with some give reduces the damage if you miscalculate the Z position and gouge the platform; but for milling, the whole point of this replacement is to remove any play in the platform.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/19/DSCN7939.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/19/DSCN7939_mid.jpg" alt="PCB milled in MakerBot CupCake" /></a></p>
<p>The results were not tremendously better than before (left board, top row of pads; right board from commercial mill for comparison), so I slowed the feed rate to .1&#8243; per minute and let the mill finish the rest of the board for five hours, just to see whether I could produce usable traces.  The traces cut at an outrageously slow feed rate are much better than previous results, but still a bit, shall we say, <em>interpretive</em> for my taste.</p>
<p>Having watched the Dremel bit trying to cut the copper and having tested it handheld out of the machine, I do recognize that it&#8217;s not the right bit for this job.  I have some carbide engraving bits recommended by Pierre (exuinoxefr) on the way from Hong Kong, and I think they&#8217;ll make a significant difference.  In April.</p>
<p>Meanwhile, note the three pads in the center of the board.  Even at only one stepper motor step per second, the board took a very consistently incorrect path under the toolhead.  Also note that the diagonal lines look like they were drawn with a left-handed quill pen &#8212; NE/SW lines are thicker than NW/SE.</p>
<p>I believe this is caused by the considerable play between the original CupCake bushings and the guide rods.  Tighter bushings would cause more friction, so they were chosen for a bit of a loose fit.  Even though the platform is now rigidly mounted on the Y carriage, the Y carriage wiggles on the Y guide rods and the X-Y carriage wiggles on the X guide rods.</p>
<p>I&#8217;m extremely interested in the <a href="http://www.thingiverse.com/thing:4213">Mendel-inspired replacement X-Y assembly</a> by Thingiverse contributor &#8220;twotimes.&#8221;  It replaces the bushings with sets of roller bearings spaced around the guide rods; the bearings can be tightened against the rods and still roll smoothly.  I intend to get in touch and ask whether it successfully removes the play from the carriages.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/19/DSCN7913.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/19/DSCN7913_mid.jpg" alt="Leveling platform in MakerBot CupCake, closeup" /></a></p>
<p>Although my immediate interest is whether I can use the CupCake that I already own as a PCB milling machine, the enhancements I&#8217;m making will improve it as a filament deposition machine as well.  The lack of leveling in my heated build platform prevented me from printing larger models; I&#8217;ve already drilled my heated platform to fit interchangeably into this new system.  Smoother X-Y action from a replacement carriage can only help, too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neufeld.newton.ks.us/electronics/?feed=rss2&#038;p=1302</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>PCB Milling with the MakerBot CupCake and a Dremel (Almost)</title>
		<link>http://www.neufeld.newton.ks.us/electronics/?p=1282</link>
		<comments>http://www.neufeld.newton.ks.us/electronics/?p=1282#comments</comments>
		<pubDate>Tue, 08 Mar 2011 04:53:56 +0000</pubDate>
		<dc:creator>Keith Neufeld</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Equipment]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[MakerBot CupCake]]></category>

		<guid isPermaLink="false">http://www.neufeld.newton.ks.us/electronics/?p=1282</guid>
		<description><![CDATA[My Dremel&#8217;s spindle had much more solid bearings than the Handy Grinder, so I mounted it in the CupCake tonight to try milling with it. It fit even worse through the Z stage than the Handy Grinder, but I remember having said something about the drill not even needing to be vertical as long as [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/07/DSCN7843.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/07/DSCN7843_mid.jpg" alt="Dremel mounted in MakerBot CupCake (lower view)" /></a></p>
<p>My Dremel&#8217;s spindle had much more solid bearings than the Handy Grinder, so I mounted it in the CupCake tonight to try milling with it.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/07/DSCN7854.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/07/DSCN7854_mid.jpg" alt="Dremel mounted in MakerBot CupCake (upper view)" /></a></p>
<p>It fit even worse through the Z stage than the Handy Grinder, but I remember having said something about the drill not even needing to be vertical as long as the bit&#8217;s tip made contact with the workpiece.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/07/DSCN7859.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/07/DSCN7859_mid.jpg" alt="Dremel milling PCB in MakerBot CupCake" /></a></p>
<p>The XY platform wasn&#8217;t quite level (deeper cutting on the right than the left); but the real problem was that the Z stage was <em>flexing</em>.  Not lifting off the Z stage guides &#8212; I could feel the acrylic bending as the tool direction changed.  This demanded backing off the Z axis to an extremely shallow, ineffective cut to keep the milling tip from tracking the cutting direction as it did with the Handy Grinder.</p>
<p>Increasing the rigidity of the Z stage by bolting a large plate to it while mounting the Dremel is my top priority for getting closer to usable performance.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/07/DSCN7863.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/07/DSCN7863_mid.jpg" alt="PCB after milling attempts" /></a></p>
<p>Straight off the mill after a variety of different attempts on the same workpiece.  Parts of it almost look usable &hellip;</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/07/DSCN7874.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/07/DSCN7874_mid.jpg" alt="PCB after milling attempts, sanded" /></a></p>
<p>But sanded, it&#8217;s clear that in most places the bit barely scratched the copper and wasn&#8217;t even close to scoring through, because of the obligatory shallow cut.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neufeld.newton.ks.us/electronics/?feed=rss2&#038;p=1282</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>PCB Milling with the MakerBot CupCake (Almost)</title>
		<link>http://www.neufeld.newton.ks.us/electronics/?p=1276</link>
		<comments>http://www.neufeld.newton.ks.us/electronics/?p=1276#comments</comments>
		<pubDate>Mon, 07 Mar 2011 02:11:41 +0000</pubDate>
		<dc:creator>Keith Neufeld</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Equipment]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[MakerBot CupCake]]></category>

		<guid isPermaLink="false">http://www.neufeld.newton.ks.us/electronics/?p=1276</guid>
		<description><![CDATA[I crave a CNC mill for trace-isolation milling prototype PC boards and I haven&#8217;t managed to get my CupCake filament deposition machine calibrated so I can use it. (Build platform leveling and filament feed are my current showstoppers. I&#8217;ll get back to it.) I knew that someone had proposed mounting a Dremel in place of [...]]]></description>
			<content:encoded><![CDATA[<p>I crave a CNC mill for trace-isolation milling prototype PC boards and I haven&#8217;t managed to get my CupCake filament deposition machine calibrated so I can use it.  (Build platform leveling and filament feed are my current showstoppers.  I&#8217;ll get back to it.)</p>
<p>I knew that someone had <a href="http://wiki.makerbot.com/forum/t-152342/turning-cupcake-into-a-subtractive-cnc">proposed mounting a Dremel in place of the CupCake&#8217;s extruder</a> and that MaskedRetriever had modeled a <a href="http://www.thingiverse.com/thing:632">mounting bracket</a>; but curiously, I haven&#8217;t heard any more about using the CupCake for milling.  Surely someone has done it; I just haven&#8217;t run across it.</p>
<p>Last night while I was asleep, the facts and the immediacy of the situation came together:  EAGLE can output trace-isolation g-code and ReplicatorG reads g-code and drives the CupCake.  Really???  PCB trace-isolation milling is that simple???</p>
<p>Yes.  Yes it is.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7806.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7806_mid.jpg" alt="Circuit board layout drawn with pen in MakerBot CupCake" /></a></p>
<p><span id="more-1276"></span></p>
<h3>PCB-GCode</h3>
<p>I have plenty of sample PCB layouts I could use for testing and I knew exporting trace-isolation g-code from EAGLE required a User Language Program (ULP) but couldn&#8217;t remember the details.  It turns out to be the marvelous <a href="ftp://ftp.cadsoft.de/eagle/userfiles/ulp/pcb-gcode-3.3.2.zip">PCB-GCode</a> written by John Johnson, which is a free download from <a href="http://www.cadsoftusa.com/cgi-bin/download.pl?page=/home/cadsoft/html_public/download.htm.en&#038;dir=eagle/userfiles/ulp">CadSoft&#8217;s user-contributed ULP page</a>.  Don&#8217;t be distracted by pcb-gcode-wizard; it&#8217;s a viewer you can use after running PCB-Gcode.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/EAGLE-directories.png"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/EAGLE-directories.png" alt="EAGLE directory path configuration dialog" /></a></p>
<p>As noted in a <a href="http://pcbgcode.org/read.php?15,165">forum post</a>, if you have multiple directories in your ULP search path, PCB-Gcode only finds its supporting files in the first directory listed.  Be sure to unzip it to the application ULP directory (not my first choice, as it&#8217;s overwritten every time a new EAGLE version is installed) or list your private ULP directory first (not my first choice, as that leads to a long directory-clicking experience every time you want to run an EAGLE-supplied ULP).</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/PCB-GCode-setup.png"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/PCB-GCode-setup_mid.png" alt="PCB-GCode setup screen" /></a></p>
<p>You begin by telling PCB-GCode a little about your milling machine, including positions and feed rates (and that ReplicatorG wants dimensions in mm).  Once configured, running PCB-GCode is almost anticlimactic.  It flashes some things on and off in your board layout while it figures toolpaths, then drops several <code>*.nc</code> g-code files in your directory.  ReplicatorG really likes g-code files to be named <code>*.gcode</code>, so I copied the top-side file accordingly.</p>
<h3>Testing with a Pen</h3>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7804.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7804_mid.jpg" alt="Pen mounted in MakerBot CupCake" /></a></p>
<p>To be sure PCB-GCode&#8217;s output was compatible with ReplicatorG, I first loaded the resulting g-code file and ran the CupCake with the extruder still mounted, far above the build platform.  It appeared to be moving the platform appropriately.</p>
<p>Next I wanted to test that the orientation and scale were as I expected, and for that I needed a bit more permanent record of the movements of the machine.  I used the extruder&#8217;s dino mounts to mark four hole positions on a stick, drilled another hole for a pen, mounted it on the Z stage, and had a $0 version of the $85 <a href="http://store.makerbot.com/makerbot-unicorn-pen-plotter-kit.html">Unicorn pen plotter</a>.</p>
<p>I attached a spare <a href="?p=835">acrylic base plate from my heated build platform</a> to the Y stage with double-stick foam, covered it with a cutout from a cereal box, and taped paper to that.</p>
<p>As shown above, EAGLE &rarr; CupCake pen plotter worked great!  Orientation and scale were as expected on the first try; and I got to see the multi-pass isolation milling, which should ease some of my troubles with solder bridging over milled gaps.</p>
<h3>Milling</h3>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7832.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7832_mid.jpg" alt="Handy grinder and Dremel bit packaging" /></a></p>
<p>For my milling attempt, I turned to the Handy Grinder (tastes like real octopus!) that I bought a <em>loooong</em> time ago with the intent of building a CNC drill/mill.  The advantage it offers over a Dremel is that it&#8217;s nearly cylindrical &#8212; and almost exactly 1.75&#8243; diameter &#8212; so instead of making a fancy mount, I used a hole saw to cut a recess in the side of another stick, lined the recess with a couple of strips of adhesive foam, and held the tool in place with zip ties.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7825.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7825_mid.jpg" alt="Handy grinder mounted in MakerBot CupCake" /></a></p>
<p>Sure, it&#8217;s eccentric in the Z stage&#8217;s extruder hole; but with no homing system, I&#8217;m eyeballing the starting position anyway.  Frankly, the tool doesn&#8217;t even need to be perfectly vertical &#8212; as long as the point of the milling bit is the first thing to contact the work surface, it&#8217;ll do the job.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7816.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7816_mid.jpg" alt="Old PC board barely scratched by milling attempt" /></a></p>
<p>Well, it <em>would</em> do the job if it were up to the job.  Unfortunately, the Dremel bit isn&#8217;t the right shape for milling copper, as you can see by the ferocious blows (er, gentle scratches) it dealt the PCB; and the Handy Grinder collet&#8217;s runout is tremendous, as you can see by the mill marks that double back on themselves as the collet bent along with the PCB movement.  Nope, this combination is not going to work.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7836.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2011/03/06/DSCN7836_mid.jpg" alt="Handy grinder, collet view" /></a></p>
<p>That&#8217;s a whole lotta collet and not nearly enough bearing.  That&#8217;s also a pseudo end mill that I tried after the V-grooving bit, with no better results.</p>
<p>And I was <em>so close</em>!</p>
<p>Looks like I need to go shopping for a new spindle and for a proper milling bit.  Suggestions welcome, even if the right tool has a complex profile so I can&#8217;t simply use a hole saw to make a mounting system out of a stick.</p>
<p>I do think the method is viable.  My Z stage is an early enough model that it can lift right off the nuts on the threaded rods; but I can add retaining plates if the right spindle and bit need more downward pressure than their own weight.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neufeld.newton.ks.us/electronics/?feed=rss2&#038;p=1276</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Low-Temperature-Cooked-Eggs in a PID-Controlled Crockpot</title>
		<link>http://www.neufeld.newton.ks.us/electronics/?p=1199</link>
		<comments>http://www.neufeld.newton.ks.us/electronics/?p=1199#comments</comments>
		<pubDate>Wed, 15 Dec 2010 03:56:37 +0000</pubDate>
		<dc:creator>Keith Neufeld</dc:creator>
				<category><![CDATA[Equipment]]></category>
		<category><![CDATA[Hacks]]></category>

		<guid isPermaLink="false">http://www.neufeld.newton.ks.us/electronics/?p=1199</guid>
		<description><![CDATA[The web is ablaze with projects for sous-vide (vacuum-sealed) and low-temperature / long-duration cooking. For those not familiar, the basic idea is that if a perfectly-cooked medium-rare steak is 120&#176;F / 49&#176;C in the center, by cooking traditionally on a grill, you overcook it everywhere but the center. Instead of cooking at a higher temperature [...]]]></description>
			<content:encoded><![CDATA[<p>The web is ablaze with projects for sous-vide (vacuum-sealed) and low-temperature / long-duration cooking.  For those not familiar, the basic idea is that if a perfectly-cooked medium-rare steak is 120&deg;F / 49&deg;C in the center, by cooking traditionally on a grill, you overcook it everywhere <em>but</em> the center.  Instead of cooking at a higher temperature and waiting exactly the right amount of time for the inside to warm up to the desired temperature, cook the entire piece in a water bath at the desired final temperature for a <em>long</em> time, then sear the outside to make it extra yummy.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7532.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7532_mid.jpg" alt="PID-controlled crockpot cooking two eggs" /></a></p>
<p>My project this weekend, rolling around in my head for way too long and finally kicked into motion by EMSL&#8217;s <a href="http://www.evilmadscientist.com/article.php/omelette">omelette-in-the-shell post</a>, is nothing new nor revolutionary; it&#8217;s merely mine.  Like many others before me, I plugged a crockpot into a <a href="?p=537">PID controller</a> to turn the crockpot&#8217;s heating element on and off and maintain its temperature precisely over a long period of time.</p>
<p><span id="more-1199"></span></p>
<h3>PID Controller</h3>
<p>Friday night I robbed the PID controller from my soldering hotplate, gathered the other pieces I was going to need, and prepared the back panel for my crockpot controller.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7562.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7562_mid.jpg" alt="PID controller, back view" /></a></p>
<p>I used a <a href="http://en.wikipedia.org/wiki/IEC_connector#C13_and_C14_connectors">C14 connector</a> rather than a hard-wired power cord because I want this controller to be as modular as possible &#8212; easy to pack up and take to a friend&#8217;s house.  Being able to disconnect the power cord made it feel a little easier to take apart and pack nicely.  I put <a href="http://en.wikipedia.org/wiki/NEMA_connector#NEMA_1">NEMA 1 receptacles</a> on the back rather than cut open an extension cord or rewire a crockpot for the same reason.  For now, I just trapped the thermocouple&#8217;s pins in the screw terminals that were already on the case.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7550.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7550_mid.jpg" alt="PID controller, front view" /></a></p>
<p>Saturday morning I made the front panel and wired it up.  The PID controller runs a solid-state relay that switches power to the receptacle where you plug in the crockpot.</p>
<p>PID controller from Sure Electronics ($37 with free shipping and screw-in thermocouple not used here; other controllers now available for less), SSR from modders_chn ($7 with free shipping), and dirt cheap probe-style K-type thermocouple from <a href="http://myworld.ebay.com/xiao2huan/">xiao2huan</a> ($3 including shipping), all on eBay.  <a href="http://www.pactecenclosures.com/">PacTec</a> case and terminal strip from an ancient (by definition, I guess) RS-232 multiplexer; new front panel plastic cut from some kind of van laptop tray thing.  C14 socket and internal wire from a dead PC power supply; NEMA 1 receps from a dead stereo receiver.  Reuse, reuse, reuse, baby.</p>
<h3>Choosing a Crockpot</h3>
<p>My next step was confirming that the crockpot I wanted to use would heat to the temperatures I needed.  A small crockpot seemed less wasteful of water, so I tried our 1-quart:</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/crockpot-small.png"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/crockpot-small.png" alt="" /></a></p>
<p>It took a long time to heat to its maximum temperature (during which time I left the house and came back); its maximum temperature is relatively low; and it had a much lower maximum temperature when I opened the lid just enough to stick the temperature probe into the water.  Didn&#8217;t feel like this would be a good choice to maintain temperatures in the 150&deg;F range, especially after dropping in food at a lower temperature.</p>
<p>Okay, no problem.  The water in a larger crockpot has a greater thermal mass and will drop less in temperature when adding food.  (Hm, maybe this is sloppy thinking &#8212; what&#8217;s really important is having an oversized heater to bring the temperature back up quickly?)</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/crockpot-medium.png"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/crockpot-medium.png" alt="" /></a></p>
<p>At any rate, the 4-quart crockpot heated to satisfactory temperatures in about an hour with the lid sitting partly open on the temperature probe the whole time, and reached even higher temperatures after another hour.</p>
<p><b>Lesson learned: Fill the crockpot with hot water to get a headstart.</b></p>
<h3>Eggs</h3>
<p><a href="http://www.cookingissues.com/">The French Culinary Institute&#8217;s technology blog</a> has <a href="http://www.cookingissues.com/primers/sous-vide/purdy-pictures-the-charts/">charts showing the results of different cooking methods on common items</a> (thanks for the link, EMSL!), which enticed me to try cooking a couple of eggs at 64&deg;C / 147&deg;F.</p>
<p>As seen in the very first picture, I set one egg directly on the bottom of the crockpot and put one on a pop bottle top to raise it and see whether the water temperature was significantly different in the middle than on the bottom.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7537.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7537_mid.jpg" alt="Toast and egg cooked at 64C for 75 minutes" /></a></p>
<p>I removed the raised egg after 75 minutes at 64&deg;C.  The yolk was just beyond soft-boiled, but the white was also quite soft &#8212; something you don&#8217;t get when the egg is cooked in boiling water and sets from the outside in.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7540.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7540_mid.jpg" alt="Toast spread with egg cooked at 64C for 75 minutes" /></a></p>
<p>Mashed on toast, it had a consistency somewhere between jelly and preserves &#8212; quite soft, but with variation in firmness between the softer white and the slightly firmer yolk.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7543.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7543_mid.jpg" alt="Toast and egg cooked at 64C for 90 minutes" /></a></p>
<p>I removed the second egg from the bottom of the crockpot after 90 minutes at 64&deg;C, and it was softer than the first.  Not only was the white runnier,</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7546.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7546_mid.jpg" alt="Toast and egg cooked at 64C for 90 minutes" /></a></p>
<p>but the yolk was still (barely) liquid.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7549.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/12/11/DSCN7549_mid.jpg" alt="Toast spread with egg cooked at 64C for 90 minutes" /></a></p>
<p>I find it interesting that either I had that much variation between two eggs of the same age from the same package, or that the bottom of the crockpot was that much cooler, that the egg sitting directly on the bottom was so much softer after 15 additional minutes of cooking.</p>
<p>And how were the eggs?  In spite of appearances in the photographs, completely cooked.  You&#8217;re likely not used to eating eggs with the whites still liquid, but they weren&#8217;t underdone.</p>
<p>They were incredibly mildly flavored.  Part of my interest in cooking low-temp eggs was that I&#8217;ve had a lot of overcooked eggs in my life and I&#8217;ve grown to detest the sulfuric flavor of overcooked yolks and the greasy plastickiness of overfried whites.  I make fast-cooked scrambled eggs that are constantly in motion in the pan and which don&#8217;t develop a sulfuric taste at all, and I had hopes that low-temp cooking would also avoid the sulfuric taste altogether.  Not only did they exceed my expectations for no sulfuric taste, but they surprised me by having so little taste at all that I could hardly tell they were on my toast.</p>
<p>So, not a huge win for my particular cuisine, but a significant proof of concept for the controller.  It works!</p>
<h3>Temperature Regulation</h3>
<p>When heating up, the egg batch actually overshot the 64&deg;C setpoint all the way up to 70&deg;C, at which point I added some cool water to help bring it back down.</p>
<p>I was using the factory settings for the PID control, and of course it can regulate more effectively if tuned to the characteristics of the particular system being controlled.  Saturday night I ran an autotune (not just for pop music) over the same temperature range, which generated the following changes from factory defaults and appeared to provide greater stability:</p>
<table border=1 cellspacing=0 cellpadding=5 align=center>
<tr>
<th>parameter</th>
<th>description</th>
<th>factory</th>
<th>tuned</th>
</tr>
<tr>
<td>P</td>
<td>proportional band <br/> (whatever that means)</td>
<td>30</td>
<td>3</td>
</tr>
<tr>
<td>I</td>
<td>integral time (seconds)</td>
<td>240</td>
<td>592</td>
</tr>
<tr>
<td>D</td>
<td>derivative time (seconds)</td>
<td>60</td>
<td>148</td>
</tr>
<tr>
<td>Ar</td>
<td>reference value (0-100%) <br/> &#8220;After AT, set automatical&#8221; <br/> (whatever that means)</td>
<td>25</td>
<td>100</td>
</tr>
<tr>
<td>r</td>
<td>heat-reset proportioning cycle <br/> (1-100 seconds) <br/> (whatever that means)</td>
<td>20</td>
<td>2</td>
</tr>
<tr>
<td>Pc</td>
<td>cool-side proportional band <br/> (1-1000% of heat-side proportional band) <br/> (whatever that means)</td>
<td>100</td>
<td>1</td>
</tr>
</table>
<p><b>Lesson learned:  Autotune the PID controller at least every time I use a different crockpot, and might as well on every batch, while warming up the water bath before adding the food product.</b></p>
<h3>Next Steps</h3>
<p>I need to <strong>glue or bolt the solid-state relay in position</strong>.  Right now it&#8217;s an electrical short hazard loose inside the case.  I really only put the case together to keep furry little paws from shocking themselves on the counter when this was running; but the closed case now presents the deceptive appearance of a finished, safe product.</p>
<p>I intend to try <strong>steak</strong> this weekend, sealed in a zip-lock baggie with all the air squeezed out.</p>
<p>I need to add an <strong>agitator to circulate the water</strong> in order to keep moving warm water next to the cooler food when first added and to avoid cold spots like I suspect the second egg inhabited.  I&#8217;m thinking about a small propeller at the end of a long plastic shaft run for a few seconds every minute or so, but I&#8217;m open to other ideas.</p>
<p>I should really <strong>calibrate the thermocouple</strong> in freezing and ideally boiling water, especially given how cheap it was.  I wonder whether its low cost makes its measurements less repeatable, off by an absolute amount, off of the expected response curve, or some combination of all of the above.  Maybe it&#8217;ll just fall apart sooner.  Nothing about my experience makes me suspect it; it&#8217;s just general leeriness of the low bid.</p>
<p>I want to add a proper <strong>thermocouple socket</strong> on the back of the case.  The screw terminals on the barrier strip are okay, but they weren&#8217;t made to hold the thermocouple&#8217;s prongs and a proper socket would be more reliable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neufeld.newton.ks.us/electronics/?feed=rss2&#038;p=1199</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Visiting San Diego</title>
		<link>http://www.neufeld.newton.ks.us/electronics/?p=1176</link>
		<comments>http://www.neufeld.newton.ks.us/electronics/?p=1176#comments</comments>
		<pubDate>Thu, 14 Oct 2010 15:34:49 +0000</pubDate>
		<dc:creator>Keith Neufeld</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Equipment]]></category>
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.neufeld.newton.ks.us/electronics/?p=1176</guid>
		<description><![CDATA[I&#8217;ve been in Anaheim, California for a conference this week, and I had the happy opportunity over the weekend to drive down to San Diego and meet in real life a couple of long-time blog friends, Scott and Ben. I knew I was in the right place as soon as I looked out my hotel [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been in Anaheim, California for a conference this week, and I had the happy opportunity over the weekend to drive down to San Diego and meet in real life a couple of long-time blog friends, Scott and <a href="http://www.makerswamp.com/">Ben</a>.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01289.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01289_mid.jpg" alt="Keith's Restaurant sign" /></a></p>
<p>I knew I was in the right place as soon as I looked out my hotel window.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/10/DSC01338.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/10/DSC01338_mid.jpg" alt="Scott Smith's laser cutter frame" /></a></p>
<p>Scott is building a copy of <a href="http://www.buildlog.net/cnc_laser/index.php">bdring&#8217;s DIY laser cutter</a>, which looks fantastic.  Over the weekend Scott was assembling the sleds that transport the mirror over the workpiece.  It&#8217;s a very nice design &#8212; everything is modular and everything is adjustable.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/10/DSC01347.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/10/DSC01347_mid.jpg" alt="Fly-milled delrin and aluminum" /></a></p>
<p>Scott and his machining mentor Peter generously demonstrated milling techniques on Scott&#8217;s Sherline mill.  Shown is a fly cutter that was just used to smooth the surface of delrin and aluminum blocks.  Although it&#8217;s not mirror-shiny, I was impressed at how easy it is (with the right cutting and feed rates) to clean up a face.  Peter also demonstrated the use of an edge-finder to precisely position a hole drilled into the edge of an acrylic plate for the laser cutter.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/10/DSC01349.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/10/DSC01349_mid.jpg" alt="Scott Smith's CNC mill interface" /></a></p>
<p>Scott&#8217;s mill came CNC-ready with mounts for stepper motors on all of the axes.  Scott designed and built his own interface between the PC&#8217;s parallel port and the stepper controls, adding indicator lights and the all-important stop button.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01292.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01292_mid.jpg" alt="Lemons on tree" /></a></p>
<p>California is full of things I&#8217;ve never seen before, like lemons on trees</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01309.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01309_mid.jpg" alt="Ben Wynne soldering an EasyBright" /></a></p>
<p>and people other than me</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01318.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01318_mid.jpg" alt="Scott Smith soldering an EasyBright" /></a></p>
<p>soldering together <a href="http://www.neufeld.newton.ks.us/easybright/">EasyBrights</a>.  I don&#8217;t have the microscope, though, so I don&#8217;t have to make the squinty face.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01296.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01296_mid.jpg" alt="Ben Wynne's RepRap Mendel" /></a></p>
<p>Scott and Ben have both been interested in my progress (and lack of usable results) on my MakerBot CupCake and Ben had just finished assembling a <a href="http://reprap.org/wiki/Mendel">RepRap Mendel</a> when I arrived.  It&#8217;s much more interesting in person than any picture or video I&#8217;ve seen has captured.  Compared to the CupCake, it&#8217;s incredibly smooth, quiet, precise, and easy to calibrate.  On day two, Ben was already churning out prints I envied.</p>
<p>Between Scott&#8217;s mill, Ben&#8217;s RepRap, and Scott&#8217;s laser cutter, they&#8217;re set to prototype just about anything.  I did suggest that Scott should build a water-jet cutter next, but he wasn&#8217;t having any of that.  I may need some time to warm him up to the idea.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/IMG00230-20101009-1742.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/IMG00230-20101009-1742_mid.jpg" alt="Project boxes at Fry's Electronics" /></a></p>
<p>We paid a visit to <a href="http://www.frys.com/">Fry&#8217;s Electronics</a>, a legendary California electronics components and computer retailer.  Although they&#8217;ve transformed into primarily a big-box electronics store, I was still impressed with their hobbyist / components section, including a larger variety of project boxes than I&#8217;d seen in one place and a good selection of components, including SMT passives, right there on the rack for the buying.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01330.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/09/DSC01330_mid.jpg" alt="Min Smith playing guqin" /></a></p>
<p>Back at Scott&#8217;s house, his wife Min was practicing her <a href="http://en.wikipedia.org/wiki/Guqin">guqin</a>, a Chinese instrument you may remember from a <a href="http://www.imdb.com/title/tt0299977/">Jet Li movie</a>.  Having been raised listening almost exclusively to western music (&#8220;We have both kinds!&#8221; &#8212; no, not <em>that</em> western music), I found its tuning even more unfamiliar than that of the guitar &#8212; it&#8217;s not tuned in regular intervals.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/10/DSC01384.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/10/10/DSC01384_mid.jpg" alt="Sunset over the Pacific" /></a></p>
<p>To top it all off, we had time to wander down to the beach for a California sunset.  Thanks, Scott, for an excellent visit with good electronics, great food, and local sights!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neufeld.newton.ks.us/electronics/?feed=rss2&#038;p=1176</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing Batteries in a Liebert GXT2-2000RT120 UPS</title>
		<link>http://www.neufeld.newton.ks.us/electronics/?p=1118</link>
		<comments>http://www.neufeld.newton.ks.us/electronics/?p=1118#comments</comments>
		<pubDate>Sun, 27 Jun 2010 18:21:56 +0000</pubDate>
		<dc:creator>Keith Neufeld</dc:creator>
				<category><![CDATA[Equipment]]></category>
		<category><![CDATA[Inside]]></category>
		<category><![CDATA[Repairs]]></category>

		<guid isPermaLink="false">http://www.neufeld.newton.ks.us/electronics/?p=1118</guid>
		<description><![CDATA[A while back, I bought a secondhand Liebert GXT2-2000RT120 uninterruptible power supply (UPS) on eBay. The GXT2 is a series of online UPSes, meaning that the output power always comes from the inverters off the battery bank; it doesn&#8217;t switch from utility power to battery power like an offline UPS. Besides eliminating any possible switchover [...]]]></description>
			<content:encoded><![CDATA[<p>A while back, I bought a secondhand Liebert GXT2-2000RT120 uninterruptible power supply (UPS) on eBay.  The GXT2 is a series of online UPSes, meaning that the output power always comes from the inverters off the battery bank; it doesn&#8217;t switch from utility power to battery power like an offline UPS.  Besides eliminating any possible switchover glitches, online UPSes always deliver conditioned power at a constant voltage.  The 2000RT120 is a 2000VA unit with 120V output &#8212; large enough to power all my servers for a good little while.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7207.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7207_mid.jpg" alt="Liebert GXT2-2000RT120 UPS with battery cage disassembled" /></a></p>
<p>The batteries were due for replacement and the seller removed them to save on shipping costs.  I got a UPS with a set of wires and no instructions on how to connect them.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7211.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7211_mid.jpg" alt="Liebert GXT2-2000RT120 UPS battery wiring" /></a></p>
<p>Also one of the wires was compromised &hellip; but since it appears to be a ground wire, I figured no big deal if it shorts out against the cage.  KIDDING!</p>
<p>Yesterday I figured out the wiring, installed batteries, and got the UPS set up in my server rack.</p>
<p><span id="more-1118"></span></p>
<h3>Batteries</h3>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7217.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7217_mid.jpg" alt="Sealed lead-acid batteries" /></a></p>
<p>I&#8217;ve bought replacement UPS batteries from Digi-Key before, measuring the size I needed and using their parametric search to find sealed lead-acid batteries with the same size and highest capacity.  Digi-Key&#8217;s replacements for the Liebert UPS seemed a bit pricey this time, though.  Using the power of Google, I found a set of replacement batteries from <a href="http://www.batteryspec.com/cgi-bin/cart.cgi?action=link&#038;product=165&#038;sub2=1650050">BatterySpec</a> for only $72 plus about $20 shipping.</p>
<p>They processed my order quickly &#8212; I ordered after the close of business on a Friday night, they shipped Monday afternoon, and my package was waiting for me Friday when I got home.</p>
<p>At first I thought they had provided fully-insulated battery terminals that I&#8217;d have to disassemble to connect the fully-insulated spade terminals on my UPS wiring, but those are just insulating caps for shipping.</p>
<h3>Battery Wiring</h3>
<p>The first thing I did was repair the ground wire.  The wiring harness is a bit odd &#8212; it uses two connectors, I assume for current-carrying capacity &#8212; but that makes it easy to see how long the ground wire should have been.  I stretched everything out and the remaining three wires were all in agreement about how long the cut wire should be.</p>
<p>The original wires are very supple 10-gauge with relatively fine strands.  The closest thing I had was stranded 10-gauge left over from an electrical install; it&#8217;s not as supple, but it&#8217;ll do.  I cut it to fit, lap-soldered the connections, and covered them with a double dose of heatshrink tubing.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7232.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7232_mid.jpg" alt="Liebert GXT2-2000RT120 UPS batteries laid out with loose wires" /></a></p>
<p>The next order of business was figuring out how to wire this up, and the wires themselves provided the clues.  The two sockets are wired in parallel with each other, so they had to connect at the ends of whatever parallel-series chain the batteries might form.  The wires didn&#8217;t include any Y cables besides the sockets, so the batteries apparently needed to be connected in a single 48V series chain.</p>
<p>The cage is sized for the batteries to be laid down on edge, but it was easier to figure out the wiring with the batteries standing up.  The socketed cables were long enough and had bends in them for the positive connector to reach between the nearest two batteries and the negative connector to reach between the furthest two.</p>
<p>Everything else fell into place like assembling a jigsaw puzzle without looking at the box &#8212; the batteries will tip together in pairs with their terminals at opposite edges of the cage, the short wires connect the two end pairs into series chains, and the long wire connects the two chains.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7237.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7237_mid.jpg" alt="Liebert GXT2-2000RT120 UPS batteries with wires fitted" /></a></p>
<p>I connected all the wires with the batteries still upright, stopping before the last couple of connections to test carefully with the voltmeter and make sure I hadn&#8217;t overlooked anything that was going to short out.</p>
<p>With this much current available, any short circuit would cause a lot of heat very quickly; so knowing I wouldn&#8217;t be able to unplug red-hot wires, I had a wirecutter handy in case of extreme emergency.  Fortunately it wasn&#8217;t needed and everything went together as expected.  I measured just over 48V at the sockets from red to black, so all looked well.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7248.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7248_mid.jpg" alt="Liebert GXT2-2000RT120 UPS batteries in carrier" /></a></p>
<p>I laid the batteries down and tucked the wires away into the grooves at the sides of the cage.  I don&#8217;t know how it was done originally, but I had to route the black wire through the bottom race and the red through the top in order to be able to close the cage.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7252.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7252_mid.jpg" alt="Liebert GXT2-2000RT120 UPS battery cage" /></a></p>
<p>All  back together and buttoned up.</p>
<p>You can see a nick in a red wire&#8217;s insulation, but it doesn&#8217;t go through to copper.  Because it&#8217;s above the Y in the cable, it would have required cutting and resoldering the cable to cover with heatshrink.  I didn&#8217;t think that was worth the effort, and I don&#8217;t put much stock in electrical tape.  I guess I could go back and cover it with a larger heatshrink that encloses both of the red wires together.</p>
<h3>Reinstalling</h3>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7254.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7254_mid.jpg" alt="Liebert GXT2-2000RT120 UPS with battery bay open" /></a></p>
<p>The battery cage slid perfectly into the bay.</p>
<p>Connecting it for the first time was a bit unnerving &#8212; what if the seller was less than honest and took the UPS out of service because of a severe malfunction?  Seeing no evidence of fire or overheating in the battery cage or bay and trusting Liebert to engineer adequate safety systems into their UPS, I took the plunge and connected the cables.</p>
<p>The wires did not immediately get warm.  Good so far.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7257.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7257_mid.jpg" alt="Liebert GXT2-2000RT120 UPS power cord" /></a></p>
<p>The next order of business (and the next unnerving step) was to plug the UPS into AC power.</p>
<p>Wait &hellip;</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7260.JPG"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7260_mid.jpg" alt="5-20P 20A plug" /></a></p>
<p>That&#8217;s a <a href="http://en.wikipedia.org/wiki/NEMA_connector#NEMA_5">5-20P</a> 20A plug.  I don&#8217;t have any 5-20R receptacles in my basement.</p>
<p>DRAT.</p>
<p><a href="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7263.jpg"><img src="http://www2.neufeld.newton.ks.us/images/electronics/2010/06/26/DSCN7263_mid.jpg" alt="Liebert GXT2-2000RT120 UPS powered up on battery" /></a></p>
<p>By fiddling with the pushbuttons on the panel, I somehow got the UPS to turn on while on battery power and the indicator lights looked okay.  I had to reference the <a href="http://shared.liebert.com/SharedDocuments/LiebertFiles/SL-23150_REV08_01-08.pdf">manual</a> to figure out how to turn it off &#8212; press the Standby button twice for about a second each time.</p>
<h3>Next Steps</h3>
<p>Well, I already want to get an electrician in to run a new service entrance and install a new master breaker box.  For now I&#8217;ll probably just do something inadvisable with an extension cord.</p>
<p>The seller didn&#8217;t include the plastic front bezel, and I&#8217;d really like to find one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neufeld.newton.ks.us/electronics/?feed=rss2&#038;p=1118</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>
