tag:blogger.com,1999:blog-47585182302096265492024-03-05T12:47:45.744-08:00Adam's RamblingJust random thoughts ... Enjoy!Unknownnoreply@blogger.comBlogger48125tag:blogger.com,1999:blog-4758518230209626549.post-83691685557426139252019-03-01T21:24:00.001-08:002019-03-01T21:24:22.413-08:00DIY Knife Handle for Under $10<iframe allowfullscreen="" frameborder="0" height="344" src="https://www.youtube.com/embed/lHPVXbMI018" width="459"></iframe>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-28794578573939105542019-02-10T20:58:00.001-08:002019-02-10T20:58:19.135-08:00Panel Lift<iframe allowfullscreen="" frameborder="0" height="344" src="https://www.youtube.com/embed/wJ9vVDOBbwk" width="459"></iframe>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-31502341409405502732018-06-10T13:15:00.001-07:002018-06-10T13:15:34.244-07:00Oil Change through Dip Stick Tube for MB C280 and Service Indicator Reset<iframe allowfullscreen="" frameborder="0" height="344" src="https://www.youtube.com/embed/OBQHBQY56vo" width="459"></iframe>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-54602821880516968032018-06-03T15:38:00.001-07:002018-06-03T15:38:54.542-07:00Install Costco RO on existing faucet<iframe allowfullscreen="" frameborder="0" height="344" src="https://www.youtube.com/embed/OMFX1dDZulU" width="459"></iframe>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-54078220878844163412018-05-20T22:07:00.000-07:002018-05-20T22:07:59.915-07:00Record in-flight audio with Samsung S8 phoneI am on my flight lessons, and one thing that's most challenging to me is to get the radio communication right. So I am thinking about recording the in-flight audio for me to review them afterward.<br />
<br />
The simplest way is of course using my mobile phone. I have worked a bit on my headset before, so it is easy to pull audio from it. For my headset I bought a none working one off eBay and fixed it (replaced the battery and built a charger for it). So I paid a bit over $100 (and some sweat and my electronics know-how) for a nice noise cancellation headset that normally would run $400.<br />
<br />
Back to the topic, it is easy to pull audio from it. To get that audio onto my mobile phone is not that trivial. I have a Samsung S8 which has a 3.5mm audio jack. I need to figure out which line the mic goes. Apparently there are two ways that the industry wire those jacks: OMTP and CTIA. These two web pages (<a href="http://www.epanorama.net/newepa/2014/09/15/android-device-external-mic-wiring/">Link1</a> and <a href="http://www.doityourselfgadgets.com/2014/09/how-to-connect-external-microphone-to.html">Link2</a>) explained the difference.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://forums.wpcentral.com/attachments/windows-phone-8-guides-how-tos/49276d1384087706t-headset.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="140" data-original-width="462" height="96" src="https://forums.wpcentral.com/attachments/windows-phone-8-guides-how-tos/49276d1384087706t-headset.jpg" width="320" /></a></div>
<br />
But is my Samsung S8 an OMTP or CTIA? Both webpages seem to indicate that Samsung is in the OMTP camp. But this <a href="https://www.reddit.com/r/GalaxyS8/comments/6fuv89/trrs_standard_ctia_or_omtp/">Reddit thread</a> says with certainty that it is CTIA. So I am wiring it as CTIA.<br />
<br />
It is also pretty obvious that the line level audio signal from the headphone is much stronger than what a mic would output. So I will definitely need to attenuate that. This can be done in a very simple way. <a href="https://electronics.stackexchange.com/questions/29564/circuit-to-convert-line-level-to-mic-level">Two resistors</a> will make a working divider. An adjustable pot would be even better, but for now that will do.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.stack.imgur.com/CZzHz.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="106" data-original-width="218" src="https://i.stack.imgur.com/CZzHz.gif" /></a></div>
<br />
However, when all is done, my recording app still does not record the audio from my headphone. Every recording seems to be from the on-phone mic. I tried various apps, some of them let me select the mic input source. But none of them has an option of external mic. What went wrong?<br />
<br />
After some thinking, I think that the issue is that the phone did not recognize the external mic. I knew that some phone uses the impedance of the mic line to signal button pushes. I suspected the impedance, but most mic has impedance in the order of a hundred ohms or so. But after some Googling, it turns out that's exactly the issue. This <a href="https://forum.xda-developers.com/showthread.php?t=2072612">xda-developers thread</a> says that Samsung S8 detects external mic only when impedance is above 1K ohms. I tried it, and it turns out that I need about 2K ohms to have it recognized on my phone.<br />
<br />
So a resistor is added to get the impedance in place, and everything works flawlessly there.Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-4758518230209626549.post-42654504425621987722017-08-03T22:15:00.002-07:002017-08-03T22:15:39.731-07:00Start learning flyingI have finally decided to learn flying. Every kid has a dream of flying. I have wanted to do that for a very long time. But learning flying is not cheap. The airplane rental and instruction time are expensive, and there are a lot hours needed in order to be able to do that safely (you can't exactly slow down and pull off to the side of the road). But I have decided that I have to do it. Recently I sold my motorcycle, so I can get some money put aside for my flying lessons. Here we go!<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzvNg2w_A5OVwA22jRcPDYLoP660jbJbI0x-KWEiTOfDhV-EgodiXzC-zC8E0ZAM70OdYK4fYLvkqKTArQYK60ajviuMRy-O_5OtUu8oRDrbPCuD88KW7lYiRX-72lOyfYSXYBTlx1Q2E/s1600/20170723-132700-IMG_20170723_132700790.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="576" data-original-width="1024" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzvNg2w_A5OVwA22jRcPDYLoP660jbJbI0x-KWEiTOfDhV-EgodiXzC-zC8E0ZAM70OdYK4fYLvkqKTArQYK60ajviuMRy-O_5OtUu8oRDrbPCuD88KW7lYiRX-72lOyfYSXYBTlx1Q2E/s320/20170723-132700-IMG_20170723_132700790.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Aeronca Champ from 1940s</td></tr>
</tbody></table>
For some strange reason, I am always fascinated by the taildraggers for a longest time. So when I started to learn flying recently, I took a path less taken. I wanted a place where I can have my lessons on a taildragger (instead of a Cessna 152). After some research, I found a school less than one hour from where I live, and now I am starting my lessons on a Champ (with no electricity). That's really cool! And my instructor is an wonderful gentleman who is in his late 80s (!!!) and he is as sharp as ever. Talking about classic old school!<br />
<br />
How cool it is that I am flying on an airplane built 30 years after Wright brothers invented, with no electricity on board! You can just slide open the window and stick your hands out to feel the wind. That's exactly the same way our pioneers are doing flying!<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-57488538635028790142017-04-15T13:05:00.002-07:002017-04-16T22:25:37.263-07:00Fixing a gunked up motorcycle carburetorI haven't ridden my motorcycle for a long while (almost a year). So when I got it up last week, it would not run. So it is time to do some fixup work.<br />
<br />
<u><b>The Problem:</b></u> The battery has been connected to a charger all the time, so it turns. The motor starts with choke on, so that was a good sign. I knew the carburetor has to be gunked up, and my plan is as long as it starts I will ride it for a while with some cleaner added in the fuel to clean it up. So it is a welcomed sign that the engine starts with choke. The troubles comes when I tried to give it some throttle. Just a little turn on the throttle stalls the motor. I did manage to get through the stall point and really reved up the engine but the second I let go the throttle, the engine went off.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFYO7twQThYueZio9ryFs0zWdlm5E6v_LR_ddb80hCPJhUxImp5CGgAmo4JUjEPxOfIqjgGdwZl6E9bJfGzoafIchAFp2CCf_9PshkxFlg1RYd2XjY40o85PCVqUpUQSgdcrrA94R6QKI/s1600/carburetor.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFYO7twQThYueZio9ryFs0zWdlm5E6v_LR_ddb80hCPJhUxImp5CGgAmo4JUjEPxOfIqjgGdwZl6E9bJfGzoafIchAFp2CCf_9PshkxFlg1RYd2XjY40o85PCVqUpUQSgdcrrA94R6QKI/s320/carburetor.png" width="320" /></a><b><u>The Hypothesis:</u></b> After some Googling and thinking, I figured out that this is a problem with the pilot of the carburetor. The engine runs under chokes, so most of the system is doing fine. It does rev up at full throttle, so the main jet is not stuck. So it is the pilot that is clogged. The telltale sign is that the engine stalls when throttle is applied. At low throttle, the fuel is mostly supplied by the pilot system, so it must be those that are clogged.<br />
<br />
<br />
<b><u>The Fixups</u></b>: It is relatively simple to take out the carburetor on a motorcycle. Here is a picture of the under side of the carburetor with the fuel bowl removed. The arrow shows the flow of air / fuel and mixture inside the carburetor body. On the pilot system, the air comes in on a long passage, picks up fuel at pilot jet, and goes into venturi at the pilot drill points and the air screw.<br />
<br />
I took out the needle jet and the pilot jet. The needle jet is relative easy to take out, and it is not clogged (because it relatively big in size).<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2BHELAX8Shp7NoVCdYFH6pHiE-ZSQ0H-OEl1iGXkARmEjkoO0gMFuGdkw8apoS4nBoo23UmSt7bDcZMf_GiwM6e8UVykQArYP2agGYcpeWmaO7swlDOWirkv7mZ_2PNzDS8cDmKsCWrg/s1600/jets.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2BHELAX8Shp7NoVCdYFH6pHiE-ZSQ0H-OEl1iGXkARmEjkoO0gMFuGdkw8apoS4nBoo23UmSt7bDcZMf_GiwM6e8UVykQArYP2agGYcpeWmaO7swlDOWirkv7mZ_2PNzDS8cDmKsCWrg/s320/jets.png" width="320" /></a>The pilot jet is a struggle to take out, because it is pretty deep inside the hole, and is glued to the body by the gunk. Some penetration oil did manage to loosen it up enough to take out. The pilot jet is indeed all clogged.<br />
<br />
The holes in the pilot jet is very small. It read that people (the professionals) advice against enlarging or cleaning these holes, but with an old motorcycle like mine, I got to do whatever I felt making sense. I am not sure if I can find those replacement parts.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5yVfIFSZIsjhBQeX8pj1F1_MnAnRWRVTHVUi8KHbRBllN_jejeSWJTS3mR3ym4ZySM4kaLOpjtrz4yLvR3nd2nLM9FY8gAzPQnkFwspybJsDHW8UVvgrX2CKfrff4KkSfuymbO-mTPdA/s1600/pilot_jet.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5yVfIFSZIsjhBQeX8pj1F1_MnAnRWRVTHVUi8KHbRBllN_jejeSWJTS3mR3ym4ZySM4kaLOpjtrz4yLvR3nd2nLM9FY8gAzPQnkFwspybJsDHW8UVvgrX2CKfrff4KkSfuymbO-mTPdA/s320/pilot_jet.png" width="209" /></a>The head of the pilot jet has number "35" stamped on it. I guess it probably means that the hole is 35/100 of a millimeter in diameter. (By the way, the K mark at the top indicates that this is a Kaihin part, according to <a href="http://www.dansmc.com/carbs.htm">this page</a> I found.) I happened to have a lot of tiny drill bits (in various sizes) from previous work. I took those out and soon found one that seems to go through the hole just right. One of the pilot jet has a hole so clogged, that I have to put the drill bit on my Dremel tool to drill through it.<br />
<br />
Now it is time to clean things up and put it all together. And the engine starts right away, and goes well when opening the throttle. I guess now I will need to take it out a bit more frequently.<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-995128875405903682016-01-09T22:29:00.000-08:002016-01-09T22:29:10.108-08:00Craftsman 109 Lathe - Chuck Backplate and FittingI have made a <a href="http://adamli.blogspot.com/2015/12/craftsman-109-lathe-new-homemade-spindle.html">new spindle</a> for my Craftsman 109 lathe. And I found that all the chucks need to be refitted. I have two chucks: a 4-jaw with 3/4-16 thread, and a 3-jaw with 1/2-20 thread.<br />
<br />
When I mounted the 4-jaw and indicated it, I found that it is off now with the new spindle. I have tried to turn the surface of the front and back of the <a href="http://adamli.blogspot.com/2015/11/craftsman-109-lathe-spindle-adaptor-34.html">3/4 adapter</a>, but it does not help. I think it is because that the center line of the inside and outside thread are not matching with the new spindle. Since the 4 jaws are adjusted independently, there is not much need to remake the adapter. The only downside is there might be a bit off center mass, but that may not be much of a problem for the limited precision of my lathe.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkk8_skSq9X15F_J5BCyHSm6n99iabCiOz-B-aeGxKpounzVwwk3YFoE_BfP7okQlWBJIingS9DAE89gTtPohbN3FNKenv3q7Wwdy0iO2UsnjbzvuU5i531wkUwsyElzh5VpJr-XI1YFw/s1600/20151202-213840-IMG_20151202_213840063.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkk8_skSq9X15F_J5BCyHSm6n99iabCiOz-B-aeGxKpounzVwwk3YFoE_BfP7okQlWBJIingS9DAE89gTtPohbN3FNKenv3q7Wwdy0iO2UsnjbzvuU5i531wkUwsyElzh5VpJr-XI1YFw/s320/20151202-213840-IMG_20151202_213840063.jpg" width="180" /></a>The 3-jaw is a different story. It is off by quite a bit. My 3-jaw has a plain back and has a cast iron backplate adapter. But when I took them apart and attempt to refit it, I found that it may have never been properly fitted previously. The spigot is cut a bit too small. I will have to turn it all flat and turn a new one from what is left. I happen to have a 1" thick piece of 3" rod aluminum. So I decide that I will use that to make a new backplate and leave the old one alone.<br />
<br />
I did some research on whether aluminum is strong enough as the backplate (the standard material is cast iron), and found no definite conclusion. Then I decided that I will just go ahead and do it. The thread mating between the backplate and spindle might be a bit soft, but it should work if I use it carefully.<br />
<br />
So I mounted my 4-jaw chuck with the jaw facing outside (which holds the 3" piece with no problem) and started working on the backplate. The <a href="http://www.lathes.co.uk/latheparts/page7.html">procedure</a> is pretty simple, and there are plenty of information on Internet on how to do it. So I will skip the details here. Soon, I have this blank piece of backplate.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ZOSNzMoPlRdIAz45euPxb0vNlkgkn3IklJhFMNrMpisvBinRnUCyr6-Mh0y__k5laObLUEyc5cM6iMGx2QpF5cmYyj8tmQm0yuN36LzC6QNpnzxBuOrzV-EN7VOw5bD5AcUwTE0x2-c/s1600/20151213-153833-IMG_20151213_153833667.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ZOSNzMoPlRdIAz45euPxb0vNlkgkn3IklJhFMNrMpisvBinRnUCyr6-Mh0y__k5laObLUEyc5cM6iMGx2QpF5cmYyj8tmQm0yuN36LzC6QNpnzxBuOrzV-EN7VOw5bD5AcUwTE0x2-c/s320/20151213-153833-IMG_20151213_153833667.jpg" width="320" /></a><br />
The hard part of this project is to locate the mounting holes. The location of the mounting holes is not super critical as the precision of the fit is decided by the size of the spigot. But I like to make them as accurate as possible. Instead of measuring the hole circle radius and dividing the circle to three parts, I decided to go with a simple method of making a few transfer punches as indicated in the picture. The mounting holes are M6-1.0. So I turned a few M6 screws down to having a small spike in the middle and cut a off-center slot so I can use screw drivers to get them in and out of the mounting holes on the chuck. A few light taps marks the location on the backplate and they are drilled to through holes for the M6 mounting bolts to pass through. The holes are numbered and marked as well as the mounting holes on the chuck, so they are always going back the same way.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggFFqi2lDI6imUF6m67aG-Oxjf4dZtaDPhzke1nqpqedZkp3seZWXmP69qZT0Lon-xeUyIN_ALsezuDQgRy-ZMcTZZgnsZY0gQhgCt-TWcT-Zo57RoCe3ZahCAstsscqG1SZUzkkvJIao/s1600/20151215-222632-DSC00289.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggFFqi2lDI6imUF6m67aG-Oxjf4dZtaDPhzke1nqpqedZkp3seZWXmP69qZT0Lon-xeUyIN_ALsezuDQgRy-ZMcTZZgnsZY0gQhgCt-TWcT-Zo57RoCe3ZahCAstsscqG1SZUzkkvJIao/s320/20151215-222632-DSC00289.jpg" width="320" /></a><br />
With some very careful turning, I have my backplate fitted for the 3-jaw chuck. The TIR on the backplate is almost nothing, but to my surprise the TIR on the perimeter of the chuck is 5 thou. I re-check the TIR of the spigot and found it to be nearly zero. So the chuck is not perfectly centered with the register. With a test piece mounted (and tightened with the best chuck wrench hole), the TIR is about 2 thou. That is much better than before. I will probably need to grind the inside of the jaws someday, but for now, that will do.<br />
<br />
Here is my 3-jaw chuck mounted with the newly fitted backplate. Another good thing about my backplate is that it is about 1/2 inch thinner than the old backplate, which moved the chuck a bit closer to the spindle bearing (but still not close enough as the 4-jaw).<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBXmo9iVoXsLovKmpzbacScWFoRYC2sR2dD6NiMexj1TB2BxLxax92MNWJLOFamOnaEtZ2yi4GnTKLg9T4wWMNL3QWjmvnZjNEUYRk_H7jAS1IZOYT0a-rk5cwimP6I1ahCXuJKjVduaA/s1600/20151222-230003-DSC00293.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBXmo9iVoXsLovKmpzbacScWFoRYC2sR2dD6NiMexj1TB2BxLxax92MNWJLOFamOnaEtZ2yi4GnTKLg9T4wWMNL3QWjmvnZjNEUYRk_H7jAS1IZOYT0a-rk5cwimP6I1ahCXuJKjVduaA/s320/20151222-230003-DSC00293.jpg" width="320" /></a></div>
Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-4758518230209626549.post-16890931875428668532015-12-09T21:32:00.002-08:002016-01-09T19:27:19.907-08:00Craftsman 109 Lathe - New Homemade SpindleI have known that the spindle on my lathe is old and worn out. I am not sure if it is bent, but I like to replace it. There are spindles available on eBay and <a href="http://www.homeshopsupply.com/parts.html">Home Shop Supply</a>. They run for about $100. But where the fun is if I just bought it.<br />
<br />
There are people who has made the spindles themselves. For example, this gentleman in SHDesigns <a href="http://shdesigns.org/Lathe/spindle.shtml">made one</a> from tool steel, and has a page for it. But he turned it on an Atlas/Craftsman 12x36. I don't have a machine of that size or accuracy. All I have is a semi-working Craftsman 109. And even if it cuts, I am not sure if I can make the finishing smooth enough for the bearing surface.<br />
<br />
I have been thinking and search for a while. And one day, I realized something. We all know that the spindle size of the Craftsman 109 is 0.551". That is a strange number. I have seen people doing things in strange numbers, but there has to be a reason. And it turns out that 0.551" is 14mm. The all American Craftsman has a metric heart. How interesting is that.<br />
<br />
So all I got to do is to find a grounded 14mm rod, and that could be my new spindle. But what about the collar part? I have spent quite some time thinking about it, and there are a few ways I came up with. I did a few experiment to decide the precision of my cut and measurement, and decided that I can bore the hole precise enough for an interference fit (or shrink fit), with my BBQ stove as heating source (no need for a propane torch).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtJUxSRCj0_kRvNOkTjk62ECZL3DWuWKA0yLPbcIsEmquIKgmppdQXY4-7k9gFKQBZAIEm5USbP4bb0PpOEzUBwTWPN2A7EtDGLwlj-IIL9Hf-2WcawZaWfEsel-tdEOI77IoP0sh02IU/s1600/IMG_20151128_115220248.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtJUxSRCj0_kRvNOkTjk62ECZL3DWuWKA0yLPbcIsEmquIKgmppdQXY4-7k9gFKQBZAIEm5USbP4bb0PpOEzUBwTWPN2A7EtDGLwlj-IIL9Hf-2WcawZaWfEsel-tdEOI77IoP0sh02IU/s320/IMG_20151128_115220248.jpg" width="320" /></a></div>
<br />
<br />
So here we go. First I got the 14mm rod from eBay. It is grounded 1144 steel. Even though it is not as hard as tool steel, I figured that it will do for me now. The piece I got is 24 inches long, just enough to make three spindles (the original spindle is about 7-1/2" long).<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZYeM3DRWFqKF-oYFxS86v8MBTmW8IDRNZ5I5Cg5J_9MsAINlATVCxMKsWCKyQWMYSABZihebw2ZineIm6LUCGRM0l38KKTO83k9A986Kh03uykwGhJyu2P-t317EBv2B-o7oCWL2HYho/s1600/IMG_20151128_194056304.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZYeM3DRWFqKF-oYFxS86v8MBTmW8IDRNZ5I5Cg5J_9MsAINlATVCxMKsWCKyQWMYSABZihebw2ZineIm6LUCGRM0l38KKTO83k9A986Kh03uykwGhJyu2P-t317EBv2B-o7oCWL2HYho/s320/IMG_20151128_194056304.jpg" width="320" /></a>So I cut a piece of 12L14 that is about 3/4 inch long, and bored a hole that is just one thou smaller than the spindle rod (which measured to be 0.550"). For some reason, I can not even bore a smooth surface in the collar. But I figured that this would be a good thing here, as it would grab tighter when the two surfaces are shrink fit together.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuj1T27Lffi0C3mOGyN0hBzYs9gw1Jr1jDKrw0alQsdyH605MLUDwdwE_WT_jwan9iZqdGJ7RjwCIYSK_5QThC3wU3PD77cZqpqCayD-gELd7Fw2lycfIa8tr7uaaMvIMlFDKD-KS7fQA/s1600/IMG_20151128_225442721.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuj1T27Lffi0C3mOGyN0hBzYs9gw1Jr1jDKrw0alQsdyH605MLUDwdwE_WT_jwan9iZqdGJ7RjwCIYSK_5QThC3wU3PD77cZqpqCayD-gELd7Fw2lycfIa8tr7uaaMvIMlFDKD-KS7fQA/s320/IMG_20151128_225442721.jpg" width="320" /></a>Before I shrink fit, I made a wood jig (that is nothing more than a large enough hole drilled for about 1 inch deep). That's how much I like the spindle to stick out. And then I put that collar piece on the BBQ stove. After a while, I took it out, put on the wood jig, and stick in the spindle piece. I even brought a hammer, in case I will have to force it in. But it slides right through with a light tap. I kind of worried if I have machined them too close, but it turned out beautifully when everything is cooled down.<br />
<br />
Next I put it on my lathe to finish the backside of the collar. The rest of it can be machined when the spindle is on the lathe.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyTAvEuXE4sgamIHf3ajttKHPifdYlkzoNSanvi0jU07BNlTX-AAWE9tULjI8khSbMrVXm3CVXsiRWgT5AKGdDoH8zjBie12DAqhq74-ssJ4Jx42dCvAQBLaCBYPEhXKaJREVlevvzl9M/s1600/IMG_20151129_144521896.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyTAvEuXE4sgamIHf3ajttKHPifdYlkzoNSanvi0jU07BNlTX-AAWE9tULjI8khSbMrVXm3CVXsiRWgT5AKGdDoH8zjBie12DAqhq74-ssJ4Jx42dCvAQBLaCBYPEhXKaJREVlevvzl9M/s320/IMG_20151129_144521896.jpg" style="cursor: move;" width="320" /></a>The next challenge is to get the groove for the Woodruff key. For this I just used my Dremal tool with a disk shaped cutter. It is a bit larger than the original, but it works its way in just fine.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFPNdpsm71fB24cc2TnlG7nPSXFDmRoyOkfRzSnEjp2EyA2mL9JVt01YtCgYy4KCObGSBcJ-efGdfLGNUMJigz61ma5KYewhMtVneGDMGLUHOH88SxP0VYhlK3Xk1TOrzYhoqahnLRmjY/s1600/IMG_20151129_141403476.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFPNdpsm71fB24cc2TnlG7nPSXFDmRoyOkfRzSnEjp2EyA2mL9JVt01YtCgYy4KCObGSBcJ-efGdfLGNUMJigz61ma5KYewhMtVneGDMGLUHOH88SxP0VYhlK3Xk1TOrzYhoqahnLRmjY/s320/IMG_20151129_141403476.jpg" width="320" /></a>Here are the new spindle and the old spindle show side-by-side. As one can see, I left a bit more material on the new spindle, as those will be cut down in the future when fitting the chucks. Plus I like to have some safety margin to give my shrink fit more surface to grab on.<br />
<br />
The old spindle is shown here. As one can see, it has been worn out quite a bit on its bearing surface. I guess that this spindle might have never been replaced since the lathe is first sold in late 1940s. It is an old lathe.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGjeSlVdvULd8Gvk1dpqqv5I2rT0ZPUzI9RmPs8Hlfnnrjki-VndlLGIpdNiWgAncksgwb-VuZqziXi0PXr-YAV7AGad6OUAtAJzDONoYXSbFCUxGGYkFxzUwBEYyfDpTexWIh77R06YM/s1600/IMG_20151129_221636042.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGjeSlVdvULd8Gvk1dpqqv5I2rT0ZPUzI9RmPs8Hlfnnrjki-VndlLGIpdNiWgAncksgwb-VuZqziXi0PXr-YAV7AGad6OUAtAJzDONoYXSbFCUxGGYkFxzUwBEYyfDpTexWIh77R06YM/s320/IMG_20151129_221636042.jpg" width="320" /></a>Now the spindle is put on the lathe in its place, and nose of the spindle is cut down to 0.5 inches, ready to be threaded. The spindle nose on the 109 lathe has a 1/2-20 thread. It is great that I have fitted my lathe with all the necessary threading gears so I can cut those threads in place.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6996pHv4nt9_ZTijHUDgURokb0Vb8hGzRY7AgnSi_dAKroGHmIY_hZDYipOq4nshBoL80q6_YtWlVw4QgwMDgT1IoK_kIAQ85HU067g8_wFtULqckXeJND_wXXqydp6dfdIya2ISNVzI/s1600/IMG_20151130_212131189.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6996pHv4nt9_ZTijHUDgURokb0Vb8hGzRY7AgnSi_dAKroGHmIY_hZDYipOq4nshBoL80q6_YtWlVw4QgwMDgT1IoK_kIAQ85HU067g8_wFtULqckXeJND_wXXqydp6dfdIya2ISNVzI/s320/IMG_20151130_212131189.jpg" width="320" /></a>Because these threads are so close to the end of the ways, we need to be very careful in setting it up. I happened to have grounded a v-shaped cutter that is tilted to the right. So as we can see here, I can cut pretty close to the register surface and still have room for the indicator wheels.<br />
<br />
<br />
Cutting the threads are largely uneventful. I did have a few mistakes when the gear pops out. But I got it realigned easily. I finished the thread with a die. As always, that is not an easy work, and took significant force at the end. The die set I have is a cheapo set from Harbor Freight. Maybe I will need a better die set someday.<br />
<br />
So finally, here is my new spindle on the lathe. All home made cheaply and proudly on the Craftsman 109 lathe I have.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDqzCfNJQpYDXbii3R3e4PJvxj4m8gAb3iliDq0YRlWe8n60_5JD-deCoX8t6ynmRaRc-22gJCWGmROE_SLGrJ3R_H3CFc8p_x6aZa6FQkFuq_4yjCsnG3tHVLRA0P_uaW5GwJjX0yfeE/s1600/IMG_20151201_215023334.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDqzCfNJQpYDXbii3R3e4PJvxj4m8gAb3iliDq0YRlWe8n60_5JD-deCoX8t6ynmRaRc-22gJCWGmROE_SLGrJ3R_H3CFc8p_x6aZa6FQkFuq_4yjCsnG3tHVLRA0P_uaW5GwJjX0yfeE/s320/IMG_20151201_215023334.jpg" width="320" /></a></div>
Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-4758518230209626549.post-20941268859300652372015-12-03T19:16:00.001-08:002015-12-03T19:16:28.784-08:00Craftsman 109 Lathe - Easy Tool Post Steady RestMy Craftsman 109 lathe does not come with a steady rest. That makes it really inconvenient to drill a center hole at the end of a long slender piece.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_ZyQG6pxWnjRQQvXFXhy_eOIMJaCpLbx85VFtXjKwG2wmxO8SPyLCNvJ202_LM8lia7m2LkpHf3CFHjSjv838DbsQ1o8m7qj4JlJZN6XpJFdpzVcZcNppR220YGHXKJg0czcdBsOJpsw/s1600/IMG_20151117_204937845.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_ZyQG6pxWnjRQQvXFXhy_eOIMJaCpLbx85VFtXjKwG2wmxO8SPyLCNvJ202_LM8lia7m2LkpHf3CFHjSjv838DbsQ1o8m7qj4JlJZN6XpJFdpzVcZcNppR220YGHXKJg0czcdBsOJpsw/s320/IMG_20151117_204937845.jpg" width="320" /></a></div>
I was looking around Internet the other day, and found this <a href="https://books.google.com/books?id=tdgDAAAAMBAJ&pg=PA157&lpg=PA157&dq=lathe+steady+rest+tool+post&source=bl&ots=br3YtVhEBy&sig=3cUpXqlK0gbHRc3oW_gZo1HIRPs&hl=en&sa=X&ved=0ahUKEwiWjYb6m8HJAhVY5WMKHfi1CmsQ6AEILzAF#v=onepage&q=lathe%20steady%20rest%20tool%20post&f=false">article</a> in an old issue of Popular Mechanics. That is really a smart idea. The tool post steady rest goes on the tool post, so it would preclude cutting with a tool at the same time. So it is not a real steady rest. But for the purpose of drill a center hole, it works perfectly.<br />
<br />
So I went out and build one myself. This is how it looks on my lathe. Now I can work on the spindle to replace the one I have.<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-15430816038953114052015-11-18T19:11:00.000-08:002016-01-09T19:11:54.369-08:00Craftsman 109 Lathe - Spindle Adaptor 3/4-16<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinaJWfL0fqIs11fah1yVSM0NfRvxoWZpCOHsc2f_qcwZNa5HJFNDWVRWNEeZDd9VKIKO-lyfX4ZGyHz8ot8MyGCGMIJQZPiu9AIJkNvLkUD9gD47TX9X2OV1lt5j65MwiUpUi1q2KSfr4/s1600/IMG_20151107_172205796.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinaJWfL0fqIs11fah1yVSM0NfRvxoWZpCOHsc2f_qcwZNa5HJFNDWVRWNEeZDd9VKIKO-lyfX4ZGyHz8ot8MyGCGMIJQZPiu9AIJkNvLkUD9gD47TX9X2OV1lt5j65MwiUpUi1q2KSfr4/s200/IMG_20151107_172205796.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Using tailstock to start a straight tapping</td></tr>
</tbody></table>
<div style="text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw6RXfaMW9XPyCCxkeBlF996zR408I-r2LSJPThWygZulrqynTIJC1-eofxhkfZzHKvWDnmzNas5pZywH7AH88GVByWcR9sWyuJpaT0UCVcUX92qyNdj5DiOY4AoT1xSwAE11if_MEbCQ/s1600/IMG_20151107_163506135.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw6RXfaMW9XPyCCxkeBlF996zR408I-r2LSJPThWygZulrqynTIJC1-eofxhkfZzHKvWDnmzNas5pZywH7AH88GVByWcR9sWyuJpaT0UCVcUX92qyNdj5DiOY4AoT1xSwAE11if_MEbCQ/s200/IMG_20151107_163506135.jpg" width="111" /></a></div>
To make the lathe usable, I will start with the chuck. First I would need to get a chuck that is shorter. It looks like that all the plane back chucks stick out too much because of the extra space taken by the back plate. So the one that would fit well would be the screw mount chucks. I happened to have have read about the <a href="http://www.deansphotographica.com/machining/projects/109/spindle/adapter.html">3/4-16 adapter</a> for Taig chucks in Dean's website. So I put in an order to purchase one of 4-jaw chucks from Taig, and getting ready to make the adapter.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNhQKPtwsEM91NfqCxyT5fkpPqbe1r2cB3b7_kQc0vRXGgDK6Ui-U9VQ5ayZaAUmIBj2TAJ_cvsnIS_SYwFK807MXDAl1ftgcGraiUxMHwd67TaLKy1F9tWg7ybtz-SodeObR9AHEDO38/s1600/IMG_20151107_171654186.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNhQKPtwsEM91NfqCxyT5fkpPqbe1r2cB3b7_kQc0vRXGgDK6Ui-U9VQ5ayZaAUmIBj2TAJ_cvsnIS_SYwFK807MXDAl1ftgcGraiUxMHwd67TaLKy1F9tWg7ybtz-SodeObR9AHEDO38/s200/IMG_20151107_171654186.jpg" width="112" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Finishing tapping on a vise</td></tr>
</tbody></table>
To start out, I have cut out a piece of 12L14 round rod. For my weak lathe, it seems that the only steel I can cut at this time is the free machining 12L14. The rod is held in my old 3-jaw chuck, and it is faced and drilled a through hole to about 15/32. Then the hole is tapped with a 1/2-20 tap. The tap was held in a drill chuck from endstock to start the thread straight. It went pretty well initially, but soon it become really hard to turn. Maybe it is because that I don't have a sharp enough tap, but I have to take it out from the lathe to be held on a vise. This is different from what Dean did on his page. Everything looks so easy there. Another thing that I did differently is that I didn't turn the outside down in this step. Part of the reason is because I am not sure if my lathe can turn well with the chuck it has. Well, I am fortunately I didn't, because holding it in a vise will ruin the finish, and it did slip pretty badly. Like all my projects, I always have to go through some rough patches along the road.<br />
<div style="text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigdC1M3S_jTyC5Y0xbWZLE35Pcr6XEukvzqK9Oiou1iCggxRUA61Q90WvJOpBQDuiwLxKE2D0s2nGMe1ps8TBcqeDiFKkdRN0zQE40SCFlyawZnaCd12XERMC73TtIFgnqLiZJuKVv2Aw/s1600/IMG_20151109_212957310.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigdC1M3S_jTyC5Y0xbWZLE35Pcr6XEukvzqK9Oiou1iCggxRUA61Q90WvJOpBQDuiwLxKE2D0s2nGMe1ps8TBcqeDiFKkdRN0zQE40SCFlyawZnaCd12XERMC73TtIFgnqLiZJuKVv2Aw/s200/IMG_20151109_212957310.jpg" width="112" /></a></div>
<br />
Then the piece is thread on the spindle nose and faced. Since the thread on the nose did not go all the way to the register surface, a few threads need to be bored away. I don't have a boring bar, so I have tried to grind a drill bit to be held on tool post as a boring bar. I have tried it on aluminum just to make sure it works. It did. But when I put it on use on steel, it turns out did not cut as well. Maybe I didn't grind the cutting edge well enough. But I ended up just enlarge the hole with the 1/2 drill I have to get it against the register.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgopZ5rU1E4PUJYTeAJeKfzyFnhO5HrGlq_nu9afTsnbbrrImTsAXI_Z1TiNIxECCJ4dqvogbMDjFLNSZFVL7mVlISXq-J1qe5S9qlIyKKD06LNN7_sjz1875HGg6eSlP8S-Ir7JlcqfM4/s1600/IMG_20151111_204431690.jpg" imageanchor="1" style="clear: right; display: inline !important; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgopZ5rU1E4PUJYTeAJeKfzyFnhO5HrGlq_nu9afTsnbbrrImTsAXI_Z1TiNIxECCJ4dqvogbMDjFLNSZFVL7mVlISXq-J1qe5S9qlIyKKD06LNN7_sjz1875HGg6eSlP8S-Ir7JlcqfM4/s320/IMG_20151111_204431690.jpg" width="179" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">3/4-16 Adapter</td></tr>
</tbody></table>
The picture to the left is the piece mounted on the nose ready to be turned down. A hole is drilled on the back for inserting a bar to remove the adapter if it gets too tight. The front 1/2 in or so is turned down to 3/4 in size. The turning down was so smooth, and it cuts like butter. Turning steel has never felt so good with my mis-aligned chuck. That further confirmed to me that it can work well if I can bring it closer to the nose and the spindle.<br />
<br />
As I mentioned earlier, I was able to get the thread cutting of the lathe working. So I got that ready and start threading it. Contrary to Dean's experience, I was able to cut the entire length with the threading indicator mounted. This is the first real thread I am cutting, so I have also bought a 3/4-16 die ready to finish it. I really have no idea how deep it should go, and learnt my share of lessons there. I thought I got it deep enough, and tried it with the die. In the process, I have removed the tool and soon realize that it would not be in the same place when I put it back. Fortunately I have the die ready, and I would finish the thread with it.<br />
<br />
That turned out to be another tough operation I have to drive to the maximum that my little vise can handle. In that process, the surface is destroyed again, which I have to turn down afterward to clear the deep marks. But all in all, I have a cool looking adapter ready to mount my Taig chuck (which I purchased for this modification).<br />
<br />
So here is my new chuck, sitting nicely on the lathe ready for the next project.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzj8jqhAC2PNj_gT3ISCecLyxfJwaXJ_3TPJzFHNtJgMrv8vgTP2kg9Xb9-THc9oc-ZkvSwYchxtTpU5Plu8dfBOUeSIGQoZrbleF3FbEQUAFjB_x855E9be1iomSAPBZ2LVLE7lqRx0s/s1600/IMG_20151111_204306246.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzj8jqhAC2PNj_gT3ISCecLyxfJwaXJ_3TPJzFHNtJgMrv8vgTP2kg9Xb9-THc9oc-ZkvSwYchxtTpU5Plu8dfBOUeSIGQoZrbleF3FbEQUAFjB_x855E9be1iomSAPBZ2LVLE7lqRx0s/s400/IMG_20151111_204306246.jpg" width="400" /></a></div>
<br />
<br />
<br />Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-4758518230209626549.post-5917230180517307972015-11-15T22:49:00.000-08:002015-11-15T22:49:58.335-08:00Craftsman 109 Lathe - Thread Cutting GearsOne reason that drives me to keep the 109 lathe as my project is that it has building setups to for thread cutting. I have got many gears with my original acquisition of the lathe. However, the set is not complete. I have asked the seller about it, but he said that he has never used it.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuu6WGxKdOmjIfRoERubAzW4UqNp7K7h5DlBRD2mZ1eWLjD9CglIAcTT3E-H0Wnh3X9EZGdSOQeGgFPX22rPrg_qN50AzGL2FpYKpoLQCYPtGQvVpoCdpspPnfElVvNbe0twh234cZYWY/s1600/IMG_20151026_212353387.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuu6WGxKdOmjIfRoERubAzW4UqNp7K7h5DlBRD2mZ1eWLjD9CglIAcTT3E-H0Wnh3X9EZGdSOQeGgFPX22rPrg_qN50AzGL2FpYKpoLQCYPtGQvVpoCdpspPnfElVvNbe0twh234cZYWY/s320/IMG_20151026_212353387.jpg" width="320" /></a>I looked through the gears that I have. It looks like that I am missing the gears that are on the tumbler assembly. Those gears are available on eBay, but are generally going for $15 to $20 a piece. I have been contemplating about <a href="http://www.deansphotographica.com/machining/projects/109/gears/109c.html">cutting them myself</a>, but I would need to build a milling attachment as well as an indexer. Thread cutting seems to be a rather important part of the projects I have in mind. So I decided to get those gears complete first.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6EsOS5BiFl3WswilEOUp9jB1KnB8BBofpesvCYZovSW7fIGMux80l52nmvojj7IOprL4XbK47IRspRgBFB00MVyZ-mjl3Z3UVgk9iqdjwDaHyTwWOu5nGpBr_o1Gka9AHg_BPsuXtYEA/s1600/IMG_20151026_212501759.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6EsOS5BiFl3WswilEOUp9jB1KnB8BBofpesvCYZovSW7fIGMux80l52nmvojj7IOprL4XbK47IRspRgBFB00MVyZ-mjl3Z3UVgk9iqdjwDaHyTwWOu5nGpBr_o1Gka9AHg_BPsuXtYEA/s320/IMG_20151026_212501759.jpg" width="180" /></a>On Dean's webpage (from the same gear cutting link above), it was stated that the 109 lathe uses the same gear as the 618 lathe. So I have been scouting eBay for some time, and found a tumbler assembly. I got it for about $40 (including shipping). But when it arrives, I found to my surprise that they don't fit the tumbler I have. Didn't Dean said so? I went back to read his comments, and it turns out that what he says are that the gears fits (I think he means the change sets).<br />
<br />
Fortunately, I think the gears pretty much looked in place, except with a bigger hub size. That should be easy on the lathe. I quickly machined some bushing, and now it goes on like they are made for it.<br />
<br />
After some work and additional money out of pocket, my lathe is finally up cutting threads. I have heard that people complaining that the motor is too fast for cutting threads, but mine works just fine for me. I will be using that in my coming projects.<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-47288833759147952812015-11-13T14:13:00.001-08:002015-11-13T14:13:33.229-08:00Craftsman 109 Lathe - ChatterMy 109 lathe has serious chatter problem. It is so bad that I could not even turn a small aluminum piece. I have made a few small modifications previously (such as replacing all the jibs with copper ones following <a href="http://www.deansphotographica.com/machining/projects/109/rebuild/109b.html">Dean's webpage</a>). But it helped little.<br />
<br />
The chatter remains, even when the piece was relatively short and hold close to chuck. I have tried may tricks I read on the Internet, slow feeding, deeper cuts, etc. The vibration will still come. The only way I have found that I can turn anything on this lathe is to hold the end of a piece with a center from tailstock.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiX0u1fK48ViLYtkq0RH2AhYsNDrNJUQy43HB7qNQp1MERwxlSX3ucFJ81hQce5f1HFTAO4HSe_lpGbkJEBvl_JBMsLkx7A-R82cdmrmDeBqSECT9GNHdQf4KNiCkfQGMjBALdU0ytA6Y/s1600/IMG_20151107_115323460.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiX0u1fK48ViLYtkq0RH2AhYsNDrNJUQy43HB7qNQp1MERwxlSX3ucFJ81hQce5f1HFTAO4HSe_lpGbkJEBvl_JBMsLkx7A-R82cdmrmDeBqSECT9GNHdQf4KNiCkfQGMjBALdU0ytA6Y/s320/IMG_20151107_115323460.jpg" width="307" /></a>After playing with it for some time, I finally got a lathe dog so I can turn between centers. Finally I was able to turn a piece and it cuts smoothly. What a wonderful feeling when the cutter just glide through steel like butter.<br />
<br />
I have tried to measure the vibration frequency, and it is somewhere around 100 Hz. My lathe at the setting I used most is turning at around 700 RPM. Interesting at one of the pieces I can see the chatter marks that goes about 8 cycles per turn. For 700 RPM and 8 dimples per turn, it turns out at right about 100 Hz. That's what I am seeing.<br />
<br />
I have tried to tighten down my tool post, and it did not help. And the disappearance of chatter when turning between centers confirmed that the vibration is probably in the headstock and chuck.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
On this lathe I have a standard plain back 3" 3-jaw chuck. It extends quite a bit from the headstock. And it is a big piece of steel. I took the chuck off, cleaned it, and faced the backplate. And it did not help.<br />
<br />
Then I realized that the problem is probably with this size of the chuck and the lathe. The chuck is quite heavy, and it sticks out quite a bit. At the same time, the spindle that supports it is relatively small 0.5" steel rod. That is an ideal case for some good oscillation. This chuck does not fit this lathe. I will need a lighter chuck that sits closer to the headstock. It turns out there are many choices.<br />
<br />
<br />
<br />
<br />
<br />Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-4758518230209626549.post-77398613410706475432015-11-11T12:41:00.003-08:002016-01-09T19:02:35.430-08:00Why Craftsman 109 LatheI happened to have bought the Craftsman 109 lathe more than a year ago. I believe I paid about $140 for it. It comes with gears but not a complete set.<br />
<br />
<div>
The 109 lathe has a lot of weakness. The most obvious ones are:</div>
<div>
<ul>
<li>A weak spindle. The spindle is 0.55" diameter. From what I read, it is very easily bent. I suspect that in my playing with the limit of it, I have probably bent mine also.</li>
<li>No graduated dial.</li>
</ul>
<div>
While contemplating on different options, there are a few choices when it comes to hobbies lathes. Among the most obvious ones are:</div>
</div>
<div>
<ul>
<li>Chinese made 7x series <a href="http://www.mini-lathe.com/">mini lathe</a>,</li>
<li><a href="http://www.sherline.com/">Sherline</a>,</li>
<li><a href="http://www.taigtools.com/">Taig</a>.</li>
</ul>
<div>
Each have its advantage and shortcomings. I have been scanning the local Craigslist hoping to find something interesting. Soon, a HF 7x10 came up at an amazing price of $150. That is a very good price. And I am the first one to respond to the buyer and setup the time to take it.</div>
</div>
<div>
<br /></div>
<div>
I thought through that again and again. Yes, at that price the value would be hard to beat. But I don't need two lathes. Yes, I can sell the old one and get my money back probably. But what is the purpose of having a lathe? I am not having a project that needed a lathe to complete. The lathe itself IS the project. Indeed, I have more (easier projects, for beginner at least) to work on on the old 109 lathe than those of the HF lathe. Plus, it is a simple lathe that everything is out in the open. The fact that it is weaker could actually be its strength for me to really learn how to do things properly.</div>
<div>
<br /></div>
<div>
We all know the most important use of a tool is to build other tools. So to build these I have in mind with the challenging weak inaccurate lathe would make things really interesting. These weaknesses are not insurmountable. They just require you to be more creative and do things properly. Take for example the weak spindle. If I am doing something that bents a half inch steel bar <u>unintentionally</u> in my garage, I am probably doing something wrong.</div>
<div>
<br /></div>
<div>
So I have cancelled my appointment with the seller. My project is now playing with the 109 lathe and see where I can bring it up to. I think it will be a fun journey.</div>
<div>
<br /></div>
<div>
<br /></div>
Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-4758518230209626549.post-78178274704630500682015-03-15T20:37:00.000-07:002015-03-15T20:37:47.534-07:00SVN with LDAP authentication - Step 2In the <a href="http://adamli.blogspot.com/2015/03/svn-with-ldap-authentication-step-1.html">first step</a>, I have setup SVN with SASL authentication using a password file. The next step is to use LDAP authentication instead. To do that, we will need SASLAUTHD. SASLAUTHD is an authentication daemon that provides authentication service. To configure it, we will need to edit two configuration files on Debian. The first one is /etc/default/saslauthd. The following lines need to be changed.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">START=yes</span><br />
<span style="font-family: Courier New, Courier, monospace;">MECHANISMS="ldap"</span><br />
<br />
While you are at it, take a note at the last line. Mine has<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">OPTIONS="-c -m /var/run/saslauthd"</span><br />
<br />
This line tells you where the daemon is listening at (in this case /var/run/saslauthd). Now the second configuration file /etc/saslauthd.conf.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">ldap_servers: ldap://myldapserver.mydomain.com</span><br />
<span style="font-family: Courier New, Courier, monospace;">ldap_start_tls: yes</span><br />
<span style="font-family: Courier New, Courier, monospace;">ldap_tls_cacert_file: /etc/ldap/myldapca.crt</span><br />
<span style="font-family: Courier New, Courier, monospace;">ldap_auth_method: bind</span><br />
<span style="font-family: Courier New, Courier, monospace;">ldap_bind_dn: cn=bindcn,dc=mydomain,dc=com</span><br />
<span style="font-family: Courier New, Courier, monospace;">ldap_password: supersecretstuff</span><br />
<span style="font-family: Courier New, Courier, monospace;">ldap_search_base: ou=Users,dc=mydomain,dc=com</span><br />
<span style="font-family: Courier New, Courier, monospace;">ldap_filter: (&(uid=%U))</span><br />
<br />
This file simply tells SASLAUTHD how to contact the LDAP server. Save and restart the saslauthd by typing<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">service saslauthd restart</span><br />
<br />
Then you are good to go. First to test the SASLAUTHD authentication by<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">testsaslauthd -u username -p password</span><br />
<br />
In this way, we can verify that the SASLAUTHD is working as intended. Once that is verified, the last step is to modify SASL to use SASLAUTHD. This is done by changing /usr/lib/sasl2/svn.conf (see <a href="http://adamli.blogspot.com/2015/03/svn-with-ldap-authentication-step-1.html">my Step 1 post</a>) to the following:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">pwcheck_method: saslauthd</span><br />
<span style="font-family: Courier New, Courier, monospace;">saslauthd_path: /run/saslauthd/mux</span><br />
<span style="font-family: Courier New, Courier, monospace;">mech_list: PLAIN LOGIN</span><br />
<div>
<br /></div>
Notice the saslauthd_path. It is the path where the SASLAUTHD is listening (which we got earlier in this post form /etc/default/saslauthd). Your process do need to have read/write access to that folder. This can be done by adding the user you are running <span style="font-family: Courier New, Courier, monospace;">svnserve</span> with to the <span style="font-family: Courier New, Courier, monospace;">sasl</span> group.<br />
<br />
One more note here: in the <span style="font-family: Courier New, Courier, monospace;">svnserve.conf</span> file (under <span style="font-family: Courier New, Courier, monospace;">conf</span> directory of the repository), the <span style="font-family: Courier New, Courier, monospace;">min-encryption</span> need to be set to 0, otherwise it would not work on my setting. Also I read somewhere that SASLAUTHD only supports plain and login, not any of the digest methods. This really make this method un-secure because the password will be transmitted in clear text.<br />
<br />
So in the end, after all these trouble, I went back to move my SVN server to be served with Apache2 server through SSL (sorry, no Nginx or anything else, only Apache2 works). That seems to be the only secure solution right now (other than SVN+SSH, then I will need to create many user accounts on my SVN server, which is not good).<br />
<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-43141753622690591702015-03-08T22:16:00.001-07:002015-03-08T22:16:48.537-07:00SVN with LDAP authentication: Step 1My work setup has got too many places that needs authentication. There has been six or seven logins and passwords I need to use constantly, so I have finally decided to spend some time to get LDAP working. I have wanted to do that for a while, but every time I looked at it, it looks pretty thick and complicated. It indeed is. There is very few documentations, and I found that there are fair amount of mistakes in them. So I am writing this down as a record, and also as a way to share my mistakes.<br />
<br />
<strong><u>LDAP</u></strong><br />
<br />
First, it is probably a good idea to read some introduction to LDAP. This <a href="http://archive.oreilly.com/pub/a/perl/excerpts/system-admin-with-perl/ten-minute-ldap-utorial.html">10-min tutorial</a> is so thick that I am not sure it is actually helping. Later, I found one that is actually just a <a href="https://sites.google.com/site/openldaptutorial/">personal note</a>, but is surprisingly clear and helpful. That is a must read for a quick understanding of what everything is there.<br />
<br />
<strong><u>Svnserve with SASL</u></strong><br />
<br />
The first step is to setup svnserve with SASL. This is a well <a href="http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.choosing.svnserve">documented</a> process, and easy to test to be sure that everything works. First of all, run svnserve to make sure that SASL is supported. I installed this on Debian 7.8.0 (March 2015), and the output is as below.<br />
<br />
Two configuration files need to be modified. The first one is <u><span style="font-family: "Courier New", Courier, monospace;">svnserve.conf</span></u>. It is located at the "conf" directory of the repository to be served. The line of "use_sasl" need to be set true.<br />
<br />
<span style="font-family: "Courier New", Courier, monospace;">[sasl]</span><br />
<span style="font-family: "Courier New", Courier, monospace;">use-sasl = <span style="background-color: yellow;">true</span></span><br />
<br />
The second file is <u><span style="font-family: "Courier New", Courier, monospace;">svn.conf</span></u> for SASL. This is a little tricky, and not much information is available. I believe the svnserve will need to use SASL library to access authentication, and SASL library will load a configuration file for the application (which is svn in this case) in a known folder (which is <span style="font-family: "Courier New", Courier, monospace;">/usr/lib/sasl2</span> in Debian). The file does not exist and will need to be created.<br />
<br />
In this first step, I tried to use a password file that holds the username and password hash for SASL. This is so that I can first verify that svnserve is correctly working with SASL, and then later I will change that to use LDAP. For now, my svn.conf looks like <a href="http://www.dm9.se/?p=518">following</a> (in this first step).<br />
<br />
<span style="background-color: yellow; font-family: "Courier New", Courier, monospace;">pwcheck_method: auxprop</span><br />
<span style="background-color: yellow; font-family: "Courier New", Courier, monospace;">auxprop_plugin: sasldb</span><br />
<span style="background-color: yellow; font-family: "Courier New", Courier, monospace;"># you may use /etc/svn_sasldb here</span><br />
<span style="background-color: yellow; font-family: "Courier New", Courier, monospace;">sasldb_path: /path/db_name</span><br />
<span style="background-color: yellow; font-family: "Courier New", Courier, monospace;">mech_list: DIGEST-MD5</span>
<br />
<br />
Then the password file can be created with the following command.<br />
<span style="font-family: "Courier New", Courier, monospace;"> </span><br />
<span style="font-family: "Courier New", Courier, monospace;">saslpasswd2 -f /path/db_name<span style="-webkit-text-stroke-width: 0px; background-color: white; color: black; display: inline !important; float: none; font-size-adjust: none; font-stretch: normal; font: 11px/12.1px Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; letter-spacing: normal; text-align: left; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;"> </span>-c -u realmname username</span><br />
<span style="font-family: Courier New;"></span><br />
Restart svnserve and test away. That is the first step.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-6509714193477828922015-02-22T13:09:00.000-08:002015-02-22T13:09:16.345-08:00Using FFMPEG library in Visual Studio<a href="https://www.ffmpeg.org/">Ffmpeg</a> is a very flexible and comprehensive library for decoding and playing media files. However, the code is written conformed to C99 while Visual Studio (version 2012 or earlier) is primarily C89 compliant. There are several ways to do it. One way is to use C99-to-C89 converter to convert the source code so it builds as explained in the <a href="https://www.ffmpeg.org/platform.html#Windows">ffmpeg website</a>. It may now also be possible to build ffmepg with Visual Studio 2013 and Intel C++ Compiler (<a href="http://en.wikipedia.org/wiki/Intel_C%2B%2B_Compiler">ICL</a>).<br />
<br />
But I am a little lazy and choose to use the <a href="http://ffmpeg.zeranoe.com/">pre-compiled binary</a>. The only problem with those library is that they are built with <a href="http://www.mingw.org/">MinGW</a> instead of Visual Studio. The project I am working on is built with Visual Studio (because it uses some Windows specific features). So the question is figure out a way to link to the pre-built libraries so the pre-built DLLs can be loaded.<br />
<br />
In general, binaries compiled with different compiler can not be linked together. There are different name mangling rules, and more importantly they are using different ABIs (<a href="http://en.wikipedia.org/wiki/Application_binary_interface">Application Binary Interfaces</a>). However, in this case it is actually doable. Using the shared DLLs are generally done by linking to a small "loading" library that actually loads the DLL binaries. As explained in <a href="http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs">a MinGW wiki page</a>, the "loading" library in Visual Studio can be generated from the DEF file (which is a text file defines all the exposed functions) with the LIB tool provided in Visual Studio.<br />
<br />
It turns out that even this is already done. The <a href="http://ffmpeg.zeranoe.com/">Zeranoe</a> website with the pre-built ffmepg provides all the pieces that are needed. All it needs is the "shared" package (which contains the DLLs) and the "dev" package (which contains the include and the libraries that loads the DLLs). All the necessary .h, .lib and .dll files are included for building apps to using the ffmpeg DLLs.<br />
<br />
One additional small step is that if the main project is in C++, the included headers of ffmpeg need to be enclosed in an extern "C" declaration.Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-4758518230209626549.post-6274212687573867012014-12-24T14:15:00.000-08:002014-12-24T14:21:09.778-08:00Building a NASNetwork Attached Storage (NAS) is a really useful tools these days. They don't just host files for share in local network, but can also act as servers for a number of functions. I recently needed to build a NAS.<br />
<br />
A NAS is an always on device, so the power consumption is more a concern than the performance horse power. I happened to have an Atom based Intel motherboard that is underpowered for desktop use, but is perfect for this application. The board is <a href="http://www.intel.com/content/www/us/en/motherboards/desktop-motherboards/desktop-board-d525mw.html">Intel D525MW</a> that has only two SATA ports. That's not enough. Fortunately the board has a PCI slot. So I got a PCI SATA board for the other disks need to be connected. The board I have is a <a href="http://www.sybausa.com/productInfo.php?iid=530">SYBA 4-port SATA II</a> (SY-PCI40010), and it supports hardware RAID. And here comes the problems.<br />
<br />
<u>Intel D525MW RAID Problem</u><br />
<br />
The first problem is that I found that the computer does not boot up any more. After some time spent on elimination, I finally narrowed it down to the board - it would not boot when the board is plugged in. I search around and finally find that RAID was a problem for the Intel D525MW board I have. After an update of the <a href="https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=23053&lang=eng&ProdId=3253">BIOS of the board</a>, everything works perfectly.<br />
<br />
<u>Flash the RAID Board</u><br />
<br />
The PCI RAID board is using Silicon Image SiI3124 chip. This is an older chip that only supports RAID up to about 3T. That's not good enough. I know that before buying it. The chip on the board can be flashed to make it non-RAID, since I am going to use the software RAID anyway. Silicon Image website was pretty bad, and there is nothing on the <a href="http://www.siliconimage.com/support/">support page</a> (and it plain did not work). Searching up and down the web, the flashing tool (updflash.exe) and the firmware can be <a href="http://www.ioi.com.tw/products/proddetail_dl.aspx?CatID=106&HostID=20382015&ProdID=1060093">found</a> for the SiI3124 chips (that is for another board, but it is the same chip). In the firmware packages, the bxxxx.bin is the non-RAID firmware, and rxxxx.bin is the RAID firmware.<br />
<br />
Make a DOS boot USB and run the following command will flash the card with non-RAID firmware.<br />
<br />
<span style="font-family: "Courier New", Courier, monospace;">updflash.exe b6600.bin</span><br />
<br />
<u>Disable the Head Park on WD Green</u><br />
<br />
I am using a few <a href="http://www.wdc.com/en/products/products.aspx?id=780">Western Digital Green</a> drives. It is reported that these drives park their head after only 8 seconds of non-use to conserve energy. That drastically reduce the life of the drives. This timeout can be disabled by a WD utility called <a href="http://support.wdc.com/product/download.asp?groupid=609&sid=113">wdidle3</a>. The use of that utility on the WD Green drive is not documented, but it works. This modification is <a href="http://www.storagereview.com/how_to_stop_excessive_load_cycles_on_the_western_digital_2tb_caviar_green_wd20ears_with_wdidle3">recommended</a> by people online. So I downloaded the utility and applied. It turns out that the utility only discover and apply to drives that are connected to SATA ports on my motherboard, but not those connected to my SATA card. So I need to repeat the process by connecting my drives to motherboard SATA ports in turns.<br />
<br />
At the end, my NAS is finally up running.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-33122077174948382242014-12-20T21:00:00.001-08:002014-12-21T11:04:03.389-08:00XSVF JTAG ProgrammerNow I need to have a device that glitches my Xbox 360. For my pursuit of frugal fun, I chose to use a cheap Coolrunner (I bought off eBay for $8) instead of the Team Xecuter <a href="http://www.modsupplier.com/catalog/xecuter-cr4-xl-p-1097.html">CR4 XL</a> (which is currently $33 plus shipping, not to mention the QSB kit). But there is one more problem. The Coolrunner I bought comes blank (not programmed). The information to program the Coolrunner with (in XSVF file) comes with the JRunner software, and XSVF files are for being written to device through <a href="http://en.wikipedia.org/wiki/Joint_Test_Action_Group">JTAG</a> interface.<br />
<br />
I have a Matrix NAND Programmer to read and write NAND from Xbox 360. That process seems to use an interface that is SPI (or very similar to it). On internet, I have seen people post connection diagram for connecting Maxtrix NAND Programmer to the JTAG interface of the Coolrunner. Interestingly, the programmer does have six connection pads on the side, and the JTAG interface is pretty similar to SPI. Because of that, and also the fact that the other NAND programmers / software can also be used to program JTAG, I had assumed that I can do that same with Matrix NAND Programmer.<br />
<br />
It turned out not working. As mentioned in <a href="http://adamli.blogspot.com/2014/12/cheap-programmer-to-readwrite-xbox-360.html">my other post</a>, the Matrix NAND Programmer is compatible to NAND-X with drivers from NandPro 2.0. But it turns out that NandPro 2.0 does not yet accept xsvf option (that programs JTAG using a XSVF file). That feature is added in NandPro 3.0, but the NAND-X driver with NandPro 3.0 would not work with Matrix NAND Programmer.<br />
<br />
So I am stuck here. Basically, I would still need to buy a NAND-X or JR Programmer to program the device, or I will have to find some creative way to get it done cheap. I read about the JTAG spec, and it is just four lines which seems to be quite straight forward. Then I found some code about <a href="http://dangerousprototypes.com/docs/Bus_Pirate_JTAG_XSVF_player">playing XSVF</a> through <a href="http://dangerousprototypes.com/docs/Bus_Pirate">Bus Pirate</a>. Bus Pirate is a very useful tool I have always wanted. But it is another <a href="http://www.seeedstudio.com/depot/bus-pirate-v3-assembled-p-609.html?cPath=61_68">$28</a> even though it beats buying CR4 XL. There has to be a better way.<br />
<br />
After some more search, I found this library of writing XSVF files, called <a href="http://www.clifford.at/libxsvf/">libxsvf</a>. It is an open source project that programs XSVF files to an interface that you can provide. That is great. All I need is a bit-banging interface, and I can program the JTAG. I have thought about building a quick bit-banging interface with an AVR processor, or even an Arduino Pro Mini. But I happened do not have an 3.3V Pro Mini at hand, and my Coolrunner seems is marked 3.3V (but I don't have any data sheet on it). The next option is the well used <a href="http://www.ftdichip.com/">FTDI</a> USB-Serial interface, and I happened to have one of such (<a href="https://www.sparkfun.com/products/12731">FT232R Breakout</a>) which can be configured to either 5V or 3.3V. <br />
<br />
Libxsvf comes with the main code compiled into a library and a couple of sample code that uses the library. One of the simple code is using simple GPIO in synchronous mode, the other one uses FT232H's MPSSE in asynchronous mode. My board is a FT232R, it can not use the later one. Oh well, I will just program the FT232R bit-bang as synchronous GPIO then.<br />
<br />
Here come out my compiler and pretty soon I am writing to my Coolrunner. There are a few tricks to get it to run fast enough (mostly dealing with USB latency timers). It is possible to use the asynchronous mode to make it faster, but for the purpose of getting my Xbox 360 to work, that is enough. It takes a couple of minutes to program a 32KB xsvf file.<br />
<br />
The source file of my program is <a href="https://drive.google.com/file/d/0B5BVisYeVZspdV9VZlVQS3JFcEU/view?usp=sharing">xsvf_bang.c</a>. It is based off <a href="http://xsvftool-gpio.c/">xsvftool-gpio.c</a> of libxsvf, and I hope I do get the license right. It needs to be linked to libxsvf (compiled as static library) and ftd2xx.lib (<a href="http://www.ftdichip.com/Drivers/D2XX.htm">download</a> driver from FTDI and extract).<br />
<br />
So after much trouble (all in the name of saving some $40 and having fun), my Coolrunner is ready to work with my Xbox 360.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-4758518230209626549.post-11396247498128493572014-12-12T16:18:00.000-08:002015-10-24T23:19:48.350-07:00Cheap programmer to read/write Xbox 360 NANDIn order to mod the Xbox 360, the first step is being able to read/write the NAND on Xbox 360. Apparent somebody has figured out the JTAG signals on the Xbox 360 board, and there are plenty of JTAG/NAND programmers out there.<br />
<br />
The most common ones at this time is J-R Programmer v2 by <a href="http://team-xecuter.com/">Team Xecuter</a> (at <a href="http://www.modsupplier.com/catalog/xecuter-jr-programmer-v2-p-1040.html">around $27</a> on Internet, plus shipping). There are also v1 version, and also an older programmer called NAND-X. As I always are, I am trying to find the solution to the problem at the lowest cost. On eBay, I found the <a href="http://infinitymod.com/matrixnand.html">Matrix NAND Programmer</a> for around $8 shipped. So that's what I got. (I could go cheaper to build a parallel port adaptor, but that is 30 minutes for each NAND reading. A bit too long.)<br />
<br />
It is now not that straight forward to use it (otherwise where is the fun of it). Here is the tricks that I have figured out to get it working.<br />
<br />
<strong><u>Wiring to Xbox</u></strong><br />
<br />
The Matrix Programmer is an older device that was developed for use around 2011 (that's why it is cheap). The wiring connection is marked as J1D2.1, etc. The "J1D2" part of the mark refers to the connection headers on the Xbox motherboard, and ".1" part refers to pin 1 of the header. Apparently, that is for an older version of the Xbox. I have a Slim and the "J1D2" is now "J2C1", and "J2B1" is now "J2C3". And here is how it looks like connected to my Xbox Slim (Trinity).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdhyphenhyphenNeMyDVNNVrMqU-nBM0_AUKljP4enXy4Vit2AjdNZWm0sRQZpC4OJZPOdFcAdevPSdYZGOSLbRWCHRHxRRXsbj8mpj0p8DRYr5b221k99cresb548kzcEt7Ptil40eqwsndPUrd4jk/s1600/image002%5B1%5D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdhyphenhyphenNeMyDVNNVrMqU-nBM0_AUKljP4enXy4Vit2AjdNZWm0sRQZpC4OJZPOdFcAdevPSdYZGOSLbRWCHRHxRRXsbj8mpj0p8DRYr5b221k99cresb548kzcEt7Ptil40eqwsndPUrd4jk/s1600/image002%5B1%5D.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1VK9X9ThsETS4UPmikthyphenhyphenaONdnmuHj5OWbp3VFjiGE8eSX5k0PhdId45bf8LBCgw8hzf3VJtz7mc9xp7__fe5BIW4b9FibExvIvA-37oc1-Tcb7vMDpbMYq0zJ8FYmYxDv9ScmpGhA9A/s1600/img1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1VK9X9ThsETS4UPmikthyphenhyphenaONdnmuHj5OWbp3VFjiGE8eSX5k0PhdId45bf8LBCgw8hzf3VJtz7mc9xp7__fe5BIW4b9FibExvIvA-37oc1-Tcb7vMDpbMYq0zJ8FYmYxDv9ScmpGhA9A/s1600/img1.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<strong><u>Device Driver</u></strong></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
One software that is commonly used is called NandPro by Team Xecuter (currently at <a href="http://team-xecuter.com/nandpro-v3-0-2/">v3.0</a>). It is a command line tool that comes with a driver folder. However, none of these drivers work. So I searched up and down, and finally I read a post saying that the Matrix Programmer might be compatible with older versions of NandPro, such as 2.0c. The download can be found at <a href="http://dwl.xbox-scene.com/xbox360pc/nandtools/NandPro20c.rar">this link</a>. With the driver in that package, the device install well. And it appears as a "XECUTER NAND-X USB"!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCEVIXKz4M7p39v3HcZJgjkjz75bmwCCJx7byw348DSmvsm_QWdmeOhZwcrHESdv5xDsnCDBfsy9JUkoZvKNPQ1_v8gWv7YQuynP3PPxqnF0c6pS2OKacNlJaTQbxpTB5gBpI8oRrrnuo/s1600/device1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCEVIXKz4M7p39v3HcZJgjkjz75bmwCCJx7byw348DSmvsm_QWdmeOhZwcrHESdv5xDsnCDBfsy9JUkoZvKNPQ1_v8gWv7YQuynP3PPxqnF0c6pS2OKacNlJaTQbxpTB5gBpI8oRrrnuo/s1600/device1.PNG" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<strong><u>Reading NAND</u></strong></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The NAND can be read by the NandPro on commandline. The Trinity has 16M NAND. So the command should be</div>
<blockquote class="tr_bq">
<span style="font-family: "Courier New", Courier, monospace;">nandpro usb: -r16 nand1.bin</span></blockquote>
<div class="separator" style="clear: both; text-align: left;">
But Team Xecuter has a better tool called <a href="http://team-xecuter.com/forums/showthread.php?82434-J-Runner-The-Ultimate-JTAG-RGH-App-*LATEST-DOWNLOAD-HERE*">JRunner</a>. It has a graphic interface and makes everything a lot easier. Better yet, because the Matrix Programmer appears to be imitating NAND-X (as shown below in the red rectangle), it can be used directly with JRunner to read NAND.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxyQjJssmevPhcvPaAdI-sI2IXJAbpM9H50HtbelISIStLN-OVkXpv2_hzGDm2tq4GyufB3MRwB5eWGyyZ0oLtYicPE1r-uY3FOAc4qRkBvSR294Qa2nfb0hQBePTiP6jrta-JE1pU5lE/s1600/jrunner.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxyQjJssmevPhcvPaAdI-sI2IXJAbpM9H50HtbelISIStLN-OVkXpv2_hzGDm2tq4GyufB3MRwB5eWGyyZ0oLtYicPE1r-uY3FOAc4qRkBvSR294Qa2nfb0hQBePTiP6jrta-JE1pU5lE/s1600/jrunner.png" width="320" /></a></div>
<br />
<strong><u>Creating New ECC</u></strong><br />
<br />
With JRunner, creating becomes a simple operation of a click. No more need to install Python and the crypto pack as before.<br />
<br />
<strong><u>Writing NAND</u></strong><br />
<br />
Just when I thought everything is sailing through, writing NAND in JRunner did not work. The operating It maybe because NAND-X has changed the interface. With the ECC generated, I just fall back to the commandline NandPro, and it worked well as intended.<br />
<blockquote class="tr_bq">
<span style="font-family: "Courier New", Courier, monospace;">nandpro usb: +w16 image_00000000.ecc</span></blockquote>
<br />
<br />
Now all we needed is a chip that glitches the CPU.<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
</div>
Unknownnoreply@blogger.com13tag:blogger.com,1999:blog-4758518230209626549.post-2384784159803227742014-12-08T13:58:00.001-08:002014-12-08T13:58:17.352-08:00Run custom code on Xbox 360I have a Xbox 360 slim for 3-4 years, and have played it occasionally. Recently I happened to check about running home brew code on Xbox and it turned out there are some amazing engineering done to enable that.<br />
<br />
The best of that is a hack called "<a href="http://free60.org/wiki/Reset_Glitch_Hack">Reset Glitch</a>". It is discovered by a French guy called <a href="http://gligli360.blogspot.com/">Gligli.</a> The whole process is nothing short of AMAZING. First a glitch was found that by asserting CPU_RST line on the processor the CPU will always return 0 for comparison commands (instead of a full CPU reset). So this way, one can assert the line at the "right moment" when the boot code is performing signature verifications so the verification always passes.<br />
<br />
The keyword is "right moment". But the CPU is running code at hundreds of mega hertz. How do one find the right moment among the millions of instructions that are executed? It turns out there are ways to significantly slow down the CPU clocks, and different ways for different versions of Xboxes as well. For older Xboxes (called FHAT), the way is to assert CPU_PLL_BYPASS. For newer slim Xboxes, it is to change register value on a chip through I2C. I was thoroughly amazed by how people can probe and reverse-engineer all these from a complex black box system.<br />
<br />
Apparently, this has been around for years (since 2011), and I have just learnt it today. I have decided to give it a try.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-1475644607603063392014-11-30T17:27:00.000-08:002014-11-30T17:27:19.309-08:00AVR ISP ExtenderI have played with microprocessors such as PIC and AVR. They both have advantages and disadvantages, and are fun to play with.<br />
<br />
One thing about AVR that I have problem with is the ISP interface. The AVR ISP programmers use a 10-pin (or 6-pin) interface arranged in 5x2 (or 3x2). This is rather bread-board unfriendly. In comparison, the PIC ISP programmers use a 5-pin inline interface, which is much easier to connect. With some time in the weekend, I have decided to build a little board that brings AVR ISP into a more breadboard friendly form. <br />
<br />
There are a few such attempts by other people on the internet. <a href="http://www.instructables.com/id/AVR-ISP-Breadboard-Header/">Here</a> is one that is just expanding the space between the two rows. <a href="https://www.sparkfun.com/products/8508">This</a> is a little circuit board of the same idea from Sparkfun. <a href="http://www.instructables.com/id/AVR-ISP-breadboard-adapter/">This guide</a> makes the circuit board yourself, and I like the way how the pin head is connected to the board.<br />
<br />
This is quite simple, and I have all the connectors I needed. So I decided to get my soldering iron and make one myself just for the fun. Since I will be using a lot of 8-pin ATtiny processors, I decided to add a DIP8 socket so I can easily program those without needing to connect the wires every time. By the way, I found a nice <a href="http://jtxp.org/tech/tinysafeboot_en.htm">compact bootloader</a> that works on ATtiny's, so all I need to do is to burn the bootloader on.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoGnAIgorkYSfp8UtX1OWvQiLmwdObC0zNVaW_b1eeT0TXEYQmlfQD_uvdMcw5HC4cakIcTY1e1SUgwn55v9yZoG6SnJHh2-NjUdfKx4iHYpEJnQgSu-G4bKPWhRJm-FNe2FvrBrGW1_0/s1600/L1000359.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoGnAIgorkYSfp8UtX1OWvQiLmwdObC0zNVaW_b1eeT0TXEYQmlfQD_uvdMcw5HC4cakIcTY1e1SUgwn55v9yZoG6SnJHh2-NjUdfKx4iHYpEJnQgSu-G4bKPWhRJm-FNe2FvrBrGW1_0/s1600/L1000359.JPG" height="240" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuqgAVKZA_gO9zbe3BZwsWKZpuXMoBcyIfkITsiPg5nhnvCQL3ewXzvy6H29bmiFUBZKc3zvx0AiooN3VquDsPlwXijQ-hTD1AOfX04IDSbQVxS9gkWrx8K1h0M-XIiEoTm0nYeqy0bGk/s1600/L1000360.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuqgAVKZA_gO9zbe3BZwsWKZpuXMoBcyIfkITsiPg5nhnvCQL3ewXzvy6H29bmiFUBZKc3zvx0AiooN3VquDsPlwXijQ-hTD1AOfX04IDSbQVxS9gkWrx8K1h0M-XIiEoTm0nYeqy0bGk/s1600/L1000360.JPG" height="227" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
So here is my AVR ISP extender. I tested it by programming a ATtiny chip, and it works well.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
By the way, my pin out is as following:</div>
<ol>
<li><div class="separator" style="clear: both; text-align: left;">
GND</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
VDD</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
MOSI</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
MISO</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
SCK</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
RST</div>
</li>
</ol>
<div class="separator" style="clear: both; text-align: left;">
This is different from most others on the Internet. I also has two rows of inline connectors, one male and one female so it works with both arrangements when I need it.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div align="left" class="separator" style="clear: both; text-align: center;">
</div>
Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-4758518230209626549.post-44060300052548117142014-09-08T19:31:00.000-07:002015-11-15T22:53:41.667-08:00Homemade NASMy old server is getting too slow, and I decided to separate the CIFS file server. There are a few open source NAS software available on the Internet. The most interesting ones are:<br />
<ul>
<li><a href="http://www.freenas.org/">FreeNAS</a>,</li>
<li><a href="http://www.nas4free.org/">NAS4Free</a>,</li>
<li><a href="http://www.openmediavault.org/">OpenMediaVault</a>. </li>
</ul>
The first two (FreeNAS and NAS4Free) are very much related. NAS4Free is forked out of old FreeNAS when they were acquired. They are all based on FreeBSD, and the files system they used is UFS / ZFS. They seem to be well followed and easy to use. But the ZFS really is getting me uncomfortable. ZFS has a lot of nice features, but from what I read it really make one thing I wanted very difficult (or impossible) to do. That is to swap out a hard drive without going into a RAID configuration. This makes it out of question to grow capacity by swapping in larger drives. Although you can always grow by adding drives, but I prefer to replace the older drives when I do that.<br />
<br />
Anyway, along the search I found OpenMediaVault, which is based on Linux. Indeed, it is a package under <a href="http://www.debian.org/">Debian</a> Linux. What I like about it is that it can use LVM (Linux Volume Manager), which can move data between different physical drives within a same volume group. With that, I can put a new larger drive into a group, move data onto it, and then remove the older drive. Another thing I really like about it is that it can be installed on many hardware platforms where Debian is available. For example, I have installed on x86/x64, <a href="http://www.raspberrypi.org/">Raspberry Pi</a> (with <a href="http://www.raspbian.org/">Raspbian</a>, need to follow these special <a href="http://phpbb.openmediavault.org/viewtopic.php?f=12&t=4541&start=10#p39766">instructions</a> at this time 9/2014), and <a href="http://www.globalscaletechnologies.com/t-dreamplugdetails.aspx">DreamPlug</a> (with <a href="http://www.cyrius.com/debian/kirkwood/sheevaplug/install/">Debian</a> and follow standard procedures).<br />
<br />
At this time (September 2014), the installation method of the installation is quite straightforward. The <a href="https://wiki.debian.org/InstallOpenMediaVaultOnDebian">standard procedure</a> is rather straight forward. Now I am off testing it.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-73875256989559388202014-08-09T15:19:00.003-07:002014-08-09T15:19:49.172-07:00Homemade CNC2 (Electronics - Part 2)This blog is actually about a small disaster I have with my home made CNC. And I named it "Electronics - Part 2" because I believed that the problem seems to be with the electronics.<br />
<br />
So I have GRBL controller on the CNC and everything works fine. The next thing I would do is to machine the end piece again for my Y-axis extension. This time I planned to machine it in aluminum. So I got some 5/16" aluminum, and go really slow with it (0.2mm per pass). It took a long time and I was watching the process, and got really bored. So I closed the enclosure and went on to do something else. When I got back to it after a while, I heard that something is wrong. I rushed in, and went for my panic button.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqi7TdNQAL7KPUAOhTufnij0JK8qG6699ZPe36phY_1uLJ9re4cie6N8N8QG3YTfDwBWLxw4T5suqzDG1PJt_Q6r2o1p6jTHN46O05dcFoo-2TkgPOJIDWhvFIFLYcdyNJ5epJT47h0ow/s1600/IMG_1464.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqi7TdNQAL7KPUAOhTufnij0JK8qG6699ZPe36phY_1uLJ9re4cie6N8N8QG3YTfDwBWLxw4T5suqzDG1PJt_Q6r2o1p6jTHN46O05dcFoo-2TkgPOJIDWhvFIFLYcdyNJ5epJT47h0ow/s1600/IMG_1464.JPG" height="240" width="320" /></a>It was bad. The machine goes to some completely weird path. The end mill bits are broken. Not only the work piece is ruined, it gouged a deep mark onto my compound table. In additional, all the alignment of the machine is all thrown off.<br />
<br />
I have been thinking about what went wrong. Eventually I came to a conclusion that this might be an isolation problem with the electronics. The <a href="http://reprap.org/wiki/StepStick">step stick</a> stepper motor driver I am using have both the logic and the driving power supply connected. The noise from the driving power side might get into the processer side and messed with the serial commands. That's just a guess based on logic deduction, and I have no prove for it. That give me an immediate next step work item, that is to build an isolation stage into my controlling electronics.<br />
<br />
This really highlights another important aspect of working with machines and tools - the safety is a very important issue that can not be stressed enough. It was fortunate that I have an enclosure for the CNC, so whatever went wrong stays inside the cage. It is also a great practice to have a panic button that can stop all the machine operations right away. Because when you are at that moment, there is not much logic deduction going on. A pre-defined single safety action (such as pushing one button) would be a great feature to have for any machine.<br />
<br />
For now, I will stay with machining plastic materials and stay watching it all the time during the process.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4758518230209626549.post-68468790115275922372014-08-07T23:22:00.001-07:002014-08-07T23:22:32.926-07:00Hot water get into the cold water pipe - Fixing a crosslinkEver since we moved into our current house, I have noticed that there are hot water in the cold side pipe. Every time when I turn on the cold water, it runs hot for a while before it gets cold. We have been living with it for a few years. But recently it gets worse and worse to the point that I have to waste a lot of water in the shower just for it to get cold enough so I can get in. It is time to roll up the sleeves.<br />
<br />
I started with some research to find out what the problem should be. There are a lot of causes, and nothing points to a clear direction. I went around the house opening and closing the valves under the sinks and faucets, but can not figure out what gives. Then all the sudden, an idea comes to my mind: why don't I shut off the valve of the hot water altogether (you can not shut off the cold water, which will shut off everything), and see if there are still hot water coming out of the faucet. Sure enough, it did. There we go, there is a crosslink between the hot and cold sides. <br />
<br />
But where is that crosslink in the whole house? It took me some more research and thinking to figure out the method to locate it. But here is what I learned and want to share. There is only a few places in the house where hot water meets cold water. Most faucets have separate hot/cold valves, so you can easily eliminate them. Washing machines and dishwashers can also be easily ruled out too. The culprit is usually the shower where the hot and cold water are mixed together.<br />
<br />
To make things complicated, there is usually no easy way to turn off water supply to a shower (of course you can turn off the shower, but that does not show anything). So how do you locate the crosslink? Here is the trick: by listening. Shut off the hot main supply, and run hot water in a faucet. As we said earlier, if there is no crosslink, there should be no hot water from faucet. A running hot faucet with hot water main supply turned off indicates water coming from cold side through the crosslink. Now going around the house listening to the sound of water rushing through the crosslink. It can then be located.<br />
<br />
The crosslink in our house is at one of the showers downstairs. I opened it up, and disassembled the thermostat knob. It looked a bit rusty but nothing seems broken. What is strange is that I can not figure out how the water would NOT crosslink. The thermostat is mixing the cold and hot. Further more, replacing all the rubber seals does not seem to fix the problem.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3FQjLYIFwWdR1OfJ4bmsDYl8wFZNTf469r06E5poLaEAHkXwjfsvR_JD8E1fh1C7N5aAucuqRnZcDmBjOsZeGAMTNe0C3lFnrU2BB7VJvG6WKTTQUlugRvSwDyFa-SPZrD-7maeTB6t0/s1600/IMG_1523.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3FQjLYIFwWdR1OfJ4bmsDYl8wFZNTf469r06E5poLaEAHkXwjfsvR_JD8E1fh1C7N5aAucuqRnZcDmBjOsZeGAMTNe0C3lFnrU2BB7VJvG6WKTTQUlugRvSwDyFa-SPZrD-7maeTB6t0/s1600/IMG_1523.JPG" height="240" width="320" /></a>A further research and check found that I have missed the real piece on the shower that keeps the hot and cold separate. It is called "check valves" or "no-return valves". On the Grohe shower we have, it is on both sides of the thermostat mixing chamber. Taking them out found that they are indeed broken and with a lot of hard black stuff grown on the valves.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCoFiS5JGXXV52d6d3zZPXrhvIwdHLrpVCcjSiH_Z8wE8dmqykFfC2My6VxrFsfKwWRIDjFvg1ed8enCNfDY6FP-wH-a3lR8sO1PtoQJFkfsHIkznE6og6LleGf73AZDUGbwPfnUurm_U/s1600/IMG_1522.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCoFiS5JGXXV52d6d3zZPXrhvIwdHLrpVCcjSiH_Z8wE8dmqykFfC2My6VxrFsfKwWRIDjFvg1ed8enCNfDY6FP-wH-a3lR8sO1PtoQJFkfsHIkznE6og6LleGf73AZDUGbwPfnUurm_U/s1600/IMG_1522.JPG" height="240" width="320" /></a>The rest is easy. Go on Internet, find the part diagram for the shower we have (Grohe AquaTower 2000 - 27018000). From there, get the part number (1411600M). Then do an Internet search on it. I found the best deal on Amazon. The parts looks a bit different from the ones I have, but I think it should work. (Some plumbing stores do sell parts with<br />
the same part number but looks exactly the same as what I have, but at a higher price). By the way, the parts come in pairs so I just need to order one of 1411600M.<br />
<br />
The valves arrived in a week. I have them installed. And a test shows that now I have zero crosslink.<br />
Unknownnoreply@blogger.com0