<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7479176114008094738</id><updated>2011-10-01T01:46:04.538+10:00</updated><category term='metalwork'/><category term='machining'/><category term='electronics'/><title type='text'>Random Tech Makings</title><subtitle type='html'>Random things I play with; At the moment it seems to be a lot of metalwork, with snippets of electronics and programming.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>54</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-8900966992196362639</id><published>2010-08-21T13:52:00.000+10:00</published><updated>2010-08-21T13:52:37.455+10:00</updated><title type='text'>Mythtv and DVB entertainment.</title><content type='html'>I just spent a number of hours on a pleasant saturday morning trying to work out exactly why MythTV doesn't get program info for Channel Nine (in Sydney, Australia). I already knew this was because Mythtv was failing to parse the EIT data, and in particular, the SDT wasn't being found.&lt;br /&gt;&lt;br /&gt;After a fair bit of poking around, re-learning the fragments of DVB that I have long since forgotten, compiling various hacks into mythbackend, I eventually worked out that it was looking for the SDT in the wrong transport ID.&lt;br /&gt;&lt;br /&gt;Because mythtv (being the bastion of stunning design that it is), stores a NIT/TID (network id, transport id) per channel, and _also_ stores a TID into the multiplex table. So the channel table has lots of very fine NIT/TIDs which I checked until the cows came home, before eventually discovering that the code was also reading from the dtv_multiplex table.&lt;br /&gt;&lt;br /&gt;One "update dtv_multiplex set transportid = 1056 where mplexid=24;" and I now have program schedules for channel 9. w00t!&lt;br /&gt;&lt;br /&gt;Ok, this is a pretty trivial thing, and I don't actually care about the data: It's just that this has been non-working for many months, and every time I noticed it it irritated me that I didn't know why it was broken. &lt;br /&gt;&lt;br /&gt;Now I do. So now I'm happy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-8900966992196362639?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/8900966992196362639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=8900966992196362639' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8900966992196362639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8900966992196362639'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2010/08/mythtv-and-dvb-entertainment.html' title='Mythtv and DVB entertainment.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-292548782738257266</id><published>2010-01-11T17:51:00.000+11:00</published><updated>2010-01-11T17:51:51.813+11:00</updated><title type='text'></title><content type='html'>Another thing to add to the list of "Life is too short".&lt;br /&gt;&lt;br /&gt;Attempted to add an SVN project from http://code.google.com/p/project into Eclipse using the SVN plugin. Project is an android project.&lt;br /&gt;&lt;br /&gt;Total failure. Eventually I got down to errors like:&lt;br /&gt;&lt;pre&gt;java.lang.IllegalArgumentException: Path must include project and resource name: /android-l2tp-tether&lt;br /&gt;        at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)&lt;br /&gt;        at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:1628)&lt;br /&gt;        at org.eclipse.core.internal.resources.Container.getFolder(Container.java:137)&lt;br /&gt;        at com.android.ide.eclipse.adt.internal.build.PreCompilerBuilder.buildAidlCompilationList(Unknown Source)&lt;br /&gt;        at com.android.ide.eclipse.adt.internal.build.PreCompilerBuilder.build(Unknown Source)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Noting that there were a project called 'android-l2tp-tether'...&lt;br /&gt;Eclipse is just too big, too clumsy, and too opaque to usefully debug. I wasted an hour wandering around with straces et al, but realized I was just wasting time. Copying the svn directory else, and then doing 'create new project from existing source' was instantly successful. ugh.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-292548782738257266?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/292548782738257266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=292548782738257266' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/292548782738257266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/292548782738257266'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2010/01/another-thing-to-add-to-list-of-life-is.html' title=''/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-5810773223303469787</id><published>2010-01-09T21:45:00.000+11:00</published><updated>2010-01-09T21:45:10.219+11:00</updated><title type='text'>Unit tests</title><content type='html'>Gradually coming up to speed on gtest (google c++ unit test framework). Yes, I'm know I'm painfully behind...&lt;br /&gt;&lt;br /&gt;And retro-fitting unit tests to existing code isn't much fun. However, it is entertaining for the number of latent bugs it finds! There's always something special about output like:&lt;br /&gt;&lt;pre&gt;[----------] 2 tests from Image&lt;br /&gt;[ RUN      ] Image.Empty&lt;br /&gt;Segmentation fault (core dumped)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Noting that the unit test in question creates an unparametrised object and inquires as to it's size. :)&lt;br /&gt;&lt;br /&gt;Off to fire up a debugger and find out wtf is going on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-5810773223303469787?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/5810773223303469787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=5810773223303469787' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/5810773223303469787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/5810773223303469787'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2010/01/unit-tests.html' title='Unit tests'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-1745193030442269230</id><published>2009-11-15T21:30:00.000+11:00</published><updated>2009-11-15T21:30:34.172+11:00</updated><title type='text'>Bayes and models.</title><content type='html'>This is me talking to the pumpkin (aka thinking aloud).&lt;br /&gt;&lt;br /&gt;I have two models.&lt;br /&gt;One is that everything is noise, and has a discrete distribution over a grid. &lt;br /&gt;One is that there's a pattern and predicts the future location of an event.&lt;br /&gt;&lt;br /&gt;Bayes says the posterior probability of the model is:&lt;br /&gt;&amp;nbsp;&amp;nbsp; P(M|E) = P(E|M)P(M) / P(E)&lt;br /&gt;where&lt;br /&gt;&amp;nbsp;&amp;nbsp; P(E) = P(E)P(M) + P(E)P(!M)&lt;br /&gt;&lt;br /&gt;Ahhh. I realise my mistake. P(E) is &lt;i&gt;not&lt;/i&gt; the ideal probability of the event, but the much more restricted 'probably of event &lt;i&gt;in the space the P(E|M) is measured &lt;/i&gt;'.&lt;br /&gt;&lt;br /&gt;In my case, where the distance between the predicted location and a movement event is being considered, the underlying distribution is the expected distance to a movement events, independent of the model.&lt;br /&gt;&lt;br /&gt;I.e. Have no model. Just measure the expected distance from random points to movement events to build the model. Then seperately build the same model specifically for known model conforming events. &lt;i&gt;That&lt;/i&gt; generates P(E) and P(E|M).&lt;br /&gt;&lt;br /&gt;Doh. For some reason that took a very long to sink in.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-1745193030442269230?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/1745193030442269230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=1745193030442269230' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/1745193030442269230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/1745193030442269230'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/11/bayes-and-models.html' title='Bayes and models.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-6241146457539907012</id><published>2009-07-30T17:28:00.000+10:00</published><updated>2009-07-30T17:28:29.327+10:00</updated><title type='text'>HAL sucks</title><content type='html'>So you have a touchscreen, and a 'modern' X11 installation.&lt;br /&gt;&lt;br /&gt;Your 'modern' X11 knows that actually configuring devices is something that people who live in caves do. 'Modern' X11s use HAL!&lt;br /&gt;&lt;br /&gt;Unfortunately, the nice 'modern' X11 installation is borked. It's talking to HAL which is telling it to use inputs/event0. Which doesn't actually exist.&lt;br /&gt;&lt;br /&gt;So the question is: How do you tell it to use /dev/inputs/event2 which is a working touchscreen?&lt;br /&gt;&lt;br /&gt;Ahh, you might ask. What you really do is spend far too much time searching google and eventually arrive at:&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="ISO-8859-1"?&amp;gt;&lt;br /&gt;&amp;lt;deviceinfo version="0.2"&amp;gt;&lt;br /&gt;&amp;lt;device&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;match key="input.product" contains="Touchscreen"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;merge key="input.x11_driver" type="string"&amp;gt;evdev&amp;lt;/merge&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;merge key="input.x11_options.SwapAxes" type="string"&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;merge key="input.x11_options.InvertX" type="string"&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/match&amp;gt;&lt;br /&gt;&amp;lt;/device&amp;gt;&lt;br /&gt;&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;&lt;br /&gt;Which you install in /etc/hal/fdi/policy/touchscreen.fdi&lt;br /&gt;&lt;br /&gt;Of course. it was obvious from the very start that this was the thing to do, no? And the documentation has zero mistakes or misspellings in it. A remarkable end it achieves by being non-existant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-6241146457539907012?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/6241146457539907012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=6241146457539907012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/6241146457539907012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/6241146457539907012'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/07/hal-sucks.html' title='HAL sucks'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-8326785348838753384</id><published>2009-07-12T15:01:00.000+10:00</published><updated>2009-07-12T15:01:12.914+10:00</updated><title type='text'>Rust as far as the eye can see.</title><content type='html'>Having many adventures trying to compile a new kernel for the DevKit8000&lt;br /&gt;&lt;br /&gt;embest haven't submitted the board support to mainline and after reverse engineering their patches, it's easy to see why!&lt;br /&gt;&lt;br /&gt;The diff is littered with random patches to random files (that aren't used), #if 0'ed code, and cruft like:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;nbsp;#ifdef CONFIG_OMAP_MUX_DEBUG&lt;br /&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; debug = cfg-&amp;gt;debug;&lt;br /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //debug = cfg-&amp;gt;debug;&lt;br /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; debug = 1;&lt;br /&gt;&amp;nbsp;#endif&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; warn = (orig != reg);&lt;br /&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (debug || warn)&lt;br /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //if (debug || warn)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printk(KERN_WARNING&lt;br /&gt;&lt;/pre&gt;It's been about&amp;nbsp; two hours work to separate out the parts that actually do something, and port them forward to a 2.6.30 kernel.&lt;br /&gt;&lt;br /&gt;Which brings me to a confession: I just realized it's been something like 3 years since I last ran 'make menuconfig' on a linux kernel. The rust! It burns!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-8326785348838753384?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/8326785348838753384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=8326785348838753384' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8326785348838753384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8326785348838753384'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/07/rust-as-far-as-eye-can-see.html' title='Rust as far as the eye can see.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-203374592236658180</id><published>2009-07-11T13:19:00.001+10:00</published><updated>2009-07-11T13:20:36.505+10:00</updated><title type='text'>DevKit8000</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SlgAYL-HDwI/AAAAAAAAAcI/iGHqRPImr94/s1600-h/2009-07-11-IMG_7887.JPG"&gt;&lt;img alt="" border="0" src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SlgAYL-HDwI/AAAAAAAAAcI/iGHqRPImr94/s320/2009-07-11-IMG_7887.JPG" style="clear: both; float: right; margin: 0pt 0pt 10px 10px;" /&gt;&lt;/a&gt;&lt;br /&gt;I recently ordered a &lt;a href="http://www.embedinfo.com/English/Product/devkit8000.asp"&gt;DevKit8000&lt;/a&gt; development board for use in an &lt;a href="http://sites.google.com/a/dgmo.org/home/base-b"&gt;embedded image processing project&lt;/a&gt; I'm looking at.&lt;br /&gt;&lt;br /&gt;My DevKit8000 arrived yesterday. I bought the "yes, I &lt;i&gt;will&lt;/i&gt; have fries with that" version, so it has the 7" touchscreen, more cables than you can poke a stick at, 512MB sd card, a USB hub,&amp;nbsp; and 2 power wall-wart power supplies.&lt;br /&gt;&lt;br /&gt;Total cost was $AUD420 including DHL shipping of ~ $AUD80. The price for the board board is comparable with the &lt;a href="http://beagleboard.org/"&gt;BeagleBoard&lt;/a&gt;, but the shipping was cheaper and easier from China than it would have been from &lt;a href="http://www.digikey.com/"&gt;DigiKey&lt;/a&gt;! So I'm pretty happy with the price.&lt;br /&gt;&lt;br /&gt;One of the power supplies has a USA plug, the other is something European.&lt;br /&gt;The one with the USA plug is apparently the board power supply, the other is probably the USB hub power supply (at least, the plug doesn't fit the board).&lt;br /&gt;&lt;br /&gt;The board itself had Windows CE loaded in NAND flash out of the box, which sent me on a 4 hour trail of destruction trying to replace it with linux. This was mostly due to me not realising that the sd-card that comes with the board is junk, and in addition to being unreliable, doesn't function at the 3.3V the OMAP processor requires for it to be booted from.&lt;br /&gt;&lt;br /&gt;Not realising that, I thought that I must be doing something wrong (which given the .. umm.. erratic number of the board documentation wasn't unlikely) and so tried all sorts of things in an effort to re-flash the NAND X-loader, cumulating in formatting the NAND flash and rendering the board entirely unbootable. Waving aside the blue air, I finally did what I should have done to start with, and use a known-good SD card. Which instantly booted correctly, taking another 2 minutes for me to reflash the x-loader, u-boot, uImage and filesystem. *&amp;amp;^*&amp;amp;^*&amp;amp;^&amp;amp;*!!!!!!!&lt;br /&gt;&lt;br /&gt;With the board actually booting and running linux, it was much more useful. It immediately come up on the ethernet with an ifconfig+route making it a lot faster to move images around than the sd-card sneakernet I had been using.&lt;br /&gt;&lt;br /&gt;The CD that comes with it has a port of Android which functions rather well and was useful is checking that the touchscreen actually works.&lt;br /&gt;&lt;br /&gt;The hardware appears to be fairly close to the beagleboard, except that it also includes an on-board ethernet, and a ZIF socket for a camera input.&lt;br /&gt;&lt;br /&gt;There's a couple of odd things: The host USB port (as opposed to the OTG USB port) appears to be missing a chip. The pattern is there for it on the board, and all the pad have solder on them, just not chip. This is not entirely unexpected: The USB Host port isn't listed in the feature list, and the BeagleBoard people have had trouble getting it reliable.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The more concerning one is that one of the power regulators (TPS73701) has a terrible soldering job done on it. It looks like there may have been a solder mask problem and FAR too much solder paste was dumped on. The tab is swimming in solder, and leads look like they didn't quite reach temperature to fully melt the paste. This is one of a two parallel regulators, and the other one is spotless, so I'm a little puzzled as to what went wrong with this one. Both are running the same temperature so it appears they're both working, it just looks terrible. &lt;br /&gt;&lt;br /&gt;Other than that, the rest of the board looks clean and well put together.&lt;br /&gt;&lt;br /&gt;Now I'm off to setup a cross compiler environment!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-203374592236658180?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/203374592236658180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=203374592236658180' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/203374592236658180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/203374592236658180'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/07/devkit8000.html' title='DevKit8000'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ote6K6IVUV8/SlgAYL-HDwI/AAAAAAAAAcI/iGHqRPImr94/s72-c/2009-07-11-IMG_7887.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-7661363291234560749</id><published>2009-07-11T12:27:00.002+10:00</published><updated>2009-07-11T12:37:34.125+10:00</updated><title type='text'>Belated files</title><content type='html'>Very belatedly getting around to posting these.&lt;br /&gt;&lt;br /&gt;The Eagle CAD files for the &lt;a href="http://randomtechmakings.blogspot.com/2009/01/pcbs-for-relay-board-finally-arrived.html"&gt;relay driver board&lt;/a&gt; is now posted at &lt;a href="https://sites.google.com/a/dgmo.org/home/Home/boards"&gt;https://sites.google.com/a/dgmo.org/home/Home/boards&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-7661363291234560749?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/7661363291234560749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=7661363291234560749' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/7661363291234560749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/7661363291234560749'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/07/belated-files.html' title='Belated files'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-5749110134173678623</id><published>2009-04-10T09:09:00.002+10:00</published><updated>2009-04-10T09:10:48.013+10:00</updated><title type='text'>Noise filter your signals!</title><content type='html'>Free advice. When there's a 200m loop of wire carrying a low voltage signal, noise filtering is a _very_ good idea.&lt;br /&gt;&lt;br /&gt;Otherwise the doorbell may ring at 3am in the morning from induced noise...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-5749110134173678623?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/5749110134173678623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=5749110134173678623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/5749110134173678623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/5749110134173678623'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/04/noise-filter-your-signals.html' title='Noise filter your signals!'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-3719927243042940041</id><published>2009-04-05T19:16:00.002+10:00</published><updated>2009-04-05T19:29:21.273+10:00</updated><title type='text'>'Fixed' the doorbell today.</title><content type='html'>The doorbell has been a source of trouble for a while. Mostly because D is in the habit of closing every between where she is and the front door, causing it to be inaudible.&lt;br /&gt;&lt;br /&gt;So today, I wired the doorbell between the DCD and DTR lines on the main fileserver and wrote a little C program effectively gets an interrupt when DCD changes. When triggered, this program runs wget to hit a URL on another server, that runs a cgi-bin script, that plays a .wav file through the speaker.&lt;br /&gt;&lt;br /&gt;For some reason the name 'Reuben Garret Lucius Goldberg ' kept running through my head...&lt;br /&gt;&lt;br /&gt;But the end result is that one can push a door near the front door, and something near the center of the house chimes, so the end goal is fully achieved!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-3719927243042940041?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/3719927243042940041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=3719927243042940041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3719927243042940041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3719927243042940041'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/04/fixed-doorbell-today.html' title='&apos;Fixed&apos; the doorbell today.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-823094580452673929</id><published>2009-04-04T10:39:00.003+11:00</published><updated>2009-04-04T10:41:32.334+11:00</updated><title type='text'>Clipsal C-Bus</title><content type='html'>Clipsal have decided to open the C-Bus protocol.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cbusforums.com/forums/showthread.php?t=5022" target="_blank"&gt;http://www.cbusforums.com/&lt;wbr&gt;forums/showthread.php?t=5022&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Speaking as someone with a C-Bus wired house (for reasons that were never terribly good), this is a very, very good thing.&lt;br /&gt;&lt;br /&gt;It's rather unexpected, and I suspect a little late (there's considerably more competition around now), but it's going to make it much easier to do semi-decent integration.&lt;br /&gt;&lt;br /&gt;Yay Clipsal!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-823094580452673929?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/823094580452673929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=823094580452673929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/823094580452673929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/823094580452673929'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/04/clipsal-c-bus.html' title='Clipsal C-Bus'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-4722213613673681530</id><published>2009-03-16T05:39:00.005+11:00</published><updated>2009-03-16T06:27:45.345+11:00</updated><title type='text'>Adventures in Switzerland.</title><content type='html'>Currently in Zurich.&lt;br /&gt;R is here for first time, so wanted to do a little wandering around.&lt;br /&gt;&lt;br /&gt;Had very vaguely hatched a plan to visit &lt;a href="http://en.wikipedia.org/wiki/Pilatus_%28mountain%29"&gt;Pilatus&lt;/a&gt;, a mountain not too far from Zurich. The plan was to catch a train to &lt;a href="http://en.wikipedia.org/wiki/Luzern"&gt;Luzern&lt;/a&gt;, bus to the cable station, and then cable car up Pilastus.&lt;br /&gt;&lt;br /&gt;The morning started off to plan: We managed to leave the hotel vaguely sort of on time, made our way to Zurich HB (Central train station), and found food at McDonalds. (hungry people do desperate things).&lt;br /&gt;&lt;br /&gt;The first sign of trouble was attempting to buy a ticket to Luzern. This involved much fighting with the ticket machine. Firstly it didn't like anything. This was solved by actually pressing 'OK' on the screen before attempting to hand over money. Then it refused my visa card many times (in various orientations), then it wanted a pin (which I don't have), then rejected my EFTPOS card as unsupported (the pin for which I did know), R's visa card (it wanted a pin which he didn't know), and various other random pieces of plastic we attempted to feed it.  Finally R found some cash and fed it that, which is liked, ate, and dispended tickets. Yay! For a train that was due to leave in 60 seconds. On a platform far, far away.&lt;br /&gt;&lt;br /&gt;Sprinting for the platform had us there just in time to see it leaving in the distance. A 30 minute wait...&lt;br /&gt;&lt;br /&gt;The trip to Luzern was very pleasant. The trains are very quiet and nice, and the scenery is picturesque. Did a few sudoku puzzles which R had infected me with, and we arrived in Luzern in short order.&lt;br /&gt;&lt;br /&gt;Wandering around looking for things bearing the name 'Pilatus' had us finding the S31 bus which ran to Pilatusmarkt. Very promising. So we walked to the 6 blocks to Pilatusplatz, found a bus stop (yay), found the S31 stopped there (yay) and it was due to arrive in 6 mins (yay).&lt;br /&gt;&lt;br /&gt;15 mins later, it was pretty clear that the S31 wasn't. The timetable insisted that all was well, but no bus. So we decide to take the S20, change to the S21 and we'd be fine. S20 was good. Actually did arrive, did travel in the right direction. Alas, we fell to talking and missed the stop. So getting off at the next stop decide to 'just walk back. Not far really'. About 15 mins of walking led us back to the stop for the S21. Which was due to arrive in a little over an hour. argh! Ok. Another change of plan. Now we'd take the S16 which looked like it also went to Pilatusmarkt and that one was only 6 mins away.&lt;br /&gt;&lt;br /&gt;Bus arrive. We get on bus. Bus travels about 300meters to Pilatusmarkt.  We get off. Find we are at deserted shopping center. Close for the sunday. Named 'Pilatus Market'. Doh! Turns that that many random things around Luzern are named after the mountain.&lt;br /&gt;&lt;br /&gt;Now very lost, with the next bus not due to 60 mins, we decide to walk back to where we caught the S16. The horrendously unreliable map (scale optional) claimed a nearby train station.&lt;br /&gt;&lt;br /&gt;20 mins of walking, we are at train station. We had originally intended to catch the train back toward Luzern, but there timetable had various stations marked with a cable car symbol. How exciting! Which led to R get excited about visiting &lt;a href="http://en.wikipedia.org/wiki/Engelberg"&gt;Engelberg&lt;/a&gt;, and maybe wandering up &lt;a href="http://en.wikipedia.org/wiki/Titlis"&gt;Titlis&lt;/a&gt;, a 3000m high mountain.&lt;br /&gt;&lt;br /&gt;More tickets, more fighting with ticket machine, eventually discovered that it enjoyed amex cards. Wait for train. Train takes us along a very pretty route. Alongside a lake, wending through valleys. And then turned into a cog-train for a while! Seriously steep assent led us into some stunning scenery (sorry, no photos yet) .&lt;br /&gt;&lt;br /&gt;Engelberg was less interesting, but they really did have a cablecar up the mountain (actually, many many cable cars up many slopes). We caught one to Gerschnialp, about 1260m above sea level.  Normal hairy cable car ride put us in some fairly serious snow. With us wearing jeans and tennis shoes...&lt;br /&gt;&lt;br /&gt;We had a really good time. Walked along a snow trail for about 20 mins a small restaurant in the middle of no-where , had a fairly ordinary lunch (which cummulated with them refusing to accept anything except Amex, where the amex could only be used for bills over 50CHF [ours was 33CHF], and we had no cash left...) we then set off to walk down the mountain.&lt;br /&gt;&lt;br /&gt;This was hugely enjoyable. A snow trail wandered down the mountain through forests et al. Most of it was fairly well packed snow so it wasn't that bad to walk on. Most of the other people we saw were wearing snowshoes, but they clearly envied our minimalist approach to snow hiking.&lt;br /&gt;&lt;br /&gt;About 1/2 we down, we found a ski-jump! A truly terrifying affair. Seeing them on television can't convey just how insane they are. Standing at (well, near) the lip of the jump, you can't actually see any of the slope below, just the flat field  far below. Actually: far, far, far below.  I was having trouble with the heights just standing near the edge of the jump. I can't imagine just how certifiable you'd have to be to actually go down it on skis. Simply amazing.&lt;br /&gt;&lt;br /&gt;It took a bit over an hour to walk down the mountain. Followed by a sprint to catch the train back to Luzern (more stunning scenery), and then the train back to Zurich, and then another train back to &lt;a href="http://en.wikipedia.org/wiki/Z%C3%BCrich_Stadelhofen"&gt;Stadelhofen&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Hugely enjoyable day; Now very, very tired. Goodnight.&lt;br /&gt;&lt;br /&gt;PS: No, never did find out what happened to the S31 bus.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-4722213613673681530?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/4722213613673681530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=4722213613673681530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/4722213613673681530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/4722213613673681530'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/03/adventures-in-switzerland.html' title='Adventures in Switzerland.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-707140745003966423</id><published>2009-03-01T14:25:00.001+11:00</published><updated>2009-03-01T14:36:40.404+11:00</updated><title type='text'>Puzzle Piece</title><content type='html'>&lt;a href='http://3.bp.blogspot.com/_Ote6K6IVUV8/SaoAJ9EnVjI/AAAAAAAAAa4/B2dglEDDaj4/s1600-h/2009-03-02-IMG_6488.JPG'&gt;&lt;img src='http://3.bp.blogspot.com/_Ote6K6IVUV8/SaoAJ9EnVjI/AAAAAAAAAa4/B2dglEDDaj4/s320/2009-03-02-IMG_6488.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&lt;br /&gt;Just spent a few enjoyable hours making this exercise. "How DID the nut get on there?". &lt;br /&gt;&lt;br /&gt;It's puzzle piece to which the photo doesn't do full justice. There's a no visible joins in the threaded piece: It looks seamless.&lt;br /&gt;&lt;br /&gt;It's a nice exercise in lathe work with a number of tricky bits. The facing needs to be very good, threading interior sections is  a generally a bitch to do, especially in stainless steel. And then finishing it all to the mirror polish (which you can somewhat see in the high fidelity reflection at the end).&lt;br /&gt;&lt;br /&gt;I'm quite pleased with it because I pretty much got it right first time, it turned out well, and the polish came up far better than I was expecting. I keep underestimating  how far the buffing wheel will cut.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-707140745003966423?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/707140745003966423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=707140745003966423' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/707140745003966423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/707140745003966423'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/03/puzzle-piece.html' title='Puzzle Piece'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ote6K6IVUV8/SaoAJ9EnVjI/AAAAAAAAAa4/B2dglEDDaj4/s72-c/2009-03-02-IMG_6488.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-5010285575610253864</id><published>2009-02-13T20:48:00.002+11:00</published><updated>2009-02-13T21:09:36.617+11:00</updated><title type='text'>Audio over HDMI</title><content type='html'>Noted here mostly so I can find it later.&lt;br /&gt;&lt;br /&gt;I have a Gigabyte motherboard, the GA-G33M-S2H, that I use for a HTPC (home theater pc). It lives under the couch, driving the LCD TV, diskless, quiet, and is generally pretty happy.&lt;br /&gt;&lt;br /&gt;I bought it principally because it has on-board video that does HDMI with an intel chipset. The intel graphics chips are pretty well documented and Intel fund development of linux drivers so it was a fairly easy choice at the time.&lt;br /&gt;&lt;br /&gt;When I first turned it on about a year ago, the video of HDMI turned up right away. Very easy. 1080P @ 50Hz is very nice. &lt;br /&gt;&lt;br /&gt;Alas, the audio didn't work. At the time, there were bugs in the ALSA drivers that prevented the properly detecting the (seperate ATI) chip that handles audio encoding for the HDMI data stream. After mucking around with it for too long, I gave up and ran a DVI cable and an audio cable to the TV instead. Which had it's own mucking around to get 1080P working on a single DVI channel...&lt;br /&gt;&lt;br /&gt;Coming back to the present, I had occasion to revisit my MythTV setup, due to the "urgent need" to repaint the wall. This mean the TV cable down briefly, and stirred me to investigate if the audio HDMI is fixed.&lt;br /&gt;&lt;br /&gt;Yay! It is, as of ALSA 1.0.17. Which is in Fedora 9 which I upgraded to a while back, so the kernel already knew about the HDMI audio and was ready to use it. Sweeet.&lt;br /&gt;&lt;br /&gt;But. There's always a but. Pulseaudio, the apparent audio hub of choice didn't know about it. After poking, peering and prying at the config, it was clear that HAL did know about it, but pulseaudio refused to use more than the first device on any given soundcard.&lt;br /&gt;&lt;br /&gt;As the HDMI appears on this motherboard as hw:0,3 (3rd device on card 0), pulseaudio via HAL refused to have any truck with it. This turns out to be a known, very long standing bug in pulseaudio.&lt;br /&gt;&lt;br /&gt;My hack solution: Boot the HAL module in pulseaudio out the door, and just hardcode the detection for the device. Which said that it worked, but didn't produce any sound. After even more trawling, it turns out that I needed to unmute the "IEC958" in the ALSA mixer.&lt;br /&gt;&lt;br /&gt;And now it all works! HDMI, 1080P and audio over a single cable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-5010285575610253864?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/5010285575610253864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=5010285575610253864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/5010285575610253864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/5010285575610253864'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/02/audio-over-hdmi.html' title='Audio over HDMI'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-8646688428030175887</id><published>2009-02-07T11:33:00.002+11:00</published><updated>2009-02-07T12:04:03.936+11:00</updated><title type='text'>Tapping ACME nut.</title><content type='html'>&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SYzW9HChXMI/AAAAAAAAAZk/rzImKHx1f84/s1600-h/2009-02-07-IMG_6389.JPG'&gt;&lt;img src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SYzW9HChXMI/AAAAAAAAAZk/rzImKHx1f84/s320/2009-02-07-IMG_6389.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SYzW9JH9fqI/AAAAAAAAAZs/Cka8KdKxSk4/s1600-h/2009-02-07-IMG_6390.JPG'&gt;&lt;img src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SYzW9JH9fqI/AAAAAAAAAZs/Cka8KdKxSk4/s320/2009-02-07-IMG_6390.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SYzW9J7JPaI/AAAAAAAAAZ0/IOmeeN5HivQ/s1600-h/2009-02-07-IMG_6394.JPG'&gt;&lt;img src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SYzW9J7JPaI/AAAAAAAAAZ0/IOmeeN5HivQ/s320/2009-02-07-IMG_6394.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href='http://1.bp.blogspot.com/_Ote6K6IVUV8/SYzW9HHi_VI/AAAAAAAAAZ8/kGNJsMh0CyM/s1600-h/2009-02-07-IMG_6398.JPG'&gt;&lt;img src='http://1.bp.blogspot.com/_Ote6K6IVUV8/SYzW9HHi_VI/AAAAAAAAAZ8/kGNJsMh0CyM/s320/2009-02-07-IMG_6398.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The short story is: I re-tapped the acetal nut for the X axis to an ACME thread.&lt;br /&gt;&lt;br /&gt;The longer story involves much pain. :-)&lt;br /&gt;&lt;br /&gt;To re-tap the nut to ACME thread involved making an ACME tap. (off-the-shelf ACME taps cost ~ $400 which is a bit much for a one-off). Making an ACME tap seemed very simple: Just cut a piece of thread rod, grind a taper onto it, and then grind an edge. No worries, right?&lt;br /&gt;&lt;br /&gt;So being a doofus, I actually did grind the taper, but in a way that involves destroying my finger tips along the way. I made a simple jig with bearings that allow me to rotate the rod against the grinder. The idea was to let the rod spin against the grinder, ensuring that it would be ground evenly and giving an accurate taper.&lt;br /&gt;&lt;br /&gt;In practise, the rod spun much too fast, and in reaching out to slow the spinning rod, I found out that rolled ACME thread has fine burs along the thread edges. Some of them relatively large. As I can measure by the many fine cuts in my finger tips....&lt;br /&gt;&lt;br /&gt;I started grinding an edge on the rod as well,  but I really need a diamond cup grinder to do the postive rake. After mulling it over, I slapped myself upside the head, and just milled the edge onto it. The ACME rod I have isn't ground, nor hardened, so milling it is fine. I just used a carbide boring tool to cut the postive rake.&lt;br /&gt;&lt;br /&gt;Once I'd actually managed to wake to using the mill, it all went fairly fast; Just cut the edge, polish it up a bit with the diamond lap, then bung it on the lathe and it's done.&lt;br /&gt;&lt;br /&gt;Well, almost. The amount of plastic being removed is fairly large and the taper on the acme isn't as shallow as it should be, so machine tapping it mostly out. I used lathe power to get the tap started, but then using a spanner to turn the nut by hand to cut the thread.&lt;br /&gt;&lt;br /&gt;The end result is fairly good. It's a relatively loose fit, so I'll need to add an anti-backlash nut at some point, but the tap itself worked well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-8646688428030175887?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/8646688428030175887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=8646688428030175887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8646688428030175887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8646688428030175887'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/02/tapping-acme-nut.html' title='Tapping ACME nut.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ote6K6IVUV8/SYzW9HChXMI/AAAAAAAAAZk/rzImKHx1f84/s72-c/2009-02-07-IMG_6389.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-8888412326705488168</id><published>2009-02-05T20:41:00.004+11:00</published><updated>2009-02-05T21:06:09.518+11:00</updated><title type='text'>Bearing mounts</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SYq0Xw7TnNI/AAAAAAAAAZE/B7JEZj518d8/s1600-h/2009-02-05-IMG_6388.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SYq0Xw7TnNI/AAAAAAAAAZE/B7JEZj518d8/s320/2009-02-05-IMG_6388.JPG" alt="" style="margin: 0px 10px 10px 0pt; clear: both; float: left;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SYq0YL4eEkI/AAAAAAAAAZM/I3x4lrnAedM/s1600-h/2009-02-05-IMG_6385.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SYq0YL4eEkI/AAAAAAAAAZM/I3x4lrnAedM/s320/2009-02-05-IMG_6385.JPG" alt="" style="margin: 0px 10px 10px 0pt; clear: both; float: left;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Ote6K6IVUV8/SYq0YOun2mI/AAAAAAAAAZU/sV0gSIIFg94/s1600-h/2009-02-05-IMG_6386.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_Ote6K6IVUV8/SYq0YOun2mI/AAAAAAAAAZU/sV0gSIIFg94/s320/2009-02-05-IMG_6386.JPG" alt="" style="margin: 0px 10px 10px 0pt; clear: both; float: left;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Ote6K6IVUV8/SYq0YKvHu1I/AAAAAAAAAZc/O14dBz3-iag/s1600-h/2009-02-05-IMG_6387.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_Ote6K6IVUV8/SYq0YKvHu1I/AAAAAAAAAZc/O14dBz3-iag/s320/2009-02-05-IMG_6387.JPG" alt="" style="margin: 0px 10px 10px 0pt; clear: both; float: left;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Last night I made the two new bearing mounts. These are brackets that hold the angular contact bearings for the ACME rod. The task was to bore a 16mm hole for the rod, and then a blind 30mm hole for the bearing. The 16mm through hole had no real accuracy considerations, but the 30mm needed to be 29.99mm so as to ensure that the 30.00mm bearing were a press fit.&lt;br /&gt;&lt;br /&gt;I had originally planned to do this using the boring bar, but on reflection realized that that would make it difficult to do the accurate flat base required to support the bearing.&lt;br /&gt;&lt;br /&gt;So I got out the rotary table. Now normally the rotary table is a pain in the butt to use. Partly because it's difficult to clamp things on my relatively small table, but mostly because I'm terribly slow at indicating the part to be aligned with the table center. I'm just awful; it normally takes me more than an hour to get terrible accuracy. And thus I avoid it like the plague.&lt;br /&gt;&lt;br /&gt;My brain wave was to use the lathe to made a trivial jig; The table has a 17.50mm hole in the center, and my part already had a milled 16mm hole in the center. So I made a piece of  delrin (plastic) that was just a short section of 17.5mm dia, stepping down to 16mm dia.&lt;br /&gt;&lt;br /&gt;A few taps with the mallet inserted it into the table, and then the blanks were a press fit onto the 16mm section. Instant alignment. Yay!&lt;br /&gt;&lt;br /&gt;Even better, this made clamping much easier as I just needed to clamp at one point. Much win all around.&lt;br /&gt;&lt;br /&gt;Actually milling the blind 30mm hole was then pretty simple. Just offset a 12mm end mill 8.950mm from the center, mill 5mm into the blank, and run the table around a full 360 degrees. Easy.&lt;br /&gt;&lt;br /&gt;The slow bit was getting the hole to be a solid press fit for the bearings, and 29.950mm is much too small. So I increased the hole size in 10 micron increment thru to 29.990. At which point the bearings went in with about 200 newtons of force. Perfect!&lt;br /&gt;&lt;br /&gt;I think this is some of the more accurate milling I've done. I'm pretty happy with how it turned out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-8888412326705488168?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/8888412326705488168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=8888412326705488168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8888412326705488168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8888412326705488168'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/02/bearing-mounts.html' title='Bearing mounts'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ote6K6IVUV8/SYq0Xw7TnNI/AAAAAAAAAZE/B7JEZj518d8/s72-c/2009-02-05-IMG_6388.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-6436573160042731696</id><published>2009-02-01T12:47:00.003+11:00</published><updated>2009-02-04T16:51:53.840+11:00</updated><title type='text'>Bearing jig</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_Ote6K6IVUV8/SYT_VJvu7gI/AAAAAAAAAY0/IAF4m5Go9QI/s1600-h/2009-02-01-IMG_6378.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/_Ote6K6IVUV8/SYT_VJvu7gI/AAAAAAAAAY0/IAF4m5Go9QI/s320/2009-02-01-IMG_6378.JPG" alt="" style="margin: 0px 10px 10px 0pt; clear: both; float: left;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SYT_VJFnepI/AAAAAAAAAY8/tOqAY649i7s/s1600-h/2009-02-01-IMG_6379.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SYT_VJFnepI/AAAAAAAAAY8/tOqAY649i7s/s320/2009-02-01-IMG_6379.JPG" alt="" style="margin: 0px 10px 10px 0pt; clear: both; float: left;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Dichro milled this up from a scrap piece of aluminium bar. 10x50mm flat bar, drilled with 16mm hole, then added 4 x 7mm holes on a 25x25mm square. M6 bolts, some washers, some skate bearing.&lt;br /&gt;&lt;br /&gt;Ta-dah!&lt;br /&gt;&lt;br /&gt;Worked extremely well. Should have done it sooner :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-6436573160042731696?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/6436573160042731696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=6436573160042731696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/6436573160042731696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/6436573160042731696'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/02/bearing-jig.html' title='Bearing jig'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ote6K6IVUV8/SYT_VJvu7gI/AAAAAAAAAY0/IAF4m5Go9QI/s72-c/2009-02-01-IMG_6378.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-3317850073336004419</id><published>2009-02-01T07:51:00.003+11:00</published><updated>2009-02-01T12:38:50.034+11:00</updated><title type='text'>Maching ACME threaded rod</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SYS56TKawZI/AAAAAAAAAYs/R8rN5vsJl9g/s1600-h/2009-02-01-IMG_6376.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SYS56TKawZI/AAAAAAAAAYs/R8rN5vsJl9g/s320/2009-02-01-IMG_6376.JPG" alt="" style="margin: 0px 10px 10px 0pt; clear: both; float: left;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;ACME threaded rod, cut to 1150mm long, first end machined.&lt;br /&gt;&lt;br /&gt;The 0.5 inch ACME was turned down to 10mm to match the inner diameter of the bearing. It was then threaded to M10 for ~ 30mm to allow for the lock nuts to go on, and then turned down to 4.75mm for the last 10mm to match the coupling for the motor shaft.&lt;br /&gt;&lt;br /&gt;The metal was a serious pain to machine. Owing to the length (&gt; 1 meter) I was running the lathe at fairly low speed. The steel work hardened VERY easily, and it's very flexible steel. This meant that it was just as easily bent away from the lathe cutting tool as cut. And it was threaded to boot, which mean highly variable loads on the initial cuts...&lt;br /&gt;&lt;br /&gt;I ended up using the live center to attempt to hold it in place which improved matters a little, but not much.&lt;br /&gt;&lt;br /&gt;Eventually, I used a handful of skate bearing to make up a jig to support the other end, which let me run the lathe much faster, which made the whole thing easier to do. I was initially turning it at 220 rpm with HSS cutting tool. Running it at ~ 480 rpm was dramatically easier.&lt;br /&gt;&lt;br /&gt;The threading was done with a 60degree lathe tool, mounted upside down, with the lathe running backwards. I threaded it in until it "looked done", and then cleaned up by running an M10 x 1.5 die over it. Worked very nicely as I didn't need to try to fight workhardening steel with the die getting an initial thread.&lt;br /&gt;&lt;br /&gt;Now to make the bearing brackets...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-3317850073336004419?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/3317850073336004419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=3317850073336004419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3317850073336004419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3317850073336004419'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/02/1-meter-i-was-running-lathe-at-fairly.html' title='Maching ACME threaded rod'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ote6K6IVUV8/SYS56TKawZI/AAAAAAAAAYs/R8rN5vsJl9g/s72-c/2009-02-01-IMG_6376.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-4058498221498960039</id><published>2009-01-31T15:14:00.002+11:00</published><updated>2009-01-31T15:22:07.687+11:00</updated><title type='text'>ACME threaded rod.</title><content type='html'>I bought it from&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  Bomond Trading Co Pty Ltd&lt;br /&gt;  49 Orchard Rd, Brookvale, NSW 2100&lt;br /&gt;  p: (02) 99391344 &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;1/2 inch (12.7mm) ACME threaded rod (aka leadscrew), 10 tpi (10 turns per inch). This is rolled rather than ground so it's less accurate.&lt;br /&gt;&lt;br /&gt;The chap at Bomond was very helpful; I phone up on thursday, he said it was a speciality item, but he could get next day. I went this on saturday (this morning), and picked it up. The length of leadscrew and a handful of M10 nuts was under $AUD100 so I was pretty happy. It was the closet place in Sydney I could find to supply it. There's a number of other places I'd found, but they were a long drive away.&lt;br /&gt;&lt;br /&gt;The only fly in the ointment was that I was expecting it to be a 3 meter length, but it was actually 12 foot. For some mad reason I'd heard "12 foot" and mentally translated that to "about 3 meters". Of course, it's actually about 3.7 meters, which is longer than will fit in the car.&lt;br /&gt;&lt;br /&gt;Bomond didn't have cutting facilities, but I was on my way to Edcon Steel to pick up some aluminium flat bar, so I just left it poking out of the boot of the car a bit while I drove around the corner and asked the chap at Edcon to snip 1150mm off one end for me. Nice and easy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-4058498221498960039?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/4058498221498960039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=4058498221498960039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/4058498221498960039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/4058498221498960039'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/acme-threaded-rod.html' title='ACME threaded rod.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-3006398680439796909</id><published>2009-01-28T23:24:00.002+11:00</published><updated>2009-01-28T23:31:08.318+11:00</updated><title type='text'>Stepper motors</title><content type='html'>The stepper motors I have are Linengineering 4118S-62-07 motors. They were a surplus item, so unfortunately the datasheet doesn't seem to be a very common.&lt;br /&gt;&lt;br /&gt;My motors are rated for 2.5A per phase, and a resistance of ~1 ohm is cited in a catalogue with a ~3.6Kg-cm torque.&lt;br /&gt;&lt;br /&gt;Looking at &lt;a href="http://http://www.linengineering.com/site/products/4118.html"&gt;http://www.linengineering.com/site/products/4118.html&lt;/a&gt; and extrapolating a bit, my motor would be something like the 4118S-04V, or having approx the same torque the 4118S-04P does, just at twice the rpm.&lt;br /&gt;&lt;br /&gt;So when I'm running my mill at 2000mm/sec on a 1.25mm pitch, that's about 26 revs/sec. Which would be something like 1600g-cm of torque from my wild guessing and eyeballing the graph. Which, frankly, isn't too bad at all at all!&lt;br /&gt;&lt;br /&gt;If I get this ACME at 10tpi (or 2.54mm pitch), I should be able to run a similar speed, but at 13 revs/sec and ~ 2200g-cm of torque. When is very reasonable indeed. Ok, I'm sold.&lt;br /&gt;&lt;br /&gt;Now I'm off to buy some 3 meters of ACME threaded rod.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-3006398680439796909?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/3006398680439796909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=3006398680439796909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3006398680439796909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3006398680439796909'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/stepper-motors.html' title='Stepper motors'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-3786304679995723308</id><published>2009-01-27T20:33:00.002+11:00</published><updated>2009-01-27T20:53:22.672+11:00</updated><title type='text'>Simple image to g-code converter</title><content type='html'>&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SX7U0vA58_I/AAAAAAAAAYM/dp3V96tKCDI/s1600-h/2009-01-25-IMG_6288.JPG'&gt;&lt;img src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SX7U0vA58_I/AAAAAAAAAYM/dp3V96tKCDI/s320/2009-01-25-IMG_6288.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&lt;br /&gt;I did a tiny little bit of tidy up and uploaded my trivial C program to &lt;a href="http://code.google.com/p/imagecarve/"&gt;http://code.google.com/p/imagecarve/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The program simply translates images to &lt;a href="http://en.wikipedia.org/wiki/G-code"&gt;G-code&lt;/a&gt;. It does nothing else. It assumes that you're capable of editing the resulting G-code to make it usable on your machine, and that you can add minor things to the g-code  like feed rates et al.&lt;br /&gt;&lt;br /&gt;It's pretty raw. It assumes many things, including that you have a ballnose cutter and that the input is always correctly formatted PGM.&lt;br /&gt;&lt;br /&gt;The line I used to generate the (upside down) image from the pic above is:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;cat ../IMG_545.JPG | jpegtopnm | ppmtopgm | &lt;br /&gt;    ./imagecarve --scale=0.25 --toolsize=3.2 --stepover=1.5 &gt; out.g&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;followed by hand editing of the resulting 'out.g' file to set a feed rate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-3786304679995723308?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/3786304679995723308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=3786304679995723308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3786304679995723308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3786304679995723308'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/simple-image-to-g-code-converter.html' title='Simple image to g-code converter'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ote6K6IVUV8/SX7U0vA58_I/AAAAAAAAAYM/dp3V96tKCDI/s72-c/2009-01-25-IMG_6288.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-3817115171194890951</id><published>2009-01-26T13:22:00.002+11:00</published><updated>2009-01-27T19:39:22.326+11:00</updated><title type='text'>Yay! First cut!</title><content type='html'>&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SX0eWcKL_dI/AAAAAAAAAYE/LlQCa0bBK9Q/s1600-h/2009-01-24-IMG_6272.JPG'&gt;&lt;img src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SX0eWcKL_dI/AAAAAAAAAYE/LlQCa0bBK9Q/s320/2009-01-24-IMG_6272.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&lt;br /&gt;After a lot of preperation the mini-mill is cutting foam again! Pic shows a little test cut from semi hand-rolled G-code. It was done with a 3.2mm ball-nose endmill, using a 2mm stepover and running at ~ 400mm/minute feed rate.&lt;br /&gt;&lt;br /&gt;Frankly, the biggest thing it showed was that I feel the need for speed! It could easily have cut at &gt; 1000mm/minute given the fairly shallow cuts being taken. My steppers are pretty tiny, and the threaded rod I'm using is only a 1.25mm pitch so it's spinning pretty fast to reach the 600mm/min rapids it's currently doing. I think I see a purchase of some ACME threaded rod in my future... Which will mean re-doing all the delrin nuts again, dammit.&lt;br /&gt;&lt;br /&gt;Currently debating if I should buy 1/2inch or 5/8th inch rod (~12mm and ~16mm respectively). The 12mm is 2.54mm pitch, and the 16mm is 4.3mm pitch, so the 5/8th is capable of much higher speeds, at the cost of some accuracy and backlash. Still very undecided on this.&lt;br /&gt;&lt;br /&gt;I say 'semi hand-rolled' G-code as it involved initially a significant chunk of perl, and eventually a chunk of C code that properly compensated for the cutter size. At the moment, it will take a PGM image and convert it into G-code, treating the grey levels as a high map. It's did a semi-reasonable job of carving a picture of K into foam; albeit with some oddities given the simple lightlevel-&gt;height conversion. Took nearly an hour to carve a 120mm x 80mm image tho. I am seriously feeling the need for speed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-3817115171194890951?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/3817115171194890951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=3817115171194890951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3817115171194890951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3817115171194890951'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/yay-first-cut.html' title='Yay! First cut!'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ote6K6IVUV8/SX0eWcKL_dI/AAAAAAAAAYE/LlQCa0bBK9Q/s72-c/2009-01-24-IMG_6272.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-2651087148584634272</id><published>2009-01-25T08:07:00.002+11:00</published><updated>2009-01-26T13:21:06.554+11:00</updated><title type='text'>Getting slower better at milling.</title><content type='html'>&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXuDHmYAFsI/AAAAAAAAAX8/gNWFX42QwLs/s1600-h/2009-01-24-IMG_6267.JPG'&gt;&lt;img src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXuDHmYAFsI/AAAAAAAAAX8/gNWFX42QwLs/s320/2009-01-24-IMG_6267.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&lt;br /&gt;I'm slowly getting better at maching parts. The photo is a trival couple of spacers; Just some aluminium box, cut and faced to the same length.&lt;br /&gt;&lt;br /&gt;I cut them on the bandsaw, squared one end of each on the mill, turned them over, stood them on equal bars and then run a face cutter over the pair.&lt;br /&gt;&lt;br /&gt;Pretty trivial machining, but it still involved 3 tools. The nice bit that I'm happy about is that it only took me about 5 to 10 minutes. I'm very slowly getting more experienced and quicker.&lt;br /&gt;&lt;br /&gt;This morning I was making more delrin nuts (for the mini-mill) and had both the lathe and knee-mill running at the same time. The lathe was on auto-feed facing and then parting delrin, while the mill was on power-feed facing the aluminium bracket. Less standing around waiting while the machines take fine cuts. Not entirely sure it was a good idea, but it did make things go faster.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-2651087148584634272?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/2651087148584634272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=2651087148584634272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2651087148584634272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2651087148584634272'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/getting-slower-better-at-milling.html' title='Getting slower better at milling.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXuDHmYAFsI/AAAAAAAAAX8/gNWFX42QwLs/s72-c/2009-01-24-IMG_6267.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-3858316248438539097</id><published>2009-01-25T07:50:00.003+11:00</published><updated>2009-01-25T12:33:19.558+11:00</updated><title type='text'></title><content type='html'>&lt;a href='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXt_LqBflSI/AAAAAAAAAX0/bGy7FKlRg2k/s1600-h/2009-01-25-IMG_6274.JPG'&gt;&lt;img src='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXt_LqBflSI/AAAAAAAAAX0/bGy7FKlRg2k/s320/2009-01-25-IMG_6274.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The PCBs for the &lt;a href="http://randomtechmakings.blogspot.com/2008/12/following-on-from-my-successful-240v.html"&gt;relay board&lt;/a&gt; finally arrived from &lt;a href="http://www.batchpcb.com/"&gt;BatchPCB&lt;/a&gt;. (Well, I should say I finally got them; Turns out they were sitting the mailroom at work waiting for me to pick them up for about 2 weeks. Oops)&lt;br /&gt;&lt;br /&gt;Pic is a raw board on the right, and a fully assembled board on the left. The board went together fairly easily.&lt;br /&gt;&lt;br /&gt;I tried to use the SMD oven for the first time in anger, and was mildly annoyed to find that it doesn't quite reach the melting point of the lead-free solder I'm now using. Dammit. I need to get a toaster oven or similar.&lt;br /&gt;&lt;br /&gt;So I just hot-air soldered all the SMD components, and then hand-soldered all the through hole components. A lot of soldering! Took most of an hour to solder it. ( Some 123 thru-hole solder points).&lt;br /&gt;&lt;br /&gt;Interestingly, I managed to get a dry-solder on one of the SMD components. I suspect I managed to just not put enough solder paste on it, but it's a first for me. I fixed it by hand-soldering; Good thing it was an enormous 0.8mm pitch component.&lt;br /&gt;&lt;br /&gt;Board is now plugged into an ATNGW100 and it looks like it's working well. I can read temperature from a DS18B20+ that's attached to one of the 1-wire interfaces, and the board hasn't caught fire. Yay!!&lt;br /&gt;&lt;br /&gt;When I get time later today I'll do the spot of programming to talk to the GPIO pins and start testing the relay drivers, RS422, and SPI interfaces.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-3858316248438539097?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/3858316248438539097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=3858316248438539097' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3858316248438539097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3858316248438539097'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/pcbs-for-relay-board-finally-arrived.html' title=''/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXt_LqBflSI/AAAAAAAAAX0/bGy7FKlRg2k/s72-c/2009-01-25-IMG_6274.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-1593566439197029908</id><published>2009-01-25T07:36:00.002+11:00</published><updated>2009-01-25T07:47:47.095+11:00</updated><title type='text'>Eye-Fi, grumble, grumble.</title><content type='html'>The Eye-Fi card simply stopped working a few days ago.&lt;br /&gt;&lt;br /&gt;After trying the usual sorts of things (power cycle, power cycle again in a fit of sheer optimism, opwer cycle with it next to the access point, tcpdump on the network looking for it's MAC address) it was clear that things had gone badly wrong.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;10:38:04.919893 00:18:56:10:1d:b6 &gt; Broadcast, 802.3, length 60: LLC, dsap Null (0x00) Individual, ssap Null (0x00) Response, ctrl 0xaf: Unnumbered, xid, Flags [Response], length 46: 01 00&lt;br /&gt;10:38:09.174952 00:18:56:10:1d:b6 &gt; Broadcast, 802.3, length 60: LLC, dsap Null (0x00) Individual, ssap Null (0x00) Response, ctrl 0xaf: Unnumbered, xid, Flags [Response], length 46: 01 00&lt;br /&gt;10:38:13.444594 00:18:56:10:1d:b6 &gt; Broadcast, 802.3, length 60: LLC, dsap Null (0x00) Individual, ssap Null (0x00) Response, ctrl 0xaf: Unnumbered, xid, Flags [Response], length 46: 01 00&lt;br /&gt;10:38:17.707051 00:18:56:10:1d:b6 &gt; Broadcast, 802.3, length 60: LLC, dsap Null (0x00) Individual, ssap Null (0x00) Response, ctrl 0xaf: Unnumbered, xid, Flags [Response], length 46: 01 00&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;It was basically just broadcasting an invalid ethernet frame over and over again.  Curses. Looks like it had corrupted its configuration.&lt;br /&gt;&lt;br /&gt;After laboriously re-installing the windows software, it wanted a firmware update (2.0396 -&gt; 2.0400 ) which I did. Pulling the log from the card showed things like..&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[111:32] Disconnected from WLAN (reason = 4).&lt;br /&gt;[111:32] Connection dropped (previous state is 2)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;looping. Yuck. No idea what causes it to corrupt it's settings. It's "fixed" now in the sense that it's uploading images again, but I'm a little perturbed. (Luckily the firmware update didn't break the perl server).&lt;br /&gt;&lt;br /&gt;I need to find out why &lt;a href="http://dave-hansen.blogspot.com/"&gt;Dave Hansens&lt;/a&gt; linux utility doesn't work and fix it. It's very annoying having to fire up a windows instance all the time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-1593566439197029908?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/1593566439197029908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=1593566439197029908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/1593566439197029908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/1593566439197029908'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/eye-fi-grumble-grumble.html' title='Eye-Fi, grumble, grumble.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-1055228481405390797</id><published>2009-01-24T07:34:00.003+11:00</published><updated>2009-01-24T23:15:36.500+11:00</updated><title type='text'>Bracket to suit.</title><content type='html'>This is the bracket that goes with the acetal nut. It's just a piece of 50mm x 50mm x 10mm aluminum,  squared up on the mill, slotted with a 6mm end-mill,  drilled in the center with same, increased out to 16mm with a 16mm roughing endmill, and then bored out to ~21mm with the boring tool.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXop_uYJM9I/AAAAAAAAAXU/JCaYvF2zVvo/s1600-h/2009-01-19-IMG_6200.JPG'&gt;&lt;img src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXop_uYJM9I/AAAAAAAAAXU/JCaYvF2zVvo/s320/2009-01-19-IMG_6200.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&lt;br /&gt;The finished piece. I just love the finish the boring tool puts on holes. The final pass was cutting ~0.1mm deep, feeding at about 0.03mm per turn, so it was taking a pretty fine cut indeed. The result is this mirror smooth finish. Total overkill for this piece, but I take any opportunity to practise. The results I'm getting these days are &lt;i&gt;far&lt;/i&gt; improved over the mess I made with it when I first got it.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXoqAGKegsI/AAAAAAAAAXc/s-fgyPlw0bw/s1600-h/2009-01-19-IMG_6202.JPG'&gt;&lt;img src='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXoqAGKegsI/AAAAAAAAAXc/s-fgyPlw0bw/s320/2009-01-19-IMG_6202.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&lt;br /&gt;Acetal nut fitted to bracket. The bolts are just my usual M6 stainless steel. There's about 5mm of adjustment available in both the X and Y directions.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXoqAQDS5LI/AAAAAAAAAXk/Y1qZSJuVsVg/s1600-h/2009-01-19-IMG_6201.JPG'&gt;&lt;img src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXoqAQDS5LI/AAAAAAAAAXk/Y1qZSJuVsVg/s320/2009-01-19-IMG_6201.JPG' border='0' alt=''style='clear:both;float:left; margin:0px 10px 10px 0;' /&gt;&lt;/a&gt;&lt;br /&gt;The driving side. The nut isn't actually totally flat on this side. It turns out the parting tool I used to cut it off the bar isn't totally straight, so there's ~0.07mm of curvature across the nut. Which turned out to be fine as it's the otherside that fits to the bracket, but it's still annoying. Will have to get out the dial indicator and straighten the parting tool at some point; Come to think of it, I'd better do it soon before I forget and attempt to use a bent parting tool to part steel....&lt;br /&gt;&lt;br /&gt;This bracket is fitted to the table mill and working very well. Much better than the old nut. Unsuprisingly, having the threaded hole accurate makes a big difference to the effort required to drive it. The tiny steppers I have easily drive it at better than 1200 rpm now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-1055228481405390797?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/1055228481405390797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=1055228481405390797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/1055228481405390797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/1055228481405390797'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/blog-post.html' title='Bracket to suit.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXop_uYJM9I/AAAAAAAAAXU/JCaYvF2zVvo/s72-c/2009-01-19-IMG_6200.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-6429782295850966140</id><published>2009-01-20T07:20:00.002+11:00</published><updated>2009-01-24T23:04:13.498+11:00</updated><title type='text'>My blogging process.</title><content type='html'>I'm not 100% happy with this, but it's still the least effort I know of.&lt;br /&gt;&lt;br /&gt;I take photos with the Canon 20D, which then uses an eye-fi to upload to the server. The script on the server auto-sorts into directories by month.&lt;br /&gt;&lt;br /&gt;I then use picassa on the linux desktop to pick out suitable photos, occasionally cropping particularly dud ones that I still want. After getting  a few useful pics, I click on 'Blog this', and then 'Save as draft'. (As the picassa blog editor is awful).&lt;br /&gt;&lt;br /&gt;Then I got to blogger.com, click on 'Edit posts', select the draft and add text. Then publish if all goes well.&lt;br /&gt;&lt;br /&gt;Things that suck:&lt;br /&gt;&lt;br /&gt;1. Picassa on linux frequently forgets to scan the directories regularly. I need to go to the Folder manager, change nothing, click OK, and then it finally scans the directory and picks up the new images.&lt;br /&gt;&lt;br /&gt;2. Picassa won't 'Blog this' with more than 4 pics. Sometimes this is a pain.&lt;br /&gt;&lt;br /&gt;3. There's no easy way to add captions to pictures that show up in the blog post. Picassa lets you set captions on pictures, but promptly discards them when you ask it to generate HTML. I kinda get the impression that 'Blog this' was a kinda half-arsed feature.&lt;br /&gt;&lt;br /&gt;4. The Blogger editor is pretty flakey. Then editing posts that have images floated right, it's easy to get into a state when it simply won't add text at the top of the post. Increasingly, I just edit the HTML as it's easier than fighting the editor.&lt;br /&gt;&lt;br /&gt;5. The whole process is still a large work burden than I'd like. My mental barriers to regularly updating the blog are high enough without fighting tools as well.&lt;br /&gt;&lt;br /&gt;What do other people use?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-6429782295850966140?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/6429782295850966140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=6429782295850966140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/6429782295850966140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/6429782295850966140'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/my-blogging-process.html' title='My blogging process.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-861323998315339988</id><published>2009-01-20T06:31:00.002+11:00</published><updated>2009-01-21T18:11:08.939+11:00</updated><title type='text'>TechCrunch tablet lappad</title><content type='html'>Looks like someone is finally building my ideal tablet.&lt;br /&gt;&lt;br /&gt;http://www.techcrunch.com/2009/01/19/techcrunch-tablet-update-prototype-b&lt;br /&gt;&lt;br /&gt;Reasonable price point, nice and simple, good sized screen, runs linux: What's not to like?&lt;br /&gt;&lt;br /&gt;I'm still hunting something like this as a better interface for the home automation system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-861323998315339988?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/861323998315339988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=861323998315339988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/861323998315339988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/861323998315339988'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/techcrunch-tablet-lappad.html' title='TechCrunch tablet lappad'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-1593834193759608354</id><published>2009-01-18T22:48:00.001+11:00</published><updated>2009-01-19T18:46:29.239+11:00</updated><title type='text'>Finishing flanged nut</title><content type='html'>&lt;a href='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMXCCrtRxI/AAAAAAAAAXE/49r-UfrOk54/s1600-h/2009-01-19-IMG_6195.JPG'&gt;&lt;img border='0' style='margin: 0pt 0pt 10px 10px; clear: both; float: right;' alt='' src='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMXCCrtRxI/AAAAAAAAAXE/49r-UfrOk54/s160/2009-01-19-IMG_6195.JPG'/&gt;&lt;/a&gt; &lt;br/&gt;&lt;a href='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMXCb9EEXI/AAAAAAAAAXM/0gOYL0Maz9E/s1600-h/2009-01-19-IMG_6194.JPG'&gt;&lt;img border='0' style='margin: 0pt 0pt 10px 10px; clear: both; float: right;' alt='' src='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMXCb9EEXI/AAAAAAAAAXM/0gOYL0Maz9E/s160/2009-01-19-IMG_6194.JPG'/&gt;&lt;/a&gt;&lt;a href='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMXCLFdb-I/AAAAAAAAAW8/AETmPiNTz80/s1600-h/2009-01-19-IMG_6196.JPG'&gt;&lt;img border='0' style='margin: 0pt 0pt 10px 10px; clear: both; float: right;' alt='' src='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMXCLFdb-I/AAAAAAAAAW8/AETmPiNTz80/s160/2009-01-19-IMG_6196.JPG'/&gt;&lt;/a&gt;&lt;a href='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMXB3Q-xzI/AAAAAAAAAW0/vgt5qBhh4T4/s1600-h/2009-01-19-IMG_6197.JPG'&gt;&lt;img border='0' style='margin: 0pt 0pt 10px 10px; clear: both; float: right;' alt='' src='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMXB3Q-xzI/AAAAAAAAAW0/vgt5qBhh4T4/s160/2009-01-19-IMG_6197.JPG'/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is just finishing off the delrin nut for the table mill. After turning the blank on the lathe, I finished it off on the mill. This was basically just cut the top and bottom off to reduce the height to 30mm, then mill the slots either side (which will be used for position adjustment).&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Acetal is seriously nice to work with. It cuts very cool (no lubricant or cooling required!), and the surface finish is just fantastic.&lt;br/&gt;&lt;br/&gt;The only (very minor) downside is that it compresses slightly under load, so I needed to do a few passes on the slots to get them the right side.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Easy machine, relatively cheap (cost me ~$50AUD for a 1000m x 50mm rod), nice finish, tough. What's not to like!? :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-1593834193759608354?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/1593834193759608354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=1593834193759608354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/1593834193759608354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/1593834193759608354'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/finishing-flanged-nut.html' title='Finishing flanged nut'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMXCCrtRxI/AAAAAAAAAXE/49r-UfrOk54/s72-c/2009-01-19-IMG_6195.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-5150882125022508474</id><published>2009-01-18T22:45:00.001+11:00</published><updated>2009-01-19T18:39:39.810+11:00</updated><title type='text'>Acetal on the lathe</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;a href='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMWYYE0w-I/AAAAAAAAAWU/EdSD3HlvTWY/s1600-h/2009-01-18-IMG_6189.JPG'&gt;&lt;img border='0' style='margin-top: 10px; margin-bottom: 10px; clear: both; float: right; margin-left: 10px;' alt='' src='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMWYYE0w-I/AAAAAAAAAWU/EdSD3HlvTWY/s160/2009-01-18-IMG_6189.JPG'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXMWYbudvQI/AAAAAAAAAWc/07awezr41e8/s1600-h/2009-01-19-IMG_6191.JPG'&gt;&lt;img border='0' style='margin-top: 10px; margin-bottom: 10px; clear: both; float: right; margin-left: 10px;' alt='' src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXMWYbudvQI/AAAAAAAAAWc/07awezr41e8/s160/2009-01-19-IMG_6191.JPG'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;a href='http://1.bp.blogspot.com/_Ote6K6IVUV8/SXMWYn0VNfI/AAAAAAAAAWk/tGc2aMRasxw/s1600-h/2009-01-18-IMG_6188.JPG'&gt;&lt;img border='0' style='margin: 0pt 0pt 10px 10px; clear: both; float: right;' alt='' src='http://1.bp.blogspot.com/_Ote6K6IVUV8/SXMWYn0VNfI/AAAAAAAAAWk/tGc2aMRasxw/s160/2009-01-18-IMG_6188.JPG'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;a href='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMWY_z--AI/AAAAAAAAAWs/lfWx_EhPkyM/s1600-h/2009-01-19-IMG_6192.JPG'&gt;&lt;img border='0' style='margin: 0pt 0pt 10px 10px; clear: both; float: right;' alt='' src='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMWY_z--AI/AAAAAAAAAWs/lfWx_EhPkyM/s160/2009-01-19-IMG_6192.JPG'/&gt;&lt;/a&gt;&lt;br/&gt;I started turning up the flanged nut for the X axis on the table mill. The current nut is made of UHMWPE (aka a piece of plastic cutting board), but it was made on a drill press, and it's accuracy is low enough that it binds fairly easily.&lt;br/&gt;&lt;br/&gt;The new nut is made of Delrin (aka Acetal). This is my first time maching acetal and overall it was very pleasant. The only negative is that is grabs &lt;i&gt;very&lt;/i&gt; easily. I got a little carried away and the autofeed was a little fast, and thus the piece of 50mm rod made contact with the ceiling. Oops.&lt;br/&gt;&lt;br/&gt;Taking slightly lighter cut made everything good. The plastic machines to a very nice finish, and appears to hold it's shape very well. I just faced the rod, did a skim cut to true it, narrowed one section and then cut it off with a parting tool. Very easy!&lt;br/&gt;&lt;br/&gt;I'll definitely be using this more.&lt;br/&gt;&lt;br/&gt;The other thing I did was something I've been been meaning to do for a while. After tapping a thread into a hole, there's frequently small shards of metal et al which are difficult to remove. Just running a bolt into the hole tends to mash the splinters into the thread making a bit of a mess.&lt;br/&gt;&lt;br/&gt;So took a normal M6 bolt, and used the ginder to put a groove up the side of it (cutting across the threads). Screwing this into the hole nicely removes the splinters of metal (they collect in the groove). This is akin to just running the tap in, but the bolt is a looser fit, and doesn't risk further cutting of the thread. Worked better than I expected. &lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-5150882125022508474?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/5150882125022508474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=5150882125022508474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/5150882125022508474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/5150882125022508474'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/i-started-turning-up-flanged-nut-for-x.html' title='Acetal on the lathe'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ote6K6IVUV8/SXMWYYE0w-I/AAAAAAAAAWU/EdSD3HlvTWY/s72-c/2009-01-18-IMG_6189.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-231269455559694448</id><published>2009-01-17T21:36:00.001+11:00</published><updated>2009-01-19T18:34:14.801+11:00</updated><title type='text'>Home Switches</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXG0oWvz2CI/AAAAAAAAAV0/Xsxs-QUad3U/s1600-h/2009-01-18-IMG_6182.JPG'&gt;&lt;img border='0' style='margin: 0pt 0pt 10px 10px; clear: both; float: right;' alt='' src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXG0oWvz2CI/AAAAAAAAAV0/Xsxs-QUad3U/s160/2009-01-18-IMG_6182.JPG'/&gt;&lt;/a&gt; &lt;br/&gt;&lt;a href='http://1.bp.blogspot.com/_Ote6K6IVUV8/SXG0oqaTnKI/AAAAAAAAAV8/XW19q8cBi9s/s1600-h/2009-01-18-IMG_6183.JPG'&gt;&lt;img border='0' style='margin: 0pt 0pt 10px 10px; clear: both; float: right;' alt='' src='http://1.bp.blogspot.com/_Ote6K6IVUV8/SXG0oqaTnKI/AAAAAAAAAV8/XW19q8cBi9s/s160/2009-01-18-IMG_6183.JPG'/&gt;&lt;/a&gt; &lt;br/&gt;&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXG0otpS8GI/AAAAAAAAAWE/PX9h0NMf8rA/s1600-h/2009-01-18-IMG_6186.JPG'&gt;&lt;img border='0' style='margin: 0pt 0pt 10px 10px; clear: both; float: right;' alt='' src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXG0otpS8GI/AAAAAAAAAWE/PX9h0NMf8rA/s160/2009-01-18-IMG_6186.JPG'/&gt;&lt;/a&gt; &lt;br/&gt;&lt;a href='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXG0ovhyp4I/AAAAAAAAAWM/4iGh1P1ntrA/s1600-h/2009-01-18-IMG_6184.JPG'&gt;&lt;img border='0' style='margin: 0pt 0pt 10px 10px; clear: both; float: right;' alt='' src='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXG0ovhyp4I/AAAAAAAAAWM/4iGh1P1ntrA/s160/2009-01-18-IMG_6184.JPG'/&gt;&lt;/a&gt;&lt;br/&gt;Today I added home switches to the table mill. &lt;br/&gt;&lt;br/&gt;The microswitches were just ones I had lying around that were a suitable size. It didn't take long to discover that they mounted via a pair of 2mm holes. Unfortunately, I didn't have any M2 bolts around.&lt;br/&gt;&lt;br/&gt;So with desperation driving necessity, I found a length of thick wire (actually ~ 1.9mm music wire) and used the drill to run it through an M2 die. This nicely gave me a length of M2 threaded rod.&lt;br/&gt;&lt;br/&gt;In the spirit of hackery, I then drilled a pair of 1.5mm holes into the aluminium bracket, and use the drill to drive the threaded rod into the holes. The music wire being much harder than the aluminium, it just tapped a thread into the al bracket. Ta-dah! Easy mounting for the micro-switches. A very small bad of CA glue to stop things vibrating free and it's all done.&lt;br/&gt;&lt;br/&gt;I'm still using MACH3 to drive the mill at the  moment (haven't yet installed EMC2) but it's still neat to click on 'Ref All Home', and watch the mill drive the Z, Y and X axis to the home switches, stop, and reverse slowly until it comes off the switch.&lt;br/&gt;&lt;br/&gt;I think tomorrow I'll be in shape to do the initial cuts on the upgraded mill.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-231269455559694448?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/231269455559694448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=231269455559694448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/231269455559694448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/231269455559694448'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/today-i-added-home-switches-to-table.html' title='Home Switches'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ote6K6IVUV8/SXG0oWvz2CI/AAAAAAAAAV0/Xsxs-QUad3U/s72-c/2009-01-18-IMG_6182.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-2150181430217019910</id><published>2009-01-15T20:49:00.002+11:00</published><updated>2009-01-15T20:51:25.757+11:00</updated><title type='text'>Eye</title><content type='html'>The range of the Eye-fi card is pretty ordinary indeed.&lt;br /&gt;&lt;br /&gt;It can do 2 meters of air.&lt;br /&gt;It can do 5 meters of air.&lt;br /&gt;It can't do 10 meters of air + 2 glass windows.&lt;br /&gt;It can't do 5 meters and a brick wall.&lt;br /&gt;&lt;br /&gt;Am mildly disappointed. The last thing left to try is bump up the access-point power from 40mW to 250mW. This doesn't help if it's a transmit problem on the eye-fi card, but hey! it's about 50/50 right? right? :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-2150181430217019910?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/2150181430217019910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=2150181430217019910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2150181430217019910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2150181430217019910'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/eye.html' title='Eye'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-6718083437094324950</id><published>2009-01-14T21:18:00.002+11:00</published><updated>2009-01-14T21:27:05.123+11:00</updated><title type='text'>Actual progress</title><content type='html'>&lt;a href='http://3.bp.blogspot.com/_Ote6K6IVUV8/SW27-KiXY0I/AAAAAAAAAVc/x53alzWTzBg/s1600-h/2009-01-15-IMG_6147.JPG'&gt;&lt;img src='http://3.bp.blogspot.com/_Ote6K6IVUV8/SW27-KiXY0I/AAAAAAAAAVc/x53alzWTzBg/s160/2009-01-15-IMG_6147.JPG' border='0' alt=''style='clear:both;float:right; margin:0 0 10px 10px;' /&gt;&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href='http://1.bp.blogspot.com/_Ote6K6IVUV8/SW27-N5JdvI/AAAAAAAAAVk/jiPMxBrxumg/s1600-h/2009-01-15-IMG_6148.JPG'&gt;&lt;img src='http://1.bp.blogspot.com/_Ote6K6IVUV8/SW27-N5JdvI/AAAAAAAAAVk/jiPMxBrxumg/s160/2009-01-15-IMG_6148.JPG' border='0' alt=''style='clear:both;float:right; margin:0 0 10px 10px;' /&gt;&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;a href='http://3.bp.blogspot.com/_Ote6K6IVUV8/SW27-Rn26iI/AAAAAAAAAVs/dvjgUtfiSpE/s1600-h/2009-01-15-IMG_6149.JPG'&gt;&lt;img src='http://3.bp.blogspot.com/_Ote6K6IVUV8/SW27-Rn26iI/AAAAAAAAAVs/dvjgUtfiSpE/s160/2009-01-15-IMG_6149.JPG' border='0' alt=''style='clear:both;float:right; margin:0 0 10px 10px;' /&gt;&lt;/a&gt;&lt;br /&gt;I basically finished re-assembling the table mill. Starting to look like it can actually cut something!&lt;br /&gt;&lt;br /&gt;The table went on very easily. There's a lot of socket screws involved, so I took an old allen key and cut the tail off with the grinder. (With a stupid moment along the way; I had assumed the key would be case hardened as it's a cheap key, so I ground off the surface and then put it against the metal bandsaw. Mistake. Now I think I need to fit a new blade to the bandsaw.  Doh! Not a total disaster as the blade was pretty close to the end anyway but still annoying)&lt;br /&gt;&lt;br /&gt;The resulting hardened hex bar fits into the cordless drill and making doing and undoing socket screws very fast and easy.&lt;br /&gt;&lt;br /&gt;I still need to finish aligning the table (need to get the electronics back together for that). I also finished all the plywood sections for the dust box. &lt;br /&gt;&lt;br /&gt;Next step is to cut to the perspex lid and side for it, and hinge them on. Cutting the perspex will be .. interesting. It's only 3mm thick, but I need to make a greater than 1.5 meter long cut. &lt;br /&gt;&lt;br /&gt;I'm planning on using the circular saw for it. I'll need to ensure that the perspex is clamped well on both side of the cut. Not going to be easy as I'm running a cut up the middle of a 2.4 meter long sheet. I suspect it will be a matter of reducing the depth on the circular saw to a minimum, using backing plywood, and lots and lots of weight. Not sure how else I can usefully clamp it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-6718083437094324950?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/6718083437094324950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=6718083437094324950' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/6718083437094324950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/6718083437094324950'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/actual-progress.html' title='Actual progress'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ote6K6IVUV8/SW27-KiXY0I/AAAAAAAAAVc/x53alzWTzBg/s72-c/2009-01-15-IMG_6147.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-3790383982401964040</id><published>2009-01-13T20:53:00.002+11:00</published><updated>2009-01-14T08:09:57.394+11:00</updated><title type='text'>Plastic fantastic</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWxkvMYjydI/AAAAAAAAAVI/XPSCKPQobJQ/s1600-h/2009-01-14-IMG_6141.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWxkvMYjydI/AAAAAAAAAVI/XPSCKPQobJQ/s160/2009-01-14-IMG_6141.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWxkvuyy3_I/AAAAAAAAAVQ/4V22Pa5wIwY/s1600-h/2009-01-14-IMG_6140.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWxkvuyy3_I/AAAAAAAAAVQ/4V22Pa5wIwY/s160/2009-01-14-IMG_6140.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;More toys arrived yesterday. This is 2 x 1000mm x 50mm Delrin rod. A fairly tough plastic, dimensionally pretty stable, and very, very easy to machine.&lt;br /&gt;&lt;br /&gt;I bought it originally to make anti-backlash nuts, but I suspect it'll find up getting used for a fair few more things than that..&lt;br /&gt;&lt;br /&gt;I'm planning to fire up the lathe this evening and turn a couple of nuts for the mini table mill, just to get some experience with the material.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-3790383982401964040?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/3790383982401964040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=3790383982401964040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3790383982401964040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3790383982401964040'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/plastic-fantastic.html' title='Plastic fantastic'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ote6K6IVUV8/SWxkvMYjydI/AAAAAAAAAVI/XPSCKPQobJQ/s72-c/2009-01-14-IMG_6141.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-1027359444821931574</id><published>2009-01-13T20:52:00.003+11:00</published><updated>2009-01-13T21:30:51.414+11:00</updated><title type='text'>Small progress</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWxkVHwQixI/AAAAAAAAAUo/jp9r4Dly654/s1600-h/2009-01-13-IMG_6139.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWxkVHwQixI/AAAAAAAAAUo/jp9r4Dly654/s160/2009-01-13-IMG_6139.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWxkVSqXbDI/AAAAAAAAAUw/lDLCnlHA0Is/s1600-h/2009-01-14-IMG_6144.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWxkVSqXbDI/AAAAAAAAAUw/lDLCnlHA0Is/s160/2009-01-14-IMG_6144.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWxkVen-9dI/AAAAAAAAAU4/qLSB7VVhrRM/s1600-h/2009-01-14-IMG_6143.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWxkVen-9dI/AAAAAAAAAU4/qLSB7VVhrRM/s160/2009-01-14-IMG_6143.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Ote6K6IVUV8/SWxkVnHD6SI/AAAAAAAAAVA/UZlLvdf7O-0/s1600-h/2009-01-14-IMG_6145.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_Ote6K6IVUV8/SWxkVnHD6SI/AAAAAAAAAVA/UZlLvdf7O-0/s160/2009-01-14-IMG_6145.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The original task to 'just remove a bit of lash' from the table mill has grown. A little. Just slightly.&lt;br /&gt;&lt;br /&gt;So after adding the extra linear bearing, and noticing that the table structs needed fixing, which resulted in noticing that the drill holes in the original brackets weren't accurately aligned and basically tearing down the full X axis to do these things, I was on track to re-assemble.&lt;br /&gt;&lt;br /&gt;Except that the side project of enclosing the mill (to contain dust and reduce noise) reared it's head and pointed out that it's much easier to add that while the mill is mostly disassembled.&lt;br /&gt;&lt;br /&gt;Which led to noticing that the enclosure would shade the ethernet and power points on that side of the bench. So off to add extension leads to all power points and longer ethernet cables to ensure I wouldn't need to regularly get to them. Which led to relocating the PC to free up the desk space. And moving the monitor/keyboard. Which led to re-doing the power cabling to tidy it up a bit.&lt;br /&gt;&lt;br /&gt;And so this evening I finally put two sides of the enclosure is on. I just used some angle aluminium to make brackets, and screwed the plywood on. Yay! Progress!&lt;br /&gt;&lt;br /&gt;Except that in doing that and moving the X carriage around, I noticed that the nut wasn't quite aligned with the threaded rod...&lt;br /&gt;&lt;br /&gt;On the bright side, it was an opportunity to use one of the most brutal tools I own: A 26mm , high helix milling bit. When you want to make a big hole in a hurry, and you're not too fussed about the accuracy, that's the way to do it!&lt;br /&gt;&lt;br /&gt;A 26mm hole in 12mm aluminium, 8 seconds. Done! Sometimes, using a bigger hammer is just plain fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-1027359444821931574?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/1027359444821931574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=1027359444821931574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/1027359444821931574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/1027359444821931574'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/small-progress.html' title='Small progress'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ote6K6IVUV8/SWxkVHwQixI/AAAAAAAAAUo/jp9r4Dly654/s72-c/2009-01-13-IMG_6139.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-8711285864366995354</id><published>2009-01-12T19:14:00.002+11:00</published><updated>2009-01-12T20:38:57.955+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='machining'/><title type='text'>Timing belts</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWr77zrH1YI/AAAAAAAAAUY/A5Hrk-ahXLg/s1600-h/2009-01-13-IMG_6137.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWr77zrH1YI/AAAAAAAAAUY/A5Hrk-ahXLg/s160/2009-01-13-IMG_6137.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_Ote6K6IVUV8/SWr773ZpdYI/AAAAAAAAAUg/MyjagMXr_tA/s1600-h/2009-01-13-IMG_6138.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/_Ote6K6IVUV8/SWr773ZpdYI/AAAAAAAAAUg/MyjagMXr_tA/s160/2009-01-13-IMG_6138.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Another step toward finishing the CNC of the big mill arrived today. These are timing belts and pulleys. The largest one is ~300mm in diameter. I'll use this to run the Z-axis (aka the knee) on the mill, and the smaller ones to run a 2:1 reduction for the X and Y axis.&lt;br /&gt;&lt;br /&gt;Like most solutions, they come with a problem. The holes are just guide holes, I'll need to bore them out to size. That's easy. The hard bit is cutting a keyway in each one. I don't have a keyway broach, and don't feel like spending ~ $200 just for this. I'll probably try and grind out out of a bit of high speed steel. We'll see how well that works....&lt;br /&gt;&lt;br /&gt;I'm making slow progress on putting the table for the table router back together, but I've gotten mildly distracted by cleaning up the workshop.&lt;br /&gt;&lt;br /&gt;The need to put a dust case around the table router has stirred up areas of the workbench that haven't been touched in months. So now I'm moving the PC under the bench, re-running  the ethernet and power cables, tidying up and putting away, and generally making ~ 2 meters of bench space useable again. The long slow cycle continues!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-8711285864366995354?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/8711285864366995354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=8711285864366995354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8711285864366995354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8711285864366995354'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/another-step-toward-finishing-cnc-of.html' title='Timing belts'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ote6K6IVUV8/SWr77zrH1YI/AAAAAAAAAUY/A5Hrk-ahXLg/s72-c/2009-01-13-IMG_6137.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-8822464802719245403</id><published>2009-01-11T19:02:00.005+11:00</published><updated>2009-01-12T20:44:44.312+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='machining'/><title type='text'>Tedious machining</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWmnipXZJWI/AAAAAAAAAUQ/PY8bLxICRjg/s1600-h/2009-01-12-IMG_6110.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWmnipXZJWI/AAAAAAAAAUQ/PY8bLxICRjg/s320/2009-01-12-IMG_6110.JPG" alt="" style="margin: 0pt 0pt 10px 10px; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Ote6K6IVUV8/SWmniXvjWyI/AAAAAAAAAUI/LB3DozjZZs0/s1600-h/2009-01-12-IMG_6115.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_Ote6K6IVUV8/SWmniXvjWyI/AAAAAAAAAUI/LB3DozjZZs0/s320/2009-01-12-IMG_6115.JPG" alt="" style="margin: 0pt 0pt 10px 10px; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Sorry, more machining. I'm still on my quest to rebuild/improve the mini table router.&lt;br /&gt;&lt;br /&gt;The previous table supports were hacked together from a bunch of aluminium box, drilled and bolted at one end. It wasn't fastened at the other end, and the structs were overlength (I had never cut them to the right size). The ho&lt;br /&gt;&lt;br /&gt;Today I drilled and tapped holes into both end brackets for the table support structs to bolt onto. This was drilling 14 holes, each 5 mm diameter, 35 mm deep, and then tapping said holes. Suprisingly, the bulk of the time went into drilling the holes. I suspect all my 5mm drill bits are getting blunt (I use 6mm bolts almost everywhere) so it may be time to invest in a drill sharpening tool. It took almost half an hour to drill the 14 holes. Part of the time was fiddly adjustment (release table clamps, wind table to x+70mm, fiddle back and forth until it was exact on the DRO, clamp table) but it just wasn't cutting very fast either. I get bored and wound up using the quill auto-feed and auto-stop to do the bulk of them.&lt;br /&gt;&lt;br /&gt;The tapping by comparison went very fast. I&lt;span style="font-style: italic;"&gt; love&lt;/span&gt; the VFD I fitted to the mill. It's just so nice to dial up 40 rpm, and let the tap just thread straight in. I press reverse when it's in far enough, and the VFS nicely slows the mill to a stop, and then winds it up into reverse. Makes tapping (at least in Al) very quick.&lt;br /&gt;&lt;br /&gt;I followed this lot of tediousness by milling slots into the ends of all the table structs too. 28 slots (12mm slots on top, 6mm slots on bottom). Man, I'm glad I don't do this for a living.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-8822464802719245403?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/8822464802719245403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=8822464802719245403' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8822464802719245403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8822464802719245403'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/tedious-maching.html' title='Tedious machining'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ote6K6IVUV8/SWmnipXZJWI/AAAAAAAAAUQ/PY8bLxICRjg/s72-c/2009-01-12-IMG_6110.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-4416754888355857358</id><published>2009-01-10T22:06:00.006+11:00</published><updated>2009-01-10T22:20:49.685+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='metalwork'/><category scheme='http://www.blogger.com/atom/ns#' term='machining'/><title type='text'>Boring</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_Ote6K6IVUV8/SWiBTGKZ_RI/AAAAAAAAAUA/jycAG_FbV-g/s1600-h/2009-01-10-IMG_6102.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_Ote6K6IVUV8/SWiBTGKZ_RI/AAAAAAAAAUA/jycAG_FbV-g/s320/2009-01-10-IMG_6102.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWiBTDoPMqI/AAAAAAAAAT4/PQx9Mj9Cfww/s1600-h/2009-01-11-IMG_6104.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWiBTDoPMqI/AAAAAAAAAT4/PQx9Mj9Cfww/s320/2009-01-11-IMG_6104.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_Ote6K6IVUV8/SWiBTEt6yyI/AAAAAAAAATw/OWMHRu9Q7DM/s1600-h/2009-01-11-IMG_6106.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/_Ote6K6IVUV8/SWiBTEt6yyI/AAAAAAAAATw/OWMHRu9Q7DM/s320/2009-01-11-IMG_6106.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I had noticed earlier that there was a little too much slop in the mini table router. The Y-axis was rotating, being insufficiently restrained by the Z-axis carriage.&lt;br /&gt;&lt;br /&gt;So this afternoon I got around to doing something about it (or maybe it was just an excuse for some boring action.. :)&lt;br /&gt;&lt;br /&gt;I decided to add another pair of linear bearings to the top of the Z carriage so that a moment about the Y-axis would be carried by the bearings on the same rail instead of working to seperate the rails. This should (with a little pre-load) be much stiffer.&lt;br /&gt;&lt;br /&gt;And while I had the boring set out, I enlarged the motor mount opening. The top photo is the boring bar in action, on autofeed. I love the finish it leaves! This is using a carbine tipped bar in aluminium which isn't ideal, but it was the bar I had to hand.&lt;br /&gt;&lt;br /&gt;Nest was making a bracket for the linear bearings. This is a simple piece with 2 x 22mm holes for the linear bearings, and 2 x 7mm holes for attaching it (and 1 x 6mm holes in the center for the threaded rod to pass through). The digital readout on the mill makes this a piece of cake: Just touch off the piece to find the corner, set it to (0,0) on the DRO, then just drill 6mm pilot holes for the 2 x 22mm, enlarge to 16mm using a roughing mill bit, then use the boring bar to enlarge 1mm at a time to 21.8mm, then enlarge 0.0.05mm at a time to get to 21.99 which leaves the linear bearings a press fit.&lt;br /&gt;&lt;br /&gt;Last photo in the new bracket installed. It's the top bracket on the Z carriage (the carriage on the vertical rails). There's a little preload from the Y rails, so it's now nice and stiff. Well, not up to cutting metal stiff, but it should now be adequate for wood and plexiglass. (I'd previously just used it for XPP foam and wax).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-4416754888355857358?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/4416754888355857358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=4416754888355857358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/4416754888355857358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/4416754888355857358'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/boring.html' title='Boring'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ote6K6IVUV8/SWiBTGKZ_RI/AAAAAAAAAUA/jycAG_FbV-g/s72-c/2009-01-10-IMG_6102.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-2331815155758955052</id><published>2009-01-09T18:01:00.009+11:00</published><updated>2009-01-10T22:21:06.142+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='machining'/><title type='text'>Modifying ACME nut on mill.</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;p&gt;Taking another step toward converting my mill to CNC control, I decided this to take a closer look at the nut on the X axis with a view to seeing how easy it would be to replace/augment. (The idea being to remove backlash out of the system).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;This is a little trickier than it would normally be because my mill has an X-Y digital readout, with the optical encoders bolted to the mill. These needed to be removed as the table was being moved beyond the normal limits to expose the nut.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWb2W5b2e6I/AAAAAAAAARg/DQ4k53S2-hk/s1600-h/2009-01-10-IMG_6077-707296.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWb2W5b2e6I/AAAAAAAAARg/DQ4k53S2-hk/s320/2009-01-10-IMG_6077-707296.JPG" alt="" id="BLOGGER_PHOTO_ID_5289185685628418978" style="margin: 0pt 0pt 10px 10px; float: left;" border="0" /&gt;&lt;/a&gt;Being an idiot, I look at the end with the power feed and said "Hmm. Looks complicated, let's leave that alone".&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Ote6K6IVUV8/SWb2W7WwOgI/AAAAAAAAARo/XoUu6UHYW6g/s1600-h/2009-01-10-IMG_6076-707579.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_Ote6K6IVUV8/SWb2W7WwOgI/AAAAAAAAARo/XoUu6UHYW6g/s320/2009-01-10-IMG_6076-707579.JPG" alt="" id="BLOGGER_PHOTO_ID_5289185686143908354" style="margin: 0pt 0pt 10px 10px; float: left;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So I started with this end. After about 30 minutes of mucking around, it become abundantly clear that this was the end with the thrust bearings; I.e. the complex end. The end that's relatively high precision. And with the benefit of hindsight, it was obvious that the power feed would be fitted to the end that's easiest to fit to. Doh.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWb2Ww4CsNI/AAAAAAAAARw/1yXiHfLxjZY/s1600-h/2009-01-10-IMG_6081-707894.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWb2Ww4CsNI/AAAAAAAAARw/1yXiHfLxjZY/s320/2009-01-10-IMG_6081-707894.JPG" alt="" id="BLOGGER_PHOTO_ID_5289185683330740434" style="margin: 0pt 0pt 10px 10px; float: left;" border="0" /&gt;&lt;/a&gt;So back to the powerfeed end, it disassembled &lt;span style="font-style: italic;"&gt;much&lt;/span&gt; more easily. This is after removing the retaining nut, handle, and feed cog. Nice simple mechanism.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWb2XD_6mmI/AAAAAAAAAR4/vKLVO2Tw27E/s1600-h/2009-01-10-IMG_6083-708555.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SWb2XD_6mmI/AAAAAAAAAR4/vKLVO2Tw27E/s320/2009-01-10-IMG_6083-708555.JPG" alt="" id="BLOGGER_PHOTO_ID_5289185688464038498" style="margin: 0pt 0pt 10px 10px; float: left;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The power feed just sits on roller bearing (no thrust bearing required) and so is very easy to remove after clearing the keyway.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWb2Xaj43cI/AAAAAAAAASA/i2r7jVbhPfQ/s1600-h/2009-01-10-IMG_6084-709111.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWb2Xaj43cI/AAAAAAAAASA/i2r7jVbhPfQ/s320/2009-01-10-IMG_6084-709111.JPG" alt="" id="BLOGGER_PHOTO_ID_5289185694520499650" style="margin: 0pt 0pt 10px 10px; float: left;" border="0" /&gt;&lt;/a&gt;And there's the acme nut. Piece of cake. Interestingly, it turns out there's two of them (another on the other side), so removing the backlash looks very easy. Just mill some slots in the nut, and turn it to adjust the degree of slop.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_Ote6K6IVUV8/SWb2Xaa_RTI/AAAAAAAAASI/c6WAzhtZAvg/s1600-h/2009-01-10-IMG_6088-709444.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/_Ote6K6IVUV8/SWb2Xaa_RTI/AAAAAAAAASI/c6WAzhtZAvg/s320/2009-01-10-IMG_6088-709444.JPG" alt="" id="BLOGGER_PHOTO_ID_5289185694483170610" style="margin: 0pt 0pt 10px 10px; float: left;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Nut removed.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWb2XalYNUI/AAAAAAAAASQ/Dcfj3PPBvf0/s1600-h/2009-01-10-IMG_6092-709877.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWb2XalYNUI/AAAAAAAAASQ/Dcfj3PPBvf0/s320/2009-01-10-IMG_6092-709877.JPG" alt="" id="BLOGGER_PHOTO_ID_5289185694526747970" style="margin: 0pt 0pt 10px 10px; float: left;" border="0" /&gt;&lt;/a&gt;Preparing to mill the nut. It's just centered and clamped onto a small rotary table. I'm using a 4 flute 6mm bit. The slots will be 7mm wide, but I didn't have a 7mm to hand, and I can just cut one side of the slot at a time.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWb2XtwrV2I/AAAAAAAAASY/j2E2bsSCOfU/s1600-h/2009-01-10-IMG_6093-710508.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWb2XtwrV2I/AAAAAAAAASY/j2E2bsSCOfU/s320/2009-01-10-IMG_6093-710508.JPG" alt="" id="BLOGGER_PHOTO_ID_5289185699674412898" style="margin: 0pt 0pt 10px 10px; clear: both; float: left;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;All done. The slots I left slightly under size to improve the centering. It was the work of moments to reassembled everything and measure the nut backlash. (Well, many, many moments. About an hour actually).&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-2331815155758955052?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/2331815155758955052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=2331815155758955052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2331815155758955052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2331815155758955052'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/modifying-acme-nut-on-mill.html' title='Modifying ACME nut on mill.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ote6K6IVUV8/SWb2W5b2e6I/AAAAAAAAARg/DQ4k53S2-hk/s72-c/2009-01-10-IMG_6077-707296.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-8394164596268590659</id><published>2009-01-09T08:30:00.002+11:00</published><updated>2009-01-09T08:46:52.576+11:00</updated><title type='text'>Poor control</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_Ote6K6IVUV8/SWZweKJ_lZI/AAAAAAAAAPA/FAm8V6bbXi8/s1600-h/tempgraph.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_Ote6K6IVUV8/SWZweKJ_lZI/AAAAAAAAAPA/FAm8V6bbXi8/s320/tempgraph.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So I've been collecting data from the &lt;a href="http://www.dgmo.org/1-wirecircuits"&gt;temperature monitors&lt;/a&gt; for a while now and one thing is abundantly clear.&lt;br /&gt;&lt;br /&gt;The air-conditioning controller sucks. &lt;br /&gt;&lt;br /&gt;(That would be HVAC for the crazy people that &lt;span style="font-style: italic;"&gt;still&lt;/span&gt; haven't gone metric yet)&lt;br /&gt;&lt;br /&gt;Graph is of room temperature for 4 rooms over the last 24 hours, with the air-conditioner turned on at ~ 1930. Note that it starts cycling almost immediately.&lt;br /&gt;&lt;br /&gt;To put it in context, this is an AC that has a variable-speed-drive on the compressor, so there's no reason whatsoever that it should be oscillating. The PID loop driving it (and I do hope there &lt;span style="font-style: italic;"&gt;is&lt;/span&gt; a PID loop...) should hold it all at a steady state.&lt;br /&gt;&lt;br /&gt;(Note that the green line aka Living Room zone was turned off until ~ 2330 which is why it didn't start cycling until then. And the reason that the study isn't cycling more is that the balancing is awful and there's not enough air going to the study. Something  I need to climb into the roof space to adjust the dampers for I think.&lt;br /&gt;&lt;br /&gt;The AC is a Daikin FDYQ200MR. Which is a 22.2KW system I think. (Note that that's not the power draw: That's the peak heat-pumping capability).&lt;br /&gt;&lt;br /&gt;Added to the to-do list: See if I can find datasheets for the AC VFD + compressor + evaporator, and scrap the existing controller in favour of talking to the VFD directly. Task #5412345 I think that is...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-8394164596268590659?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/8394164596268590659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=8394164596268590659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8394164596268590659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8394164596268590659'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/poor-control.html' title='Poor control'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ote6K6IVUV8/SWZweKJ_lZI/AAAAAAAAAPA/FAm8V6bbXi8/s72-c/tempgraph.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-246305637606904453</id><published>2009-01-08T22:13:00.002+11:00</published><updated>2009-01-08T22:29:58.353+11:00</updated><title type='text'>Echo</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWXf1w7HSZI/AAAAAAAAAO4/qWwdA1oOXTc/s1600-h/echo.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SWXf1w7HSZI/AAAAAAAAAO4/qWwdA1oOXTc/s320/echo.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The main living room in our house has always been a little harsh to my ear; I've been complaining to the wife that there's just too many hard surfaces in the room (lots of windows) which make it very 'bright' acoustically. This has the big down sides of making it difficult to understand what people are saying on the other side of the room, and annoying the hell out of me which the kids start making a racket.&lt;br /&gt;&lt;br /&gt;So when D poked me on the subject this evening, it motivated me to go measure the problem. Mostly in a half-arsed sort of way to start with.&lt;br /&gt;&lt;br /&gt;I used a crappy USB webcam which happened to have an in-built microphone to record audio, and then a tiny bit of perl to play a 1 KHz pulse out of the TV speakers at reasonably high volume. (Just a single cycle of a 1 Khz sine wave).&lt;br /&gt;&lt;br /&gt;There are so many things wrong with this as a measurement setup it's difficult to count them all (not a pure tone, speaker distortion, awful directional microphone, no calibration to speak of, etc, etc, etc) but it was to at least give me an indication that it was worth putting more effort into it.&lt;br /&gt;&lt;br /&gt;The graph above is the result. X axis is in seconds. It's rather entertaining that there's still significant energy in echos at &lt;span style="font-style: italic;"&gt;250 ms&lt;/span&gt; past the impulse. So it's not just all in my head: The room really is very echoy. Which I already knew, but now I has some &lt;span style="font-style: italic;"&gt;numbers&lt;/span&gt;! Which is surely most of the way to fixing the problem, right?&lt;br /&gt;&lt;br /&gt;Unfortunately, reducing echo is probably going to be non-trivial. At least, it will be given that D's hard requirement is that I don't cover the windows in felt...&lt;br /&gt;&lt;br /&gt;We'll start with simple things like throw rugs over the couches, a tablecloth over the dining table, felting the undersize of the table and the bench. And if all else fails, the dreaded curtains discussion will probably enter the stage.&lt;br /&gt;&lt;br /&gt;But first I need to get a better microphone. And some sort of software that's able to effectively measure and display how much the echo has changed. And maybe a good psychoaccoustic model. And a pony!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-246305637606904453?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/246305637606904453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=246305637606904453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/246305637606904453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/246305637606904453'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/echo.html' title='Echo'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ote6K6IVUV8/SWXf1w7HSZI/AAAAAAAAAO4/qWwdA1oOXTc/s72-c/echo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-2279843498928281667</id><published>2009-01-07T20:34:00.002+11:00</published><updated>2009-01-07T20:50:01.527+11:00</updated><title type='text'>It's nice to be home...</title><content type='html'>Being away with family in entertaining, but there's something very nice about being home.&lt;br /&gt;&lt;br /&gt;Today I have:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Kicked off &lt;a href="http://musicbrainz.org/doc/PicardTagger"&gt;PicardTagger &lt;/a&gt;to fix up all the tags on my various MP3 files. Free hint: If you have 26,000 mp3 files, don't try and feed them all at once into Picard. Looks like there's at least some O(n log n) algorithms in there, if not O(n^2).&lt;/li&gt;&lt;li&gt;Much hacking with Eye-Fi. It nows properly with the main linux server.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Rebuild an &lt;a href="http://en.wikipedia.org/wiki/Nokia_N800"&gt;N800&lt;/a&gt; device as a video-player for Katie. This is notable hindsight: It would have been better to do this &lt;span style="font-style: italic;"&gt;before&lt;/span&gt; the 4 hour plane flight... Firmware is upgraded, video transcoder tools are installed and running. I ordered a new 8G flash micro sd-card to hold the videos.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Start more actively hunting down a dehumidifier for the garage. I'm tired of fighting the rust battle on the milling machine and lathe; I'll cheat by just dropping the humidity. Right now, it's often in the 80% range which is deadly to precision iron. EBay sniper is fired up and ready!&lt;/li&gt;&lt;li&gt;Fixed the bluetooth download for D's phone. The script that auto-detected D's phone as being in range and then grabbing all the pictures on it via bluetooth was broken by the semi-recent OS upgrade (forgot to cover up a config file). Each fix, but I still need to add some monitoring for it.&lt;/li&gt;&lt;li&gt;Had a long chat with Andrew B about planes,rockets and software. He kindly brought over the paint needed for my glider, so that's a repair I'll kick off on friday.&lt;/li&gt;&lt;li&gt;Polished off PID software for SMD oven. I left the hill-climbing running while we were away, so now I have the PID constants tuned to better than 6 significant figures. (NOTE: This is a total waste of time! This was running against the simulator, not the real hardware. But it's still entertaining). I had intended to use it in anger today, but ran out of time. The boards for the 200W audio amplifier are on the bench, I just need to heat them.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Gone for a swim with the kids. The long days make it very pleasant to go swimming at circa 7pm at night. I'm &lt;span style="font-style: italic;"&gt;still &lt;/span&gt;waiting for the relay PCB boards to arrive from batchpcb.com but I have patience. Maybe. I hear Olimex calling my name.&lt;/li&gt;&lt;li&gt;Ordered the timing belts and pulleys for the mill CNC conversion. I'd decided that I'm just going to do it and the cost isn't that outragous. At least, not in comparison to some of the other things I've wasted money on over the years.&lt;/li&gt;&lt;/ul&gt;It's nice to be home. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-2279843498928281667?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/2279843498928281667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=2279843498928281667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2279843498928281667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2279843498928281667'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/its-nice-to-be-home.html' title='It&apos;s nice to be home...'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-4714541608835665443</id><published>2009-01-07T18:45:00.004+11:00</published><updated>2009-01-08T23:23:07.783+11:00</updated><title type='text'>Eye-Fi</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt; Perl standalone server that runs under linux for Eye-Fi card is linked&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;a style="font-weight: bold;" href="https://sites.google.com/a/dgmo.org/home/Home/eyefitools/eyefilistener.pl?attredirects=0"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I bought an &lt;a href="http://www.eye.fi/"&gt;Eye-Fi&lt;/a&gt; sd-card a few weeks ago in a fit of laziness. The idea being I could put it in the SLR camera, and it would auto-upload images to the fileserver instead of me having to do the (&lt;span style="font-style: italic;"&gt;very&lt;/span&gt; onerous..) walk to the server and plug it in.&lt;br /&gt;&lt;br /&gt;I bought it in ignorance of the hugely proprietary nature of the card; Not sure I would have bought it knowing what I know now.&lt;br /&gt;&lt;br /&gt;Part of the problem is that Eye-Fi's business model apparently includes charging large sums of money for trivial features. Thus, they go through all sorts of contortions to avoid you implementing said trivial features yourself rather than paying them.&lt;br /&gt;&lt;br /&gt;Luckily, the protocol that the card uses on the WiFi side has been reverse engineered by others that have gone before me.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://http//dave-hansen.blogspot.com/2008/01/wine-patch.html?showComment=1200546960000#c4023531421485553155"&gt;Chris&lt;/a&gt; helpfully wrote a little perl &lt;a href="http://www.eyefitools.org/eyefitools-0.01.tar.gz"&gt;server&lt;/a&gt; that looked like it worked once apon a time. It appears that Eye-Fi have changed a few things since then so it took a little bashing to get it to work seamlessly with my card.&lt;br /&gt;&lt;br /&gt;The two major changes are the certification calculation and the transfer mode.&lt;br /&gt;&lt;br /&gt;It turns out that a different forumula is used to authenticate the client to the server. It's  md5(mac addr, upload key, snonce) rather than the md5(mac address, cnonce, upload key) used in the other direction. Seems strange to me; Not sure this isn't a bug in the Eye-Fi code.&lt;br /&gt;&lt;br /&gt;The other one is reflecting back the transfermode and transfermodetimestamp used in the session setup. Without this, the Eye-Fi refused to transfer more than one picture in  a session.&lt;br /&gt;&lt;br /&gt;Some minor changes include the server doing a fork for each client connect, and an unsuccessful attempt to verify that file checksum. The eye-fi card passes an MD5 sum along with the file on each upload, but it isn't a straight md5 of the tar file, nor of the embedded JPG file. I had a very quick poke, but the calculation wasn't immediately obvious to me so I wrote it off as a 'nice to have'.&lt;br /&gt;&lt;br /&gt;Changed file can be found &lt;a href="https://sites.google.com/a/dgmo.org/home/Home/eyefitools/eyefilistener.pl?attredirects=0"&gt;here&lt;/a&gt;. The upload key that's required in the file is stored in Settings.xml if you've used the windows app manager to configure the card. (Which I did: I failed to get it to do anything useful when run under wine).&lt;br /&gt;&lt;br /&gt;So now I have it all working on my linux fileserver; When the camera comes into range and it's turned on, photos are automagically dropped into a spool directory, and a little daemon renames them into timestamped directories. So now I'm happy. Yay. :)&lt;br /&gt;&lt;br /&gt;Ps: I would really have liked to get working the eyefi-config tools that &lt;a href="http://dave-hansen.blogspot.com/"&gt;Dave Hansen&lt;/a&gt; wrote but I simply couldn't get them to do anything beyond detect that there was a card in the USB adaptor. It appears that the protocol between the manager and the card has changed enough that the tools no longer work.&lt;br /&gt;&lt;br /&gt;I had a quick bash trying to get the manager to run under wine so I could spy on the protocol, but after more than an hour of fighting wine the end wasn't in sight, so I moved onto other things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-4714541608835665443?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/4714541608835665443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=4714541608835665443' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/4714541608835665443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/4714541608835665443'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/i-bought-eye-fi-sd-card-few-weeks-ago.html' title='Eye-Fi'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-792825803206631454</id><published>2009-01-07T09:03:00.003+11:00</published><updated>2009-01-07T11:00:55.165+11:00</updated><title type='text'>IP Camera.</title><content type='html'>In my ongoing frustration to find a relatively cheap, IP based camera, I started looking at the &lt;a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8668"&gt;Sparkfun 1300x1040 CMOS Camera&lt;/a&gt;. This is a $USD10 device, that connects via an 8-bit bus to ... something. In my case, that would be an ATNGW100.&lt;br /&gt;&lt;br /&gt;I'll probably have to make up a board for it, to be able to handle the full bit rate, but the end result would be an IP camera for about $AUD160 - $AUD200 that handles a full mega-pixel, and does on-board motion detection. Assuming that I can get it efficient enough on the CPU. :)&lt;br /&gt;&lt;br /&gt;It pretty much requires DMA to get the data into memory, but the camera does on-board JPEG compression so it should be too bad to ship the resulting data out over the network. And trivial jpeg decode just enough to do motion detect will hopefully be light enough on the CPU..&lt;br /&gt;&lt;br /&gt;Anyway, something to play with. I ordered a couple so first step will be to see if I can actually get a picture off them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-792825803206631454?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/792825803206631454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=792825803206631454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/792825803206631454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/792825803206631454'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/ip-camera.html' title='IP Camera.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-6995166374877518368</id><published>2009-01-04T12:15:00.005+11:00</published><updated>2009-01-10T22:21:28.766+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='machining'/><title type='text'>CNC for Milling machine.</title><content type='html'>Making intermittent progress on converting my knee milling machine to CNC. This is random notes on my researches to date&lt;br /&gt;&lt;br /&gt;Those that have gone before: &lt;a href="http://www.cnczone.com/forums/archive/index.php/t-25895.html"&gt;Hafco HM-52 CNC Conversion&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Torque goals:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Maximum handle pressure in normal operation is probably under 5 kilograms.&lt;/li&gt;&lt;li&gt;Handle radius is ~ 3 inches.&lt;/li&gt;&lt;li&gt;This is ~ 3.3 newton-meters of torque.&lt;/li&gt;&lt;/ol&gt;Speed goals:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Table is ~ 1200mm&lt;/li&gt;&lt;li&gt;Would like to be able to go one of the table to the other in substantially less than a minute.&lt;/li&gt;&lt;li&gt;Say 12 seconds?&lt;/li&gt;&lt;li&gt;Speed circa 6000mm/minute.&lt;/li&gt;&lt;li&gt;Leadscrew is ~ 3mm/turn from memory (8 tpi)&lt;/li&gt;&lt;li&gt;So need around 2000 rpm at the leadscrew for this speed.&lt;/li&gt;&lt;/ol&gt;Which gives around  600  rpm/Nm required from motor. So something around 5000 rpm @ 1.5 Nm peak torque would be ideal. (Using timing belt to gear it down to 2k rpm @ 3.3Nm).&lt;br /&gt;&lt;br /&gt;Would like to use brushless DC motors for efficiency, heat, ease of sealing et al.&lt;br /&gt;&lt;br /&gt;Can use of-the-shelf brushless controllers but they're expensive, and require hall-effect sensors on motors.&lt;br /&gt;&lt;br /&gt;Can use &lt;a href="http://www.rcgroups.com/forums/showthread.php?t=200567"&gt;Takao Shimizu&lt;/a&gt; effort, and modify slightly for sensor'ed operation. This would require doing boards, a fair bit of testing and mucking around, but probably substantially cheaper, particularly if I do a bunch of such boards.&lt;br /&gt;&lt;br /&gt;Looking to use &lt;a href="http://www.linuxcnc.org/"&gt;EMC2  &lt;/a&gt;for motion control, so the &lt;a href="http://www.mesanet.com/"&gt;Mesa &lt;/a&gt;boards seem popular and vestitile. Particularly the 7I43-U which is USB or parallel port @ $USD90. Mesa also sell the 7I39-LV which will drive 2 BLDC motors at up to 250 Watts. ( ~ $USD300 for 4 axis). This is currently ~$AUD600 plus shipping. Hmmm.&lt;br /&gt;&lt;br /&gt;On the other hand, running brushed motors enabled using the 7I30 which does 100W/channel over 4 channels for ~$USD90. This would effectively drop the top speed to ~2500mm/minute for the X and Y axis, and something much less for the Z-axis (which will need to be geared &lt;span style="font-style: italic;"&gt;way&lt;/span&gt; down anyway).&lt;br /&gt;&lt;br /&gt;Still need to find a suitable source for servo motors (i.e. cheap!).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gcam.js.cx/index.php/Main_Page"&gt;GCAM &lt;/a&gt;is looking for more useful for simple CAM tasks.&lt;br /&gt;&lt;br /&gt;Need to change over to anti-backlash nuts for X and Y axis (can probably rely on weight to handle Z-axis). Simplest thing is probably to use delrin split nut? May need to make/buy an suitable ACME tap for nuts (or find an already made one on ebay?)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/APT_%28programming_language%29"&gt;APT &lt;/a&gt;looks like an interesting thing to play with for CAD/CAM.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheap rotary &lt;a href="http://www.usdigital.com/products/e4p/"&gt;encoders &lt;/a&gt;are available for $USD25 ea. Example of one being fitted is &lt;a href="http://ivan.blogs.chimerical.com.au/post/2008/05/02/Now-Im-counting-every-minute2c-Every-single-minute.aspx"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-6995166374877518368?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/6995166374877518368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=6995166374877518368' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/6995166374877518368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/6995166374877518368'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2009/01/cnc-for-milling-machine.html' title='CNC for Milling machine.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-848195382266150105</id><published>2008-12-25T10:51:00.002+11:00</published><updated>2008-12-27T10:45:18.676+11:00</updated><title type='text'>I like the tools...</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_Ote6K6IVUV8/SVLLB0zMb4I/AAAAAAAAAOI/mWHvRqvsubY/s1600-h/2008-12-24-IMG_6020.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_Ote6K6IVUV8/SVLLB0zMb4I/AAAAAAAAAOI/mWHvRqvsubY/s320/2008-12-24-IMG_6020.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SVLLBXLJF9I/AAAAAAAAAN4/nSRd8FGk6SY/s1600-h/2008-12-24-IMG_6022.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SVLLBXLJF9I/AAAAAAAAAN4/nSRd8FGk6SY/s320/2008-12-24-IMG_6022.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;Tiny garden project for D involved running some 13mm pipe for irrigation from the right side to the left side.&lt;br /&gt;&lt;br /&gt;Keeping it vaguely neat meant running it under the seat thingo. Small problem: Seat thingo has no place to bring pipe out.&lt;br /&gt;&lt;br /&gt;Solution: Using 16mm 3-way wod drill bit I just happened to have lying around.. Oh, and the new cordless drill.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_Ote6K6IVUV8/SVLLCMWI2fI/AAAAAAAAAOQ/mnqon7tvnKg/s1600-h/2008-12-24-IMG_6021.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/_Ote6K6IVUV8/SVLLCMWI2fI/AAAAAAAAAOQ/mnqon7tvnKg/s320/2008-12-24-IMG_6021.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SVLLBsl_WjI/AAAAAAAAAOA/aV_pGQbKL9s/s1600-h/2008-12-24-IMG_6023.JPG"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SVLLBsl_WjI/AAAAAAAAAOA/aV_pGQbKL9s/s320/2008-12-24-IMG_6023.JPG" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;Drill bit is very neat: The pitch means that it seriously bites into wood: No pressure at all involved, it pulls itself forward. And the 3-way thing means that it doesn't get clogged doing it. (Just as well, it's pretty much impossible to reduce the rate at which it drills using a hand drill!)&lt;br /&gt;&lt;br /&gt;End result is a nice neat hole through  a 60mm chunk of pine, with pipe run and water flowing into pots on demand.&lt;br /&gt;&lt;br /&gt;Yay tools!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-848195382266150105?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/848195382266150105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=848195382266150105' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/848195382266150105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/848195382266150105'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2008/12/i-like-tools.html' title='I like the tools...'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ote6K6IVUV8/SVLLB0zMb4I/AAAAAAAAAOI/mWHvRqvsubY/s72-c/2008-12-24-IMG_6020.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-800625654705334322</id><published>2008-12-25T10:08:00.003+11:00</published><updated>2008-12-25T10:17:19.718+11:00</updated><title type='text'>Math fail</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SVLBDusnnlI/AAAAAAAAANw/Hj5rkNEGruw/s1600-h/kalman-2.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SVLBDusnnlI/AAAAAAAAANw/Hj5rkNEGruw/s320/kalman-2.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After posting the previous, I was going over the Kalman filter again, and realized that I had completely borked the math.&lt;br /&gt;&lt;br /&gt;I had laboriously moved all the temperature calculation into log space because I couldn't see a way to write the matrix for the temperature decay as a function of temperature.&lt;br /&gt;&lt;br /&gt;Silly me. I didn't need to write it as a function of time, but as a function of dt (the time interval). Which makes exponential decay all nice and linear. Doh!&lt;br /&gt;&lt;br /&gt;So stripping all the log conversion out make it much simpler to understand and debug.&lt;br /&gt;&lt;br /&gt;And then because I was getting bored tweaking PID constants, I wrote a trivial hill-climber in perl to search for good values. After running a few minutes that had reached the solution above.&lt;br /&gt;&lt;br /&gt;Looks pretty to good to me! I still think I can get tighter fit to the measured temp (Red line) if I wrote a LQR but I currently fail as finding a good resource that explains how it works. ('explains' means "without going into Laplace transforms which are totally gone from my brain").&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;(Hmm. How can I attach text files et al to blogger posts?)&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-800625654705334322?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/800625654705334322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=800625654705334322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/800625654705334322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/800625654705334322'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2008/12/after-posting-previous-i-was-going-over.html' title='Math fail'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ote6K6IVUV8/SVLBDusnnlI/AAAAAAAAANw/Hj5rkNEGruw/s72-c/kalman-2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-3788607876205624199</id><published>2008-12-24T08:54:00.003+11:00</published><updated>2008-12-24T10:51:49.909+11:00</updated><title type='text'>PID , Kalman filters, fun!</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SVFeJHoTCLI/AAAAAAAAANg/hp_IdVqR5rA/s1600-h/pid-2.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SVFeJHoTCLI/AAAAAAAAANg/hp_IdVqR5rA/s320/pid-2.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Ote6K6IVUV8/SVFeJU_fh5I/AAAAAAAAANo/QBWwZoMcXgQ/s1600-h/kalman-1.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_Ote6K6IVUV8/SVFeJU_fh5I/AAAAAAAAANo/QBWwZoMcXgQ/s320/kalman-1.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;span&gt;I started writing the software to the drive my &lt;a href="http://randomtechmakings.blogspot.com/2008/12/smd-oven.html"&gt;temperature controlled oven&lt;/a&gt; thinking it was going to be a fairly easy process: Just whack in a &lt;a href="http://en.wikipedia.org/wiki/PID_controller"&gt;PID&lt;/a&gt; controller, tune the constants a little, Voila!&lt;br /&gt;&lt;br /&gt;Not so much.&lt;br /&gt;&lt;br /&gt;Some of this is undoubtedly my inexperience, some of it is the extreme time lag between action and result, and some of it is the fairly exacting requirements I placed.&lt;br /&gt;&lt;br /&gt;The model is something like: The heating element heats up ~ 0.6 Celsius per second that the power is applied. It cools at around r= ~0.007 (ie. It cools at roughly 0.7% of the difference between it's temperature and ambient temperature per second)&lt;br /&gt;&lt;br /&gt;The heat transfer rate between the element and the board has r = ~0.085&lt;br /&gt;&lt;br /&gt;This means the temperature as measured at the thermocouple is &lt;span style="font-style: italic;"&gt;heavily&lt;/span&gt; lagged behind the applied power. Something like 12 - 15 seconds lagged.&lt;br /&gt;&lt;br /&gt;This means that it's very difficult to get good performance out of the PID controller. The huge lag means that overshoot is difficult to control without high Kd constants. This would be ok, but for the relatively large noise in the temperature measurement. Quantization noise alone is ~ 1% and there's another 2% in measurement noise.&lt;br /&gt;&lt;br /&gt;This could be reduced by low-pass filtering the thermocouple measurements but the sample rate is only about 5Hz. This means that to get the noise down to ~0.5% by straight averaging would need to average over ~ 15 data points which means  1.5 seconds of measurement lag into a system that already has extreme lag. :(&lt;br /&gt;&lt;br /&gt;The first graph above shows my attempts at straight PID control. Keeping Kd low enough to avoid crazy noise in the PWM output means pushing Kp fairly low as low. The result is nice and stable about 50 degrees, and horribly over-damped at 120 degress.&lt;br /&gt;&lt;br /&gt;I spent far too long fighting this, tweaking constants back and forth, generally wasting time.&lt;br /&gt;&lt;br /&gt;Eventually, I gave up on the straight PID approach, took a deep breath and implemented a &lt;a href="http://en.wikipedia.org/wiki/Kalman_filter"&gt;Kalman filter&lt;/a&gt; to be able to accurately estimate the current element temperature  from the lagged thermocouple measurements and the known inputs.&lt;br /&gt;&lt;br /&gt;This proved to be more than a little hairy: My maths is extremely rusty, the kalman filter has lots of matrix math, and I'm writing it all in C (it's running on an embedded board). It took me a couple of hours just to understand what was going on with the state update equations! (I may do a later post with some more detail on the maths).&lt;br /&gt;&lt;br /&gt;Oh, and the modelled process is non-linear so I had to move it all to log space to linearize it so the kalman filter can operate.&lt;br /&gt;&lt;br /&gt;The result is the second graph. The red line is what I care about, and you can see it's doing &lt;span style="font-weight: bold;"&gt;much&lt;/span&gt; better. It quickly gets to the setpoint (orange line), and then follows it fairly accurately (albeit lagged). The green line is the heating element. It deliberately overshoots the setpoint to improve the speed at which the measured temperature gets to the setpoint.&lt;br /&gt;&lt;br /&gt;I'm pretty happy with this; I could just leave it like this.&lt;br /&gt;&lt;br /&gt;But I probably won't. :) In the spirit that nothing suceeds quite like overkill, I'll probably attempt to write a LQR (essentially, it inverts the kalman filter to be able to predict which needs to be done). This would remove most of the lag between the measured temperature and the setpoint.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-3788607876205624199?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/3788607876205624199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=3788607876205624199' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3788607876205624199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3788607876205624199'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2008/12/i-started-writing-software-to-drive-my.html' title='PID , Kalman filters, fun!'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ote6K6IVUV8/SVFeJHoTCLI/AAAAAAAAANg/hp_IdVqR5rA/s72-c/pid-2.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-968122690483765144</id><published>2008-12-24T08:53:00.003+11:00</published><updated>2009-01-10T22:23:07.963+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><title type='text'>SMD Oven</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SVFd5wxk_fI/AAAAAAAAANY/rxG1D66wuVg/s1600-h/file0020.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SVFd5wxk_fI/AAAAAAAAANY/rxG1D66wuVg/s320/file0020.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;span&gt;I started looking some time ago at a temperature controlled oven to do surface-mount device soldering.&lt;br /&gt;&lt;br /&gt;An oven has a couple of advantages: It's much easier to get even temperature distribution, and it's easier to follow the temperature soak profile listed in the datasheet (Important for some of the more complex sensor devices).&lt;br /&gt;&lt;br /&gt;The first point has been a serious pain to me: Devices with sharp edges are likely to see those edges heat up very quickly so when using a hot-air gun it's easy to burn the edge of the part before the solder is close to melting. (Very easy. Really, really easy. Especially with expensive sensors that have wierd things poking out. Or expensive ZIF ribbon connects. For example. I'm just saying).&lt;br /&gt;&lt;br /&gt;So I put together a simple board to interface to a &lt;a href="http://en.wikipedia.org/wiki/Thermocouple#K"&gt;K-type thermocouple&lt;/a&gt;. It's just a &lt;a href="http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3149"&gt;MAX6675&lt;/a&gt; which does a K-type thermocouple on one side and an &lt;a href="http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus"&gt;SPI&lt;/a&gt; interface on the other. This connects to an &lt;a href="http://www.avrfreaks.net/wiki/index.php/Documentation:NGW/NGW100_Hardware_reference"&gt;NGW100&lt;/a&gt; board, and the SPI drivers in the linux kernel take care of all the hardware interfacing.&lt;br /&gt;&lt;br /&gt;A tiny userspace program handles reading temperature. The end result is ~ 0 - 1000 celsius with 0.25 degree precision and ~ 2 degree accuracy.&lt;br /&gt;&lt;br /&gt;This is coupled with a computer-driven relay switching 240VAC that drives an SMD reflow oven (aka, an electric frypan I picked up at K-mart). I just drilled a hole in the side of the lid to insert the thermocouple into.&lt;br /&gt;&lt;br /&gt;The frypan is turned up to maximum, and the element is pulse-width modulated. (Actually, it's &lt;a href="http://en.wikipedia.org/wiki/Sigma-delta_modulation"&gt;sigma-delta modulated&lt;/a&gt; with minimum on and off times, but let's not split hairs).&lt;br /&gt;&lt;br /&gt;From here, it's a &lt;span style="font-style: italic;"&gt;trivial&lt;/span&gt; matter of writing some software to run closed-loop control of the heating element to walk the temperature through a profile.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-968122690483765144?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/968122690483765144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=968122690483765144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/968122690483765144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/968122690483765144'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2008/12/smd-oven.html' title='SMD Oven'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ote6K6IVUV8/SVFd5wxk_fI/AAAAAAAAANY/rxG1D66wuVg/s72-c/file0020.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-8009509911649063750</id><published>2008-12-20T22:20:00.002+11:00</published><updated>2008-12-20T22:27:15.872+11:00</updated><title type='text'>Plans...</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_Ote6K6IVUV8/SUzVEDUZ1NI/AAAAAAAAANI/JCxVbxr-6ME/s1600-h/file0018.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_Ote6K6IVUV8/SUzVEDUZ1NI/AAAAAAAAANI/JCxVbxr-6ME/s320/file0018.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;While I was at Bunnings today, I had a thought about paints. My 3.7 meter wingspan glider is looking a little the worse for wear from a hasty and poorly executed repair, so I'd like to sand it back, re-glass the damaged sections, and paint it.&lt;br /&gt;&lt;br /&gt;Sand and re-glass is easy, but the paint isn't something I've done before.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Ote6K6IVUV8/SUzVEHxBydI/AAAAAAAAANQ/om5BfC84bFA/s1600-h/file0013.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_Ote6K6IVUV8/SUzVEHxBydI/AAAAAAAAANQ/om5BfC84bFA/s320/file0013.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;Thus, when I noticed 'epoxy gloss enamel' at Bunnings, it seems like something I should definitely try! The plane has an epoxy gel-coat, so "Epoxy Gloss" seems like it would be very compatible, right?&lt;br /&gt;&lt;br /&gt;This afternoon I took 5 mins to sand a previously damaged nose cone and sprayed it up. It's still not quite dry yet, and it's only the first coat, but it's looking very decent indeed. When it full dry I'll cut it back to see how well the new paint is adhering.&lt;br /&gt;&lt;br /&gt;The only issue is that my mind immediately wanders to grander plans. To wit: Rather than just re-glass, if I'm going to sand it back anyway, why not run some carbon tow under kevlar (aka aramid) sock and give it some decent strength in that area.&lt;br /&gt;&lt;br /&gt;This is an attractive idea, but there's some practical difficulties: The fuselage is about 1200mm long, so putting it in a vacuum bag is going to be very non-trivial. And protecting the wing bolt nuts from epoxy is going to be similarly interesting. Lets not forget the tow hook underneath which is not built for large compression (750 newtons  of tension yes, compression no).&lt;br /&gt;&lt;br /&gt;So I'm still pondering what to do here. The repair certainly is ugly, and I'm concerned about the strength given the cruftiness. But the sanded back fuselage is probably not going to be up to carrying a full atmosphere of pressure in a vac bag.&lt;br /&gt;&lt;br /&gt;Which means I need to finish off the pressure-to-I2C board I have lying around, so I can have one of the NGW100s run closed loop pressure control of the vacuum pump. But the MPX5010 pressure sensors I have only run 0 - 10 kpa, so they're only good for 1/10th of an atmosphere. So I need to get some larger range sensors. Or make a microswitch based one....&lt;br /&gt;&lt;br /&gt;Yak Shaving again! I just start looking at repainting a plane, and now I'm off buying new solid state pressure sensors!&lt;br /&gt;&lt;br /&gt;It's a terrible life :)&lt;div style="clear: both; text-align: right;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-8009509911649063750?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/8009509911649063750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=8009509911649063750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8009509911649063750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/8009509911649063750'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2008/12/plans.html' title='Plans...'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ote6K6IVUV8/SUzVEDUZ1NI/AAAAAAAAANI/JCxVbxr-6ME/s72-c/file0018.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-3734414533333434052</id><published>2008-12-20T21:31:00.003+11:00</published><updated>2009-01-10T22:22:32.610+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><title type='text'>A Cautionary tale.</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_Ote6K6IVUV8/SUzJjNOCk_I/AAAAAAAAAMY/9Xlhj3KP0Ps/s1600-h/file0004.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_Ote6K6IVUV8/SUzJjNOCk_I/AAAAAAAAAMY/9Xlhj3KP0Ps/s320/file0004.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_Ote6K6IVUV8/SUzJjcE5yvI/AAAAAAAAAMg/LvaUcoW96bQ/s1600-h/file0010.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_Ote6K6IVUV8/SUzJjcE5yvI/AAAAAAAAAMg/LvaUcoW96bQ/s320/file0010.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;Some time ago I built a trivial irrigation controller. Based on a Atmel NGW100 (AVR32 CPU) it just controlled 2 x AC solenoids. Taking the easy way out, I used a couple of solid state relays to do the buffering between the CPU and the solenoids.&lt;br /&gt;&lt;br /&gt;In keeping with keeping things mildly simple, I also derived the board power supply from the 28VAC that drove the solenoids. 28VAC, into a bridge rectifier, across a capacitor, and into an LM7815 supply a nice 15VDC that the NGW100 was very happy with.&lt;br /&gt;&lt;br /&gt;The thing that wasn't happy was the LM7815. It was sinking the best part of 150ma across a ~15 volt drop. AKA a 2 watt dissipation. The LM7815 is something like 65 Celsius per watt to air, so that wasn't going to fly. I add a tiny heat sink I had lying around, but it got a bit hotter than I'd estimated (and than I was really happy with), so I just bolted it to a whacking big hunk of aluminium and called it a day. That's been working nicely for a couple of months now.&lt;br /&gt;&lt;br /&gt;In the interim, I'd ordered some DC/DC converters. Little drop-in replacements for LM78xx devices, they promised to make all the heat issues go away.&lt;br /&gt;&lt;br /&gt;So today I pulled the box out, and happily removed the LM7815 and added in a dimension engineering device. Adjusted it for 15 volt output and all looked good.&lt;br /&gt;&lt;br /&gt;In an abundance of caution, I checked the voltages across everything between taking it all live.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_Ote6K6IVUV8/SUzJjusuU-I/AAAAAAAAAMo/zSQ7Tf1bGzE/s1600-h/file0011.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_Ote6K6IVUV8/SUzJjusuU-I/AAAAAAAAAMo/zSQ7Tf1bGzE/s320/file0011.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right; width: 320px; height: 249px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This was fateful. Much to my surprise, the DC voltage from the bridge rectifier was over 40 volts! No wonder the poor little LM7815 was unhappy. I guess nameplate rating don't mean much on AC devices. It's putting out considerably more AC than it's rating. (Too light a load probably?)&lt;br /&gt;&lt;br /&gt;A thought tickling the back of my mind had me looking up the datasheet: The absolute maximum rating for the DC/DC converter was 35 volts.&lt;br /&gt;&lt;br /&gt;Yuck.&lt;br /&gt;&lt;br /&gt;At this point, I &lt;span style="font-style: italic;"&gt;should&lt;/span&gt; have put anything back and called it a day. But no, I was much to pig headed for that.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/SUzJjy8A92I/AAAAAAAAAMw/vKbijxtdwkQ/s1600-h/file0012.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/SUzJjy8A92I/AAAAAAAAAMw/vKbijxtdwkQ/s320/file0012.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;The next thought that occurred was "Well, 40V is too much for the DC/DC and too much for the LM7815, so why don't I just run the DC/DC with a floating ground to make it happy?". I.e. connect the ground for the DC/DC convertor to the output of the LM7815, so it only sees a ~25 volt differential. The connect the input of the LM7815 to the output of the DC/DC so it only sees a ~2 volt drop it has to manage, and every one's happy.&lt;br /&gt;&lt;br /&gt;Oh, sorry day.&lt;br /&gt;&lt;br /&gt;So I stupidly wired this all up, blightly ignored concerns about "what does this look like when it's powering up?" and "Is it stable!?" and promptly managed to stuff a 40volt power-on spike into the NGW100. Which has it's own DC/DC convertor with a 22V absolute max rating. Which blew up. :(&lt;br /&gt;&lt;br /&gt;In hindsight, this was bleeding obvious. The DC/DC is going to look like a short circuit to ground on power-up (charging caps), so it's going to drop the full 40V to the line &lt;span style="font-style: italic;"&gt;after&lt;/span&gt; the LM7815 == &lt;span style="font-weight: bold;"&gt;Boom!&lt;/span&gt; No shortage of haste and stupidly around here! No siree!&lt;br /&gt;&lt;br /&gt;Very unhappy. To make it better, on my TODO list for later in the day was to write the software to backup all these boards I have running around the place. :( And all the mucking around, testing and poking, and then trying to coax the NGW100 back into life had chewed up most of a day. Very, very unhappy.&lt;br /&gt;&lt;br /&gt;But the time I'd put a new board in, put the old power supply back in, and re-writing the software it was a 14 hours exercise in utter pointlessness. Not that I'm bitter or anything!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The only bright spot was: I got a new toy. I've been meaning to get a Li-ion cordless drill for some time, but last I looked (umm, about 2 years ago) they were pretty expensive.&lt;br /&gt;&lt;br /&gt;Today I picked one up at bunnings for ~$AUD200 including spare battery. Wow. Prices really had dropped! It seems to work well: I was putting 7mm holes into timber this afternoon and it was doing just as well as the corded beast.&lt;br /&gt;&lt;br /&gt;(The corded beast really is a beast: I bought it when I was driving 150mm bugle screws after the 600W drill I was using leaked all it's magic smoke. The beast has enough torque that I'm in fear of my wrist bones on occasion).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-3734414533333434052?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/3734414533333434052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=3734414533333434052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3734414533333434052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/3734414533333434052'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2008/12/cautionary-tale.html' title='A Cautionary tale.'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ote6K6IVUV8/SUzJjNOCk_I/AAAAAAAAAMY/9Xlhj3KP0Ps/s72-c/file0004.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-2320310717504901839</id><published>2008-12-11T17:50:00.003+11:00</published><updated>2009-01-10T22:22:05.403+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><title type='text'>Oops!</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_Ote6K6IVUV8/SUC4RKa2xuI/AAAAAAAAAMQ/XQUSx3_xcMQ/s1600-h/Screenshot-2+Board+-+-home-michael-eagle-Relay_board-relay_board_v2.brd+-+EAGLE+5.3.0+Light-1.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_Ote6K6IVUV8/SUC4RKa2xuI/AAAAAAAAAMQ/XQUSx3_xcMQ/s400/Screenshot-2+Board+-+-home-michael-eagle-Relay_board-relay_board_v2.brd+-+EAGLE+5.3.0+Light-1.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt; Ooops! Stuffed it up. Shortly after I send the board off, I realized that I had the 12V and GND the wrong way around on the jumper!!&lt;br /&gt;&lt;br /&gt;This is just my sillyness in not checking it: I normally put power pins above ground pins, but the NGW100 doesn't follow my standard.&lt;br /&gt;&lt;br /&gt;Being extra careful before sending it off again, I noticed that I had also managed to get the distance between the two 36-pin header wrong. Argh! Really not my day. And they were 34 pin headers instead of the correct 36 pin.&lt;br /&gt;&lt;br /&gt;Ahh well. Board is now very carefully checked, send it off to &lt;a href="http://www.batchpcb.com/"&gt;batchpcb.com&lt;/a&gt;&lt;div style="clear: both; text-align: right;"&gt;&lt;a href="http://picasa.google.com/blogger/" target="ext"&gt;&lt;img src="http://photos1.blogger.com/pbp.gif" alt="Posted by Picasa" style="border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" align="middle" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-2320310717504901839?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/2320310717504901839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=2320310717504901839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2320310717504901839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2320310717504901839'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2008/12/ooops-stuffed-it-up.html' title='Oops!'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ote6K6IVUV8/SUC4RKa2xuI/AAAAAAAAAMQ/XQUSx3_xcMQ/s72-c/Screenshot-2+Board+-+-home-michael-eagle-Relay_board-relay_board_v2.brd+-+EAGLE+5.3.0+Light-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-727014318729674938</id><published>2008-12-10T18:31:00.002+11:00</published><updated>2009-01-10T22:21:51.428+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><title type='text'>Relay board (plus a bit)</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_Ote6K6IVUV8/ST9weO_4LZI/AAAAAAAAAL4/I59d8qnZigk/s1600-h/Screenshot-1+Schematic+-+-home-michael-eagle-Relay_board-relay_board_v2.sch+-+EAGLE+5.3.0+Light.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_Ote6K6IVUV8/ST9weO_4LZI/AAAAAAAAAL4/I59d8qnZigk/s400/Screenshot-1+Schematic+-+-home-michael-eagle-Relay_board-relay_board_v2.sch+-+EAGLE+5.3.0+Light.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_Ote6K6IVUV8/ST9weQk63FI/AAAAAAAAAMA/nkoz11hbOEk/s1600-h/Screenshot-2+Board+-+-home-michael-eagle-Relay_board-relay_board_v2.brd+-+EAGLE+5.3.0+Light.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_Ote6K6IVUV8/ST9weQk63FI/AAAAAAAAAMA/nkoz11hbOEk/s400/Screenshot-2+Board+-+-home-michael-eagle-Relay_board-relay_board_v2.brd+-+EAGLE+5.3.0+Light.jpg" alt="" style="margin: 0pt 0pt 10px 10px; clear: both; float: right;" border="0" /&gt;&lt;/a&gt; Following on from my successful 240V project, I designed a board to attach to the NGW100 and drive up to 8 relays.&lt;br /&gt;&lt;br /&gt;The form factor for the board was dictated by the placement of the J5 and J6 jumpers on the NGW100, so there was a lot of spare board area.&lt;br /&gt;&lt;br /&gt;So the logical thing to do was stuff in just about everything thing else I could think of that I ever interfaced to the NGW100. Which is why there's also 8-channel 1-wire interfaces, an SPI interface, and an RS-485 half-duplex driver.&lt;br /&gt;&lt;br /&gt;The silk screen lists the RS-485 driver as the MAX-487, but it's really the equivilant 3.3V part. (I got lazy and skipped making a custom part in the library for it).&lt;br /&gt;&lt;br /&gt;This board will plug straight into the NGW100, picking up all the signals from J5 and J6, and picking up supply power for the relays from J15, being the pre-DC/DC voltage.&lt;br /&gt;&lt;br /&gt;This means that I can supply the NGW100 with 12VDC, which the onboard dc-dc convertor will drop down to 3.3V for the ARM32, and the daughterboard will take directly as 12VDC for the relay driving, but 3.3V for the SPI, 1-wire, and RS485.&lt;div style="clear: both; text-align: right;"&gt;&lt;a href="http://picasa.google.com/blogger/" target="ext"&gt;&lt;img src="http://photos1.blogger.com/pbp.gif" alt="Posted by Picasa" style="border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" align="middle" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-727014318729674938?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/727014318729674938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=727014318729674938' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/727014318729674938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/727014318729674938'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2008/12/following-on-from-my-successful-240v.html' title='Relay board (plus a bit)'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ote6K6IVUV8/ST9weO_4LZI/AAAAAAAAAL4/I59d8qnZigk/s72-c/Screenshot-1+Schematic+-+-home-michael-eagle-Relay_board-relay_board_v2.sch+-+EAGLE+5.3.0+Light.jpg' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7479176114008094738.post-2027021601445731927</id><published>2008-12-08T10:12:00.002+11:00</published><updated>2008-12-24T13:17:41.660+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronics'/><title type='text'>First 240V project!</title><content type='html'>Created my first 240V project over the weekend.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I now have a NGW100 emebedded ARM board driving a relay that switches 240V on or off.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is wired to a K-type thermocouple that measures temperature up to around 1000 degrees celcius. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The final result is that I can now do controlled temperature profile for SMD soldering. The board monitoring temperature in an electric fry pan, and turns it on or off according to time and temperature to do a nicely controlled profile per the component datasheets!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7479176114008094738-2027021601445731927?l=randomtechmakings.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randomtechmakings.blogspot.com/feeds/2027021601445731927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7479176114008094738&amp;postID=2027021601445731927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2027021601445731927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7479176114008094738/posts/default/2027021601445731927'/><link rel='alternate' type='text/html' href='http://randomtechmakings.blogspot.com/2008/12/created-my-first-240v-project-over.html' title='First 240V project!'/><author><name>Michael</name><uri>http://www.blogger.com/profile/02799825790268498295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
