<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Joey Hagedorn</title>
    <description>Joey Hagedorn is a software engineer in Palo Alto, CA. He builds electronics, software, and laser projects in his spare time.
</description>
    <link>https://www.joeyhagedorn.com/</link>
    <atom:link href="https://www.joeyhagedorn.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Fri, 06 Jun 2025 10:14:13 -0700</pubDate>
    <lastBuildDate>Fri, 06 Jun 2025 10:14:13 -0700</lastBuildDate>
    <generator>Jekyll v4.3.1</generator>
    
      <item>
        <title>How I fixed my 30 year old standing desk</title>
        <description>&lt;p&gt;These days standing desks aren't uncommon, but in the late 90's I had never heard of such a thing. My dad picked up a few surplus Steelcase Dyna-Lift standing desks, and I've been lucky to use one ever since! My trusty desk followed me across the country to California, and held my iMac in my apartment in San Francisco for a decade before finally moving with me to Palo Alto in 2020. Unfortunately it didn't survive that final move, for as soon after I loaded it up with my usual desk accessories one side sank down towards the floor…and it was apparently leaking oil?!&lt;/p&gt;

&lt;p&gt;While working at home during the pandemic a desk was critical and they were in short supply. Besides, having traveled with me for so many years, of course I was going to fix it. Here's how I did it:&lt;/p&gt;

&lt;h3&gt;Background &amp; Investigation&lt;/h3&gt;

&lt;p&gt;The desk uses a hydraulic lift system that consists of a hand-cranked pump unit that contains two pistons directly coupled to hydraulic rams in the leg assemblies, which is what needed repair. At first I didn't have much to go on other than a model number sticker on the bottom of the desk. I emailed Steelcase with reference to &lt;tt&gt;QMSM3048R&lt;/tt&gt; but didn't get any answer back. After some exploratory disassembly (later I discovered that I took it apart in the wrong order), I discovered a Monach Hydraulics &quot;Dyna-Lift&quot; sticker on the side of the pump unit. Some internet searching led me to discover that &lt;a href=&quot;http://www.monarchhyd.com&quot;&gt;Monarch Hydraulics&lt;/a&gt; is now part of &lt;a href=&quot;https://www.bucherhydraulics.com/&quot;&gt;Bucher Hydraulics&lt;/a&gt;, which still produces the &lt;a href=&quot;https://www.bucherhydraulics.com/en/products/system-solutions/dyna-lift/products&quot;&gt;Dyna-Lift&lt;/a&gt; product line! One more email. The team was extremely kind and helpful—even locating the folks that worked on this contract-manufacturing run decades ago—but they simply didn't have the technical or repair information anymore which I needed to source the correct parts and instructions for repair.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0212.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0212_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Precarious Disassembly&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0253.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0253_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Steelcase Label&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0245.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0245_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Check out that Monarch logo&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/center&gt;&lt;/div&gt;

&lt;p&gt;Without much to confirm either way, I had to simply hope that the design of the system hadn't changed much and that the &quot;custom&quot; designed parts Steelcase were more-or-less the same as the commercially available Dyna-Lift systems still being sold today. I ordered a &lt;a href=&quot;https://store.masondynamics.com/Monarch-Hydraulics-Dyna-Lift-Recharge-Kit-DH-16000/item/DH-16000&quot;&gt;DH-16000 Recharge Kit&lt;/a&gt; and a &lt;a href=&quot;https://store.masondynamics.com/Monarch-Hydraulics-Dyna-Lift-Repacking-Kit-DH-16101/item/DH-16101&quot;&gt;DH-16101 Repacking Kit&lt;/a&gt; from Mason Dynamics, and was ready to make a mess with they hydraulic system rebuild.&lt;/p&gt;

&lt;div class=&quot;photo-right-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0220.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0220_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Leaky Ram&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I was able to remove the complete hydraulic system from the desk, take everything out to the garage, and carefully start disassembly. The kit came with very helpful instructions for &lt;a href=&quot;/media/downloads/DynaLift/Dyna-Lift-Repacking-Instructions-Scan.pdf&quot;&gt;repacking&lt;/a&gt; and &lt;a href=&quot;/media/downloads/DynaLift/Dyna-Lift-Recharge-Instructions-Scan.pdf&quot;&gt;recharge&lt;/a&gt; (and I found some more &lt;a href=&quot;/media/downloads/DynaLift/dynaliftapguide-standmanl_500-i-000045-en.pdf&quot;&gt;related&lt;/a&gt; &lt;a href=&quot;/media/downloads/DynaLift/dynaliftapguide-tla_500-i-000046-en.pdf&quot;&gt;documents&lt;/a&gt; online), and thought I had a pretty good idea of what needed to be done. I found this part fascinating, having never worked on a hydraulic system before. Unfortunately, the parts that came in the kit just weren't the right size for the system I had in pieces in front of me.&lt;/p&gt;
&lt;p&gt; &amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;photo-center-aligned&quot;&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0214.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0214_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Cylinder Cap and Crumbling Seal&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0391.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0391_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Old Seal and Incorrect New Seal&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0392.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0392_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Strewn Parts&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/center&gt;&lt;/div&gt;


&lt;div class=&quot;photo-right-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/SealDimensions.png&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/SealDimensions_320_thumb.png&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Dimensions&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I had managed to pry out the seals and &lt;a href=&quot;https://www.mscdirect.com/product/details/09260241&quot;&gt;O-rings in the pump&lt;/a&gt; and &lt;a href=&quot;https://www.mscdirect.com/product/details/09260191&quot;&gt;cylinders&lt;/a&gt;. As they fell apart in my hands it was quite clear what the problem was—but sourcing these replacement hydraulic seals was a big challenge. I was able to order some suitable O-rings from MSC, but was still completely unable to find the seals I needed. I spent a week second guessing my caliper-measurements before finally identifying &lt;a href=&quot;https://www.maxxhyd.com&quot;&gt;Maxx Hydraulics&lt;/a&gt; as a supplier that could custom-make the seals I needed. I emailed asking for a quote, confirmed the purchase the next day, and had them in hand by the end of the week.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/SealOrder.png&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-big-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/SealOrder_960_thumb.png&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Pump and Cylinder Seal Specifications&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/center&gt;&lt;/div&gt;


&lt;h3&gt;The Repair&lt;/h3&gt;

&lt;p&gt;Once I had all the supplies needed, the hydraulic service was reasonably straightforward to carry out and documented perfectly well in the &lt;a href=&quot;/media/downloads/DynaLift/Dyna-Lift-Repacking-Instructions-Scan.pdf&quot;&gt;repacking&lt;/a&gt; and &lt;a href=&quot;/media/downloads/DynaLift/Dyna-Lift-Recharge-Instructions-Scan.pdf&quot;&gt;recharge&lt;/a&gt; instructions. That said, there were a few lessons learned along the way:&lt;/p&gt;

&lt;div class=&quot;photo-right-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_4715.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_4715_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Releasing Brake&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It wasn't completely necessary to disassemble the leg units from the desk in order to remove the hydraulic cylinders. I guess it was useful to really clean out all of the oil residue that had drained into the leg, but aside from that, the hydraulics could be removed from the desk by retracting the cylinders, lifting the desk to the maximum height, and pulling the clips out to release the cylinders. There &lt;i&gt;is&lt;/i&gt; a little bit of a trick to it though—in order to make it possible to carry the desk around, there is a brake mechanism that prevents the leg assemblies from falling to the ground when the desk is lifted by the work-surface. It is necessary to push down on the white plastic bracket inside the leg while lifting the top in order to release the brake and fully lift the desk.&lt;/p&gt;

&lt;p&gt;I probably should have used new fittings, or at least applied fresh thread sealant to the hydraulic connections. Subsequent to the repair I experienced a little bit of oil seepage in the following week, so I just tightened up the brass fittings a bit more, but suspect there's an appropriate sealant to use here. The only parts I could use from the recharge kit ended up being the Molykote mineral oil itself, and the handy squirt bottle to fill the pump. The included plastic tubing was the wrong diameter, and I couldn't figure out how to remove the ferrules from the tubes—perhaps it is necessary to cut them off? So, I didn't install new ferrules and unthreaded the right-angle fittings going out of the pump, which I suspect was the source of the seepage.&lt;/p&gt;

&lt;p&gt;While the instructions were invaluable, the recharge and repacking kits weren't what I needed for this old desk. The &lt;a href=&quot;/media/downloads/DynaLift/MSDS_MOLYKOTE_L_0532FG_Multi_purpose_Light_Oil_eng.pdf&quot;&gt;Molykote L-0532FG Multi-Purpose Light Oil MSDS&lt;/a&gt; indicates it is 99% White mineral oil (CAS &lt;a href=&quot;https://echa.europa.eu/nl/substance-information/-/substanceinfo/100.029.500&quot;&gt;8042-47-5&lt;/a&gt;), and given that the seals degraded so much and I rarely adjust the height of the desk—I'm not sure I'd make the same choice in the future.&lt;/p&gt;

&lt;p&gt;I never did find the exact replacements for the plastic clips to secure the hoses to the bottom of the desk surface, but the ones I &lt;a href=&quot;https://www.digikey.com/en/products/detail/151-01166/1436-2440-ND/9957223&quot;&gt;found on DigiKey&lt;/a&gt; were awfully close.&lt;/p&gt;

&lt;!--TODO: Just link to DIGIKEY, the O-Rings, and finish these captions!--&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0217.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0217_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0392_2.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0392_2_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0394.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0394_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0395.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0395_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0963.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0963_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0964.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_0964_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_3832.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_3832_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_3833.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_3833_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_3835.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_3835_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_3836.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot; data-title=&quot;Ignoring that I look concerned/startled in this photo, the red arrow points to a hole where a screwdriver can be inserted to hold the desk at it's maximum height with the hydraulics removed. The completed hydraulics package is about to be re-installed, after retracting the rams.
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_3836_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_4712.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_4712_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_4716.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/SteelcaseDesk&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/SteelcaseDesk/IMG_4716_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/center&gt;&lt;/div&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;Overall, I'm happy to have one more vintage repair in the books. While nearly there, it didn't quite come out perfectly. Aside from the initial seepage (which was easily fixed), there remains some slip-stick juddering on one side when I operate the crank to raise and lower the desk. I assume this comes from me getting the dimensions or material wrong on the seals—or perhaps some residual air in the system. It took few months to get everything together and actually carry out the fix, but it's great to have the desk back and I hope it lasts another couple of decades. :)&lt;/p&gt;
</description>
        <pubDate>Thu, 08 May 2025 13:00:00 -0700</pubDate>
        <link>https://www.joeyhagedorn.com/2025/05/08/steelcase-desk-repair.html</link>
        <guid isPermaLink="true">https://www.joeyhagedorn.com/2025/05/08/steelcase-desk-repair.html</guid>
        
        
      </item>
    
      <item>
        <title>Adventures with Parasitic Battery Drain</title>
        <description>&lt;p&gt;My BMW E46 M3 is turning 20 next year. Given how few miles I put on it each year, and how sentimentally attached I am to it, I'm not yet ready to trade it for something new. I take pride in maintenance but it comes as no surprise that a few issues come up from time to time with a car of this age. I have a &lt;a href=&quot;https://edgemw.co&quot;&gt;great shop&lt;/a&gt; that handles the core of the maintenance and repairs, do as many of the smaller fixes and preventative replacements as I can find time for myself, and have a pretty good track record of keeping this contemporary classic in good working condition.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_3023.JPG&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;e46 M3 in the parking lot of Candle Stick Park, during a Car Control Clinic in 2013
&quot;&gt;&lt;img class=&quot;image-big-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_3023_960_thumb.JPG&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;e46 M3 Competition Package in 2013&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3&gt;Dead Batteries&lt;/h3&gt;
&lt;p&gt;The first time I found the battery dead a couple of years ago I assumed it was some kind of fluke, maybe I left the car unlocked or the trunk wasn’t latched. This was an incorrect assumption—there’s always a reason. It happened a couple more times before it became clear to me there was a real malfunction. Searching online, there are reams and reams of forum posts that describe various different causes of battery drain, including the famed faulty Final Stage Resistor (FSR), or a malfunctioning Navigation Computer or Telematics Control Unit (TCU). It's also common to just replace the battery. In general there were lots of folks that either confidently suggested a cause, or suggested a procedure for using a multimeter and pulling fuses to watch for a change in idle draw current that would immediately lead to a fix. Many of those threads ended up with the original poster buying a battery tender to keep the charge up—or even selling the car.&lt;/p&gt;

&lt;p&gt;It was tricky to ask my mechanic to investigate this one since it was so sporadic. The issue might not happen when they had the car, and I didn't want to be without it for a long period of time. In the last 6 months or so, I noticed an increased incidence of the car either having a dead battery (maybe 2 times this spring) or a clearly depleted battery in the morning, where the starter motor sounded under strain and lights dimmed. This made me determined to find a root cause myself, and it seemed just like the kind of thing I could handle.&lt;/p&gt;

&lt;p&gt;I started by following the lore of the forums; swap out the FSR (probably a good preventative measure), try ejecting the navigation DVD, unplug my phone charger… but eventually I realized a more systematic engineering approach was not only possible, but the only way to be confident in identifying the root cause. It would end up requiring a more advanced technique than the “watch the meter and pull fuses” approach I’ve seen described so many places.&lt;/p&gt;

&lt;h3&gt;Continuous Current Monitoring&lt;/h3&gt;
&lt;div class=&quot;photo-right-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/SmartShunt.png&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Product photo of SmartShunt
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/SmartShunt_320_thumb.png&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Smart Shunt&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The first step was identifying exactly how the battery was ending up discharged. The symptoms were inconsistent, a couple of times the battery was dead after sitting for a few days, but other days it was completely fine after the same duration. I also observed a sluggish starter motor at times—and the engine surging a bit after starting up. The last symptom I didn’t initially connect to a battery issue, but eventually I learned that when the car starts and the battery is significantly discharged, the alternator charges it at a relatively high current just after starting the engine and that extra load can impact engine idle.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/SmartShuntBatteryCable.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;SmartShunt installed in battery well of car with modified lug on battery cable and short jumper to chassis.
&quot;&gt;&lt;img class=&quot;image-big-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/SmartShuntBatteryCable_960_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Shunt installed in battery well with modified cable lug&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In order to get a comprehensive picture, I invested in a Victron &lt;a href=&quot;https://www.victronenergy.com/battery-monitors/smart-battery-shunt&quot;&gt;SmartShunt&lt;/a&gt; because it supports continuous data logging without too much effort, and seemed to have a great API to dig deeper. I bought a spare negative battery cable on eBay so I could modify the lug to attach to the shunt, and another short jumper to connect to the body ground. This ended up being a great hardware solution to leave connected--no fuss of trying to hookup of my oscilloscope and current probe when I get home each day.&lt;/p&gt;
&lt;p&gt;The VictronConnect app leaves a little bit to be desired. I really like the “Trends” graphing feature, but it isn’t available unless actively connected via Bluetooth, and there’s currently no way to export the trends data to something like CSV.&lt;/p&gt;

&lt;div class=&quot;photo-right-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/periodic-500ma-drain-cropped.PNG&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Regular periodic drain of approximately 500mA in the VictronConnect app
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/periodic-500ma-drain-cropped_320_thumb.PNG&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Periodic 500ma drain&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Despite these shortcomings, it clearly showed there was some current usage while I was away from the car. Several places online suggested that it should go to sleep after 16 minutes, and power draw should be no more than a few mA. I observed regular current draw at 15 minute intervals, but they'd eventualy stop. I was happy to find this &lt;a href=&quot;https://static.nhtsa.gov/odi/tsbs/2015/MC-10147825-9999.pdf&quot;&gt;Service Information Bulletin&lt;/a&gt; on NHTSA's website which, in addition to confirming the spec for idle current draw of &lt;i&gt;40 milliamps after 16 minutes&lt;/i&gt; for E46 cars, described the 15-minute periodic drain issue:&lt;/p&gt;
&lt;blockquote&gt;
Note: On 2005 MY vehicles equipped with BMW ASSIST, there are additional current fluctuations as high as 500ma that last for approximately 2 minutes. The fluctuations occur every 15 minutes for up to 14 hours after key off. This is considered normal operation of the TCU, and should not be considered a fault. This also applies to 2005 TCUs that are installed into earlier production vehicles as replacement parts.
&lt;/blockquote&gt;
&lt;div class=&quot;photo-left-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/sporadic-1.5a-drain-cropped.PNG&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Sporadic drain of approximately 1.4A as well as periodic drain of 500mA in the VictronConnect app
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/sporadic-1.5a-drain-cropped_320_thumb.PNG&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Sporadic 1.5A drain&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;While a slightly disappointing discovery for &quot;normal operation&quot;, it didn't seem to explain the drain issue I was encountering. Armed with this additional knowledge, I looked more carefully at the graphs in the VictronConnect app and found something more interesting; some of the current usage events exceeded the 500ma expected from the TCU and they occurred sporadically.&lt;/p&gt;

&lt;h3&gt;Zeroing in on the fault - Finding the Fuse&lt;/h3&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/2005-e46m3-fuse-card.png&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Fuse Index Card from my e46 2005 BMW M3 Competition Package. BMW Part Number: 6 953 026.9
&quot;&gt;&lt;img class=&quot;image-big-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/2005-e46m3-fuse-card_960_thumb.png&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Fuse directory card from my 2005 e46 M3&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Identifying the circuit causing this excessive draw was the obvious next step. I had a clever idea to monitor the current draw and get notified on my phone with a push notification when the issue was reproducing so I could quickly head out there and pull a fuse. My plan was to leave the door latched but ajar, wait for a notification that current draw exceeded 1.2A, and run out there to see if I could either measure a small voltage across a particular fuse—or pull one and see the excess draw drop to zero.&lt;/p&gt;

&lt;p&gt;The SmartShunt has a bunch of great APIs for extracting data. I love that they've published both a specification for accessing info via the &lt;a href=&quot;https://community.victronenergy.com/questions/93919/victron-bluetooth-ble-protocol-publication.html?page=2&amp;pageSize=10&amp;sort=oldest&quot;&gt;Bluetooth GATT Protocol&lt;/a&gt;, a well as another describing how to extract the (encrypted) info from extended manufacturer data in &lt;a href=&quot;https://community.victronenergy.com/questions/187303/victron-bluetooth-advertising-protocol.html&quot;&gt;Bluetooth Advertising Beacon Protocol&lt;/a&gt;, which allows collecting data without even being connected to the device.&lt;/p&gt;

&lt;p&gt;Fortunately I was well prepared to start collecting this data since I monitor a bunch of data about my home using &lt;a href=&quot;https://www.influxdata.com/products/influxdb/&quot;&gt;InfluxDB 2.x&lt;/a&gt;, &lt;a href=&quot;https://grafana.com/oss/grafana/&quot;&gt;Grafana&lt;/a&gt;, and an assortment of homegrown hardware and Python scripts to read sensor data. That made it easy to write a simple script I could leave running on a spare Raspberry Pi to collect the advertisement data from the SmartShunt and both explore it using Grafana, as well as setup some notifications (via &lt;a href=&quot;https://pushover.net&quot;&gt;Pushover&lt;/a&gt;) to encourage me to head out there while the car was reproducing the issue. The script is nothing special, I just grabbed some BLE scanner code from this &lt;a href=&quot;https://stackoverflow.com/questions/69657870/python-bleak-scan-for-advertisements-and-exit-event-loop&quot;&gt;Stack Overflow post&lt;/a&gt;, used the &lt;a href=&quot;https://github.com/keshavdv/victron-ble&quot;&gt;victron_ble&lt;/a&gt; library to parse it, then used the &lt;a href=&quot;https://github.com/influxdata/influxdb-client-python&quot;&gt;influxdb-client&lt;/a&gt; library to ingest the data to InfluxDB. I also found some &lt;a href=&quot;https://github.com/birdie1/victron?tab=readme-ov-file&quot;turn-key solutions&lt;/a&gt; that used MQTT but found it easier to just write to InfluxDB directly in my own custom script.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/PoE_RpI_Collection.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Ethernet cable terminating in a box that contains a Raspberry Pi with PoE shield capturing Bluetooth Advertising broadcasts containing battery consumption info.&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/PoE_RpI_Collection_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;RPi collecting Bluetooth pings&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/Grafana_Draw.png&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;This screenshot of Grafana shows a nubmer of current draw events over a period of several hours. Some sporadically timed events exceed 1.5A overlayed on what appears to be a more periodic 500mA set of current draw events.
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/Grafana_Draw_320_thumb.png&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Grafana current draw chart&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/Grafana_Draw_Alarms.png&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;This chart shows current draw. The red dashed vertical lines show the beginning of an alarm period (where current draw is greater than 1.4A), and the green dashed lines show when the period of ending. There is a little delay between the actual event and the alarm activation due to the Grafana alarm configuration.
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/Grafana_Draw_Alarms_320_thumb.png&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Grafana alerting &amp;gt;1.2A&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/center&gt;&lt;/div&gt;

&lt;p&gt;While a key motivation for the data logging was push notifications, the visualization afforded by Grafana was dramatically better than that provided by the VictronConnect app. Unfortunately, this idea to run out to the car when the drain was happening didn't work. I saw the notification several of times, but didn't manage to quite get to a place where I had enough time to start pulling fuses or measuring voltage drop.&lt;/p&gt;
&lt;p&gt;Once I had this high quality data logging, a variety of other options opened up. I had found &lt;a href=&quot;https://automotivetechinfo.com/2013/09/advanced-bmw-parasitic-battery-draw-diagnostics/&quot;&gt;one story&lt;/a&gt; of using a thermal camera to zone in on whichever circuit was causing the issue, so I gave that a go.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/flir-thermal.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;FLIR thermal image of fuse box doesn't clearly show any particularly warm fuses.
&quot;&gt;&lt;img class=&quot;image-big-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/flir-thermal_960_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;FLIR thermal image of fuse box&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The idea here is that since a fuse has some resistance, any current running through it will cause a voltage drop and heat up ever so slightly. I've got an old FLIR One thermal imager which I setup pointed at the fuse box, started recording, and went to bed for the night. When I woke up I had collected an hours-long video of the whole fuse box. My logging showed that several current-draw events occurred overnight—but the video didn't really show any fuses warming up. I suspect it was too low of draw for too short of time to show up on this low-res recording. Back to the drawing board.&lt;/p&gt;

&lt;p&gt;I finally gave in started the arduous task of pulling fuses overnight. I'd identify a suspect circuit, pull the fuse, and then checked out the current draw records in the morning. I was spending a lot time reading the Bentley service manual and various found technical documents around this time to try to understand how the various systems in the car went together.&lt;/a&gt;

&lt;div style=&quot;overflow-x: scroll;&quot;&gt;
&lt;table class=&quot;data-table&quot;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Fuses Removed&lt;/th&gt;&lt;th&gt;Circuit Description&lt;/th&gt;&lt;th&gt;Start&lt;/th&gt;&lt;th&gt;Stop&lt;/th&gt;&lt;th&gt;Drain Observed&lt;/th&gt;&lt;th&gt;Details&lt;/th&gt;&lt;th&gt;Notes&lt;/th&gt;&lt;th&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;-1.5A&lt;/td&gt;&lt;td&gt;Initial no fuses removed condition, observed several times&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7, 39&lt;/td&gt;&lt;td&gt;Telephone&lt;/td&gt;&lt;td&gt;5/20/24 8:00 PM&lt;/td&gt;&lt;td&gt;5/21/24 9:25 AM&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;-0.95A&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7, 41&lt;/td&gt;&lt;td&gt;Navigation&lt;/td&gt;&lt;td&gt;5/21/24 6:58 PM&lt;/td&gt;&lt;td&gt;5/23/24 10:15 AM&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;-0.85A&lt;/td&gt;&lt;td&gt;Seems like various different components are causing drain—suspect bus traffic is waking everything up.&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;14, 67&lt;/td&gt;&lt;td&gt;Immobilizer&lt;/td&gt;&lt;td&gt;5/23/24 6:50 PM&lt;/td&gt;&lt;td&gt;5/26/24 12:05 PM&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;-1.5A&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;10, 34, 43&lt;/td&gt;&lt;td&gt;Instrument Cluster&lt;/td&gt;&lt;td&gt;5/26/24 12:05 PM&lt;/td&gt;&lt;td&gt;5/27/24 10:21 AM&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;-1.5A&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;9, 32&lt;/td&gt;&lt;td&gt;Light Module&lt;/td&gt;&lt;td&gt;5/27/24 2:12 AM&lt;/td&gt;&lt;td&gt;5/28/24 9:05 AM&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Suspect monitoring period too short. Try again&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;9, 32&lt;/td&gt;&lt;td&gt;Light Module&lt;/td&gt;&lt;td&gt;5/28/24 6:40 PM&lt;/td&gt;&lt;td&gt;5/30/24 1:13 PM&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;-1.5A&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;24&lt;/td&gt;&lt;td&gt;Parking aid&lt;/td&gt;&lt;td&gt;5/31/24 8:53 AM&lt;/td&gt;&lt;td&gt;5/31/24 6:31 PM&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;-1.5A&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;49&lt;/td&gt;&lt;td&gt;General Module&lt;/td&gt;&lt;td&gt;5/31/24 6:33 PM&lt;/td&gt;&lt;td&gt;6/3/24 9:26 AM&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;No sustained drain but little flickers of current draw&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;6/3/24 9:26 AM&lt;/td&gt;&lt;td&gt;6/4/24 6:56 PM&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;-1.5A&lt;/td&gt;&lt;td&gt;Double check&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;49&lt;/td&gt;&lt;td&gt;General Module&lt;/td&gt;&lt;td&gt;6/4/24 6:56 PM&lt;/td&gt;&lt;td&gt;6/6/24 10:50 AM&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Bingo: Circuit 49 - General Module&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;

&lt;p&gt;These first few fuse pulls were very interesting! After disconnecting the TCU and Navigation circuits I saw the current drain was reduced, but not eliminated. I hypothesized here that the car was &quot;waking up&quot; due to some signal, and these other accessories were just behaving normally by drawing some power for some fixed amount of time before going back to sleep. After this, I focused my investigation to other components on the &lt;a href=&quot;https://ia801005.us.archive.org/11/items/BMWTechnicalTrainingDocuments/ST052%20Body%20Electronics%20II/03a_E46%20Power%20Supply%20and%20Bus%20Systems.pdf&quot;&gt;K-Bus&lt;/a&gt;. Eventually this process led to the descriptively named &quot;General Module&quot;, which appeared to be the instigator of all this trouble.&lt;/p&gt;

&lt;h3&gt;Deeper Investigation - K-Bus Traffic Analysis &lt;/h3&gt;
&lt;p&gt;While it was satisfying to get as far as identifying the circuit—the particular module was itself quite frustrating, since the General Module controls a variety of things and has a number of sensor inputs. I found a website devoted to &lt;a href=&quot;https://www.bmwgm5.com&quot;&gt;fixing failed General Modules&lt;/a&gt; which had a bunch of great diagnostic tips, but symptoms of the common bad relay failure didn't quite line up with what I was observing. Eventually I decided that to further test my theory about a device on the bus waking everything up, I needed more specific information about what that message was. I had previously been interested in the I/K-Bus, so I had a &lt;a href=&quot;http://www.reslers.de/IBUS/index.html&quot;&gt;Resler IBUS interface&lt;/a&gt; on hand—but had never taken it out of the package. The time had come to hook it up and start sniffing bus traffic.&lt;/p&gt;

&lt;p&gt;I'd always hesitated to hack up my car's wiring harness just to get some cool stats and poke around. I found many sources indicating what color wires I should splice into, or a particular pin to remove on the back of my radio—but I wanted something easily reversable. It turns out, there's a 3-pin connector that is used to connect a variety of devices to the K-Bus, including the DVD Navigation unit and other less commonly fit accessories such as Sirius Radio. It took some investigation to discover the details, but essentially BMW uses connectors from TE Connectivity for these bus connections on the E46, specifically the &quot;MQS&quot; series or &lt;a href=&quot;https://www.te.com/en/products/connectors/automotive-connectors/intersection/mqs.html?tab=pgp-story&quot;&gt;Micro Quadlok System&lt;/a&gt;. This family includes nearly 20,000 parts, but the the particular ones we're interested in here consist of a &lt;a href=&quot;https://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/1-1718346-1/10478109&quot;&gt;Plug&lt;/a&gt; (&lt;a href=&quot;https://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&amp;DocNm=1718346&amp;DocType=Customer+Drawing&amp;DocLang=English&amp;PartCntxt=1-1718346-1&amp;DocFormat=pdf&quot;&gt;drawing&lt;/a&gt;) and
&lt;a href=&quot;https://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/1-968700-1/2328974&quot;&gt;Socket&lt;/a&gt; (&lt;a href=&quot;https://www.te.com/commerce/DocumentDelivery/DDEController?Action=showdoc&amp;DocId=Customer+Drawing%7F968700%7FB4%7Fpdf%7FEnglish%7FENG_CD_968700_B4.pdf%7F1-968700-1&quot;&gt;drawing&lt;/a&gt;). I ended up purchasing some kit on Amazon that included a couple of sets of plugs, sockets, and critically the matching pins. This whole assembly plugged in nicely to a spare plug in the equipment rack in the back.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2115.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Wiring harness attached to the Resler IBUS interface. The 3-pin MQS connectors are wired such that this can be inserted between the car's wiring harness and an accessory device such as the DVD Navigation system or Sirius radio without permanent modification to the car's wiring harness.
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2115_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Resler interface harness&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2116.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Closeup of 3 pin MQS plug
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2116_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;MQS plug&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2117.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Closeup of 3 pin MQS socket
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2117_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;MQS socket&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2119.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Closeup of the particular K-Bus connector in the trunk equipment rack to which I connected the IBUS interface.
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2119_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;K-Bus plug in trunk&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2121.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Trunk of car containing Raspberry Pi (powered via PoE), external SENA UD100 Bluetooth dongle (for better range), Resler IBUS Interface, and iPad connected via SSH viewing K-Bus logs from Raspberry Pi.
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2121_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;RPi monitoring K-Bus&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2123.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;M3 with ethernet cable &quot;umbilical&quot; connected under car cover in driveway.
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2123_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Jacked into the Matrix&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/center&gt;&lt;/div&gt;

&lt;p&gt;That Raspberry Pi I had earlier employed to capture current information now had an additional duty of capturing K-Bus data. I used a flat ethernet cable to extend the PoE into the trunk, plugged the Resler interface into a USB port. Once the hardware was squared away, I needed to find some software to start logging packets on the K-Bus. The most straightforward piece of software I could find to do this was &lt;a href=&quot;https://github.com/karis79/bmw-ibus&quot;&gt;bmw-ibus daemon&lt;/a&gt;, a compact bit of C code written more than a decade prior. I needed to hack it up a bit, as the original intent seems to have been to control an in-car media system, but with just a &lt;a href=&quot;/media/downloads/bmw-ibus-hacks.diff&quot;&gt;couple of lines patched&lt;/a&gt;, I had a reliable logging tool without a bunch of dependencies.&lt;/a&gt;

&lt;p&gt;I ran the tool in a a screen session, and it provided output like the following:&lt;/p&gt;
&lt;pre&gt;&lt;small&gt;1717996329.304601:  00 04 bf 0200 b9 = Body module SENT Device status ready TO Global, broadcast address DATA:0x00
1717996329.315563:  00 05 bf 7a300c fc = Body module SENT Doors/windows status TO Global, broadcast address DATA:00x0c
1717996329.325127:  80 04 bf 0200 39 = Instrument cluster electronics SENT Device status ready TO Global, broadcast address DATA:0x00
1717996329.333947:  80 04 bf 1100 2a = Instrument cluster electronics SENT Ignition status TO Global, broadcast address DATA:0x00
1717996329.418415:  f0 0b 68 390002000100010100 a9 = On-board monitor operating part SENT CD status TO Radio DATA:0x00 0x02 0x00 0x01 0x00 0x01 0x01 0x00
1717996329.716831:  f0 04 bf 0270 39 = On-board monitor operating part SENT Device status ready TO Global, broadcast address DATA:p
1717996329.729145:  80 04 bf 1100 2a = Instrument cluster electronics SENT Ignition status TO Global, broadcast address DATA:0x00
&amp;lt;SNIP/&amp;gt;
1717996330.390878:  80 04 bf 1100 2a = Instrument cluster electronics SENT Ignition status TO Global, broadcast address DATA:0x00
1717996330.752628:  00 05 bf 7a304c bc = Body module SENT Doors/windows status TO Global, broadcast address DATA:0L
1717996330.813473:  00 05 bf 7a300c fc = Body module SENT Doors/windows status TO Global, broadcast address DATA:00x0c
1717996331.999470:  00 05 bf 7a304c bc = Body module SENT Doors/windows status TO Global, broadcast address DATA:0L
1717996332.120094:  00 05 bf 7a300c fc = Body module SENT Doors/windows status TO Global, broadcast address DATA:00x0c
1717996336.079718:  00 05 bf 7a304c bc = Body module SENT Doors/windows status TO Global, broadcast address DATA:0L
1717996336.522102:  00 05 bf 7a300c fc = Body module SENT Doors/windows status TO Global, broadcast address DATA:00x0c
1717996336.878741:  7f 04 68 0201 10 = Navigation SENT Device status ready TO Radio DATA:0x01
...&lt;/small&gt;&lt;/pre&gt;

&lt;p&gt;This rapid swapping between &lt;code&gt;0x7a304c&lt;/code&gt; and &lt;code&gt;0x7a300c&lt;/code&gt; was immediately suspicious. The &lt;code&gt;1717996330&lt;/code&gt; timestamp converts to &lt;code&gt;June 9, 2024 10:12 PM&lt;/code&gt; local time, so I took a look at the current draw history in Grafana:&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/CurrentDrainCorrelatedToLogs.png&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Screenshot of Grafana showing current draw. The first peak at about 1.6A of current draw occurs precisely at 10:12 PM.
&quot;&gt;&lt;img class=&quot;image-big-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/CurrentDrainCorrelatedToLogs_960_thumb.png&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Chart showing current spike correlated to K-Bus traffic&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;…and it was clear as day. I had an immense sense of accomplshment and relief at this point because it showed a clear link between wacky bus traffic and the current draw! Now just to decode those bits.&lt;/p&gt;

&lt;p&gt; I was greatful to find this repository with &lt;a href=&quot;https://github.com/piersholt/wilhelm-docs/blob/master/gm/7a.md&quot;&gt;I/K-Bus Protocol Documentation&lt;/a&gt; on Github. Decoding I/K Bus messages is best left described elsewhere, but essentially: &lt;code&gt;0x7a&lt;/code&gt; meant it was a Door/Lid status message, then the second-to-last byte value &lt;code&gt;4&lt;/code&gt; means Front lid (hood/bonnet) open (or closed if &lt;code&gt;0&lt;/code&gt;. The last byte &lt;code&gt;C&lt;/code&gt; appears to mean the two rear doors are not closed. It's a 2-door car, so I guess that can be ignored.

&lt;h3&gt;So it was the Hood Sensor…&lt;/h3&gt;

&lt;p&gt;Since the hood wasn't being opened or closed it was pretty clear the issue was with the hood sensor circuit. I still didn't know for sure if it was a wiring problem, an issue with the switch itself, or something deeper in the General Module. To verify the hypothesis that the switch itself was at fault, the most direct tactic was to watch bus traffic while pressing the switch, then watch again while shorting the pins in the connector directly with a paperclip.&lt;/p&gt;

&lt;center&gt;
&lt;video class=&quot;video-big&quot; autoplay loop muted playsinline&gt;
  &lt;source src=&quot;/media/blog/BMW-parasitic-drain/HoodSensorPress.mov&quot; type=&quot;video/mp4&quot;&gt;
&lt;/video&gt;&lt;br/&gt;&lt;small&gt;No recognition of hood sensor being depressed&lt;/small&gt;&lt;br/&gt;&lt;br/&gt;
&lt;video class=&quot;video-big&quot; autoplay loop muted playsinline&gt;
  &lt;source src=&quot;/media/blog/BMW-parasitic-drain/PaperclipPress.mov&quot; type=&quot;video/mp4&quot;&gt;
&lt;/video&gt;&lt;br/&gt;&lt;small&gt;Shorting pins results in expected logging&lt;/small&gt;&lt;br/&gt;&lt;br/&gt;
&lt;/center&gt;

&lt;p&gt;Results were clear; the switch didn't trigger any bus traffic and shorting the contacts worked fine. I did some final analysis on the switch with a multimeter just to understand the issue a bit more, but it was mostly for fun. ~&lt;a href=&quot;https://www.ecstuning.com/b-genuine-bmw-parts/hood-trunk-sensor/61319119052&quot;&gt;$40 later&lt;/a&gt;, I had a fix in the form of a new hood switch. I monitored for a week or two with no symptoms and declared success.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2126.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Hood switch in situ. Apparently the hood switch signal is only used for an anti-theft alarm system that is not installed on this car... and for draining the battery.
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2126_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Hood sensor switch&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_0182.PNG&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;K-Bus logs corresponding to the video clip above when the hood sensor was being shorted by a paperclip, showing the opening and closing of the bonnet.
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_0182_320_thumb.PNG&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;K-Bus logs&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2209.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;Multimeter reads 1.4 Megaohm resistance when measuring across the normally-open contacts of the hood sensor. The measurement was jumping around a lot.
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2209_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Wacky switch resistance&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2212.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/BMWBatteryDrain&quot; data-title=&quot;The disassembled hood sensor switch shows a simple leaf spring contact that appears susceptible to corrosion and/or moisture.
&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/BMWBatteryDrain/IMG_2212_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;div style=&quot;text-align:center; width=100%; height:auto;&quot;&gt;&lt;small&gt;Hood sensor teardown&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;As in all good parasitic battery drain adventures I finally replaced the car battery for good measure. It was about due for replacement after 5 years and had been through a number of deep discharges due to the malfunction.&lt;/p&gt;

&lt;p&gt;In retrospect, after finding forum posts &lt;a href=&quot;https://www.e46fanatics.com/threads/so-it-was-the-hood-sensor.1258433/&quot;&gt;like this&lt;/a&gt;, I suspect an experienced mechanic (such as the one I frequent) would have been able to diagnose this problem much more quickly and efficiently than I did. I'd be interested to know if the pros approach would be to just test out the usual suspects or if it is common practice to log and monitor bus traffic these days. It was extremely satisfying to perform this debug myself though—I learned a lot about how my car works and how to troubleshoot electrical issues in the future. All in all, totally worth the trouble!&lt;/p&gt;
</description>
        <pubDate>Tue, 24 Sep 2024 11:00:00 -0700</pubDate>
        <link>https://www.joeyhagedorn.com/2024/09/24/bmw-e46-parasitic-battery-drain.html</link>
        <guid isPermaLink="true">https://www.joeyhagedorn.com/2024/09/24/bmw-e46-parasitic-battery-drain.html</guid>
        
        
      </item>
    
      <item>
        <title>Digital Clock DC-002</title>
        <description>&lt;p&gt;It seems like everybody interested in electronics ends up building a clock. I learned about the HPDL-1414 display module on &lt;a href=&quot;https://hackaday.com/2014/01/08/a-tiny-clock-with-a-retro-display/&quot;&gt;Hackaday&lt;/a&gt; in 2014 and my fate was set.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/DC-002/IMG_0129.JPG&quot; data-lightbox=&quot;/media/gallery/electronics/DC-002&quot;&gt;&lt;img class=&quot;image-big-thumb&quot; src=&quot;/media/gallery/electronics/DC-002/IMG_0129_960_thumb.JPG&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I built Digital Clock DC-001 as a gift in 2015, then made a batch of eight DC-002 units in 2016, also to give away as gifts. A big part of what made it interesting for me was to expand beyond the circuitry to an enclosure and packaging.&lt;/p&gt;

&lt;p&gt;As a little bit of a relaunch to this website, I've finally finished writing up the &lt;a href=&quot;/projects/DC-002/&quot;&gt;DC-002 clock project&lt;/a&gt; and published it here. It was always the plan to document the build; I'm happy to have completed that goal even after such a long wait.&lt;/p&gt;
</description>
        <pubDate>Wed, 21 Dec 2022 13:02:09 -0800</pubDate>
        <link>https://www.joeyhagedorn.com/2022/12/21/digital-clock-dc-002.html</link>
        <guid isPermaLink="true">https://www.joeyhagedorn.com/2022/12/21/digital-clock-dc-002.html</guid>
        
        
      </item>
    
      <item>
        <title>MightyOhm Geiger Counter Enhancements</title>
        <description>&lt;p&gt;&lt;i&gt;&lt;small&gt;This post was migrated from a Twitter thread with minor edits. I back-dated it to the original date of publication; first publication on this site in December 2022.&lt;/small&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;I had a really fun time building the &lt;a href=&quot;https://mightyohm.com/blog/products/geiger-counter/&quot;&gt;Geiger Counter kit&lt;/a&gt; from
MightyOhm while at home during pandemic lockdown and explored some neat enhancements.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/GeigerCounter/IMG_1236.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/GeigerCounter&quot;&gt;&lt;img class=&quot;image-big-thumb&quot; src=&quot;/media/gallery/blogpics/GeigerCounter/IMG_1236_960_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I added an &lt;a href=&quot;https://www.adafruit.com/product/326&quot;&gt;Adafruit 128x64 graphical OLED display&lt;/a&gt;, &lt;a href=&quot;https://docs.particle.io/argon/&quot;&gt;Particle Argon WiFi&lt;/a&gt; microcontroller, LiPo battery pack, and tube voltage monitoring circuit. It features an &lt;a href=&quot;https://www.analog.com/en/products/ad8244.html&quot;&gt;Analog Devices AD8244&lt;/a&gt; high-input-impedance buffer and a 1 GΩ/3.9 MΩ voltage divider to connect to an ADC pin on the Argon.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/GeigerCounter/IMG_1234.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/GeigerCounter&quot;&gt;&lt;img class=&quot;image-big-thumb&quot; src=&quot;/media/gallery/blogpics/GeigerCounter/IMG_1234_960_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I started logging tube voltage, battery voltage, and radiation levels to &lt;a href=&quot;https://www.influxdata.com&quot;&gt;InfluxDB&lt;/a&gt; and noticed something interesting—the tube voltage is highly temperature dependent. Doesn’t seem to affect the radiation measurement though!&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/GeigerCounter/RadiationAndTemp.png&quot; data-lightbox=&quot;/media/gallery/blogpics/GeigerCounter&quot;&gt;&lt;img class=&quot;image-big-thumb&quot; src=&quot;/media/gallery/blogpics/GeigerCounter/RadiationAndTemp_960_thumb.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I’ve got some ideas to improve the display with a nice graph, and implement a dynamic algorithm to change the integration time automatically based on radiation level, leveraging the horsepower of the Argon.&lt;/p&gt;

&lt;p&gt;Oh yeah, and I converted some classic Mac fonts to use with the Adafruit_GFX library—Espy Sans, Chicago, and Geneva—for the ultimate UI bitmap font style.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/GeigerCounter/IMG_1246.JPG&quot; data-lightbox=&quot;/media/gallery/blogpics/GeigerCounter&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/GeigerCounter/IMG_1246_320_thumb.JPG&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/GeigerCounter/IMG_1247.JPG&quot; data-lightbox=&quot;/media/gallery/blogpics/GeigerCounter&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/GeigerCounter/IMG_1247_320_thumb.JPG&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/GeigerCounter/IMG_1248.JPG&quot; data-lightbox=&quot;/media/gallery/blogpics/GeigerCounter&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/GeigerCounter/IMG_1248_320_thumb.JPG&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;https://micampe.it&quot;&gt;Michele&lt;/a&gt; is a fan of the Chicago version, IIRC. :)&lt;/p&gt;
</description>
        <pubDate>Wed, 15 Jul 2020 09:09:00 -0700</pubDate>
        <link>https://www.joeyhagedorn.com/2020/07/15/mightyohm-geiger-counter-enhancements.html</link>
        <guid isPermaLink="true">https://www.joeyhagedorn.com/2020/07/15/mightyohm-geiger-counter-enhancements.html</guid>
        
        
      </item>
    
      <item>
        <title>Nikon HE-5 Lens Hood Extension</title>
        <description>&lt;p&gt;My foray back into panoramic photography gave me an excuse to buy a DSLR. Owning a DSLR has given me an excuse to search eBay for deals on interesting camera lenses. In December that led to the purchase of a Nikon 600mm f/4 AiS manual focus super-telephoto lens. My particular copy appears to have been owned by the Dallas Morning News at some point—as that's written on the side of its trunk case. I trust it is a good retirement activity for this lens to look at birds and airplanes; activities which I also enjoy. It's incredibly heavy and impractical to carry around, but along with my &lt;a href=&quot;https://nikonrumors.com/2014/10/29/diy-shaving-a-nikon-teleconverter.aspx&quot;&gt;modified&lt;/a&gt; TC-20E III, it's pretty much like looking through a telescope. I also added a &lt;a href=&quot;http://pindelski.org/Photography/2012/03/08/adding-a-cpu-to-mf-nikkor-lenses-part-i/&quot;&gt;dandelion CPU&lt;/a&gt; to the lens to get some of the benefits of more modern kit, like focus priority shutter and EXIF lens info.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/IMG_0212.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/IMG_0212_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/IMG_0029.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/IMG_0029_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;That excellent eBay deal unfortunately meant there were a few compromises, like the beat up case. The most significant was that the lens was missing the HE-5 Hood Extension. Having such a large front element meant that it's tricky to shade the front element from incident sun exposure, which can cause washed out images and lens flare. It took about 6 months to find a hood on eBay, so I bought the first one I ran across, even bidding it up while on vacation.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/IMG_1260.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/IMG_1260_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/IMG_1262.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/IMG_1262_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I was elated to finally complete my kit by adding this part—but it turned out upon receipt, the hood extension wouldn't mount to the end of my lens. After a bit more research online, I was able to determine there were 2 plastic mounting tabs missing from the hood. These were subtle and frankly I hadn't noticed them on any pictures of hoods while researching and purchasing the hood online. The seller was happy to help get things straightened out, but had no ability to magically conjure up these parts. I decided that instead this would be an opportunity to restore a rare old piece of equipment and keep it from the scrap heap. The &lt;a href=&quot;https://parts.nikonusa.com/en/nikon-products/product/lens-parts/hk-30-knob-unit.html&quot;&gt;missing knob&lt;/a&gt; was easy (albeit expensive) to come by from Nikon, as the part is still used on modern lenses. The screw on the new ones is a bit longer, so I just removed the black aluminum cap and screwed it into place. Next were those pesky tabs. I knew it'd be impossible to find original tabs I needed, so I studied all the photos I could find, approximated what size they'd need to be to mount the lens, and started modeling in &lt;a href=&quot;https://www.autodesk.com/fusion360&quot;&gt;Fusion 360&lt;/a&gt;. I asked for some help on the &lt;a href=&quot;https://www.dpreview.com/forums/post/61533710&quot;&gt;DPReview forums&lt;/a&gt;, and got some help from the community there. A quick trip to the Shapeways website, and I had my first revision in hand.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/DSC_5553.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/DSC_5553_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/DSC_5576.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/DSC_5576_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/IMG_1411.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/IMG_1411_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;div class=&quot;photo-left-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/IMG_0194.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/IMG_0194_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;Of course the first revision didn't fit, so I sanded them down, made them work, and modeled up the second revision. This time shrinking the tabs and rounding them off for easier mounting. The trimmed down version worked like a charm, and Shapeways was very kind in replacing one of the two that came out a bit deformed from the printer. Their new &lt;a href=&quot;https://www.shapeways.com/materials/professional-plastic&quot;&gt;Professional Plastic&lt;/a&gt; (HP PA12 Nylon Plastic) is extremely durable and seems like it'll be perfect for this kind of mechanical part.&lt;/p&gt;

&lt;p&gt;&lt;div class=&quot;photo-right-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/IMG_1513.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/IMG_1513_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;The final trick was locating original screws to match the 25-year-old ones in the hood. This one was trickier than expected. While it was soon clear the screw diameter was M2 and length was 5 or 6mm, I couldn't quite make sense of the 0.6mm thread pitch and kept questioning my caliper measurements. I spent about a week searching through different screw standard specifications until I finally encountered the JCIS Type-B Thread Forming screw. It turns out this screw is specially designed to be self tapping, and the body of the screw is in fact more like a rounded-off triangle than a cylinder—a design I eventually learned was called &quot;trilobular.&quot; Of course it had a standard JIS cross point (not philips) drive and was black in color. Knowing the screw specs was helpful but not sufficient because however hard I tried, I couldn't find a supplier in the US. Eventually &lt;a href=&quot;http://saima-shop.com&quot;&gt;Saima Corporation&lt;/a&gt; in Japan responded favorably to an inquiry for a quote, and I soon had 1000 of exactly the screw I needed. (Please let me know if you need any of the 996 remaining screws I now own…) They were an excellent help to completing this project.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/IMG_0217.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/IMG_0217_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/IMG_0210.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/IMG_0210_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/HE-5/IMG_0214.jpeg&quot; data-lightbox=&quot;/media/gallery/blogpics/HE-5&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/HE-5/IMG_0214_320_thumb.jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I still have a bit of restoration to do on the 600mm f/4 AiS. I need to craft a workable lens cap and the rubber ring on the end of the lens is still missing (anybody know of reputable 3d-gasket printing outfit?), but these all seem doable now that I've got a working hood extension!&lt;/p&gt;

&lt;p&gt;I'm looking forward to more birding expeditions this fall, no matter the angle of the sun. :)&lt;/p&gt;

&lt;div class=&quot;photo-right-aligned&quot;&gt;&lt;a href=&quot;/media/blog/HE-5/HE-5_Large_Tab_Rounded.usdz&quot; rel=&quot;ar&quot;&gt;&lt;img src=&quot;/media/blog/HE-5/HE-5_Large_Tab_Rounded.png&quot; alt=&quot;HE-5 Tab&quot; width=&quot;220&quot; height=&quot;149&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;center&gt;&lt;small&gt;3D Model &lt;/small&gt;&lt;/center&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/media/blog/HE-5/HE-5_Large_Tab_Rounded.stl&quot;&gt;STL&amp;nbsp;Download&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://shpws.me/QMQK&quot;&gt;Buy on Shapeways&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Thu, 18 Oct 2018 17:45:00 -0700</pubDate>
        <link>https://www.joeyhagedorn.com/2018/10/18/nikon-he-5-lens-hood.html</link>
        <guid isPermaLink="true">https://www.joeyhagedorn.com/2018/10/18/nikon-he-5-lens-hood.html</guid>
        
        
      </item>
    
      <item>
        <title>Kaidan QuickPan IV Detent Discs</title>
        <description>&lt;p&gt;Recently I've been getting back into panoramic photography. It's been a lot of fun, after perhaps a decade long hiatus, to capture spherical panoramas again. I picked up a mint condition &lt;a href=&quot;https://web.archive.org/web/20080420222851/http://www.kaidan.com:80/&quot;&gt;Kaidan&lt;/a&gt; QuickPan IV tripod head with Spherical Bracket to relive my early 00's QTVR days, while securely mounting my new Nikon D810 camera when capturing photos.&lt;/p&gt;

&lt;p&gt;In order to capture a panorama I use the tripod head to take evenly spaced photographs in all directions. It uses small plastic disks to click into the right position, so the photos are easily aligned.&lt;/p&gt;

&lt;p&gt;It works great, but I found that I needed a different set of detent discs than came with the tripod head. I think there was some standard set—but to achieve 25% overlap with my 17-35mm lens, I calculated 7 photos would be optimal, but that value wasn't included in the kit.&lt;/p&gt;

&lt;p&gt;I figured it would be nearly impossible to find additional Kaidan detent discs since the company is now defunct, so I set about making my own through &lt;a href=&quot;https://www.ponoko.com&quot;&gt;Ponoko&lt;/a&gt;. I used my vintage Browne &amp; Sharpe Dial Caliper to measure the original discs, then drew up some new ones using Inkscape. Ponoko gave me a $20 coupon for signing up, so I got my set of 5 laser-cut discs for less than $10 shipping &amp; handling. The quality is excellent, and the 1.5mm Delrin material is perfect for the discs.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/IMG_0084.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/IMG_0084_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/IMG_0086.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/IMG_0086_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/IMG_0082.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/IMG_0082_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/blogpics/IMG_1068.jpg&quot; data-lightbox=&quot;/media/gallery/blogpics&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/blogpics/IMG_1068_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;center&gt;&lt;small&gt;Reproduction Detent Discs&lt;/small&gt;&lt;/center&gt;&lt;/div&gt;

&lt;p&gt;The fit is a bit snug, but they work great! I've made the discs available for purchase through &lt;a href=&quot;https://www.ponoko.com/design-your-own/products/kaidan-quickpan-iv-detent-discs-4-5-7-8-9-detents-14652&quot;&gt;Ponoko here&lt;/a&gt;, and also am providing the design file for &lt;a href=&quot;/media/blog/P1-Detent-Disc-Set.svg&quot;&gt;download here&lt;/a&gt;. While it's unlikely many folks are looking for detent discs for the long discontinued QuickPan IV tripod head, I figured it'd be nice to have some source to get them in case anybody needs replacements.&lt;/p&gt;

&lt;p&gt;I haven't yet captured a panorama with my new discs, but last weekend I went to Treasure Island and recorded the image below. I'm still working on HDR, color, and stitching details, but still happy with the results.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;a href=&quot;/projects/qtvr/panoramas/TreasureIsland/&quot;&gt;&lt;img src=&quot;/media/blog/treasure_island_preview.jpg&quot; alt=&quot;Treasure Island&quot; class=&quot;.photo-center-aligned&quot; width=&quot;400&quot; height=&quot;148&quot;/&gt;&lt;/a&gt;&lt;/div&gt;

</description>
        <pubDate>Thu, 18 Jan 2018 16:00:00 -0800</pubDate>
        <link>https://www.joeyhagedorn.com/2018/01/18/kaidan-quickpan-detent-discs.html</link>
        <guid isPermaLink="true">https://www.joeyhagedorn.com/2018/01/18/kaidan-quickpan-detent-discs.html</guid>
        
        
      </item>
    
      <item>
        <title>Place Matrix</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://www.reddit.com/r/place/&quot;&gt;Reddit&lt;/a&gt; put together what was ostensibly an April Fools' joke that allowed users to &quot;&lt;a href=&quot;https://en.wikipedia.org/wiki/Place_(Reddit)&quot;&gt;place&lt;/a&gt;&quot; one pixel at a time on a large canvas. It turned out to be a really awesome social art project; groups needed to collaborate to get anything done because there was a long delay between opportunities to place pixels.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; Incidentally, Reddit published a great article today about &lt;a href=&quot;https://redditblog.com/2017/04/13/how-we-built-rplace/&quot;&gt;how they built r/Place&lt;/a&gt;. Highly recommended.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Update 2:&lt;/b&gt; I wrote a &lt;a href=&quot;/projects/placematrix/&quot;&gt;technical description&lt;/a&gt; of how I built Place Matrix.&lt;/p&gt;

&lt;p&gt;Because I'm not a big Redditor, my friend &lt;a href=&quot;https://twitter.com/andpoul&quot;&gt;Andrew&lt;/a&gt; showed this to me, I think after a post on Twitter. We had a great discussion about the emergent behaviors that occurred with such a simple system on Saturday night, and talked about how such constraints can make things a lot of fun. I had just finished building my &lt;a href=&quot;https://www.boldport.com/products/the-matrix/&quot;&gt;p11-matrix&lt;/a&gt; project from &lt;a href=&quot;http://www.boldport.club&quot;&gt;Boldport Club&lt;/a&gt;, and had connected it to the web with an API that only allowed toggling a single pixel.&lt;/p&gt;

&lt;p&gt;So the next day I woke up and realized I had to port Place over to meatspace and started hacking. Thanks Andrew for helping incubate the idea. I'm not a web programmer, but my Python skills aren't too bad so I found a tutorial on &lt;a href=&quot;https://medium.com/@rodkey/deploying-a-flask-application-on-aws-a72daba6bb80&quot;&gt;Medium&lt;/a&gt; and started setting up AWS &lt;a href=&quot;https://aws.amazon.com/elasticbeanstalk/&quot;&gt;Elastic Beanstalk&lt;/a&gt;. One full Sunday of programming (followed by 3 back-to-back late night debugging sessions…) and it works. Lots of thanks to my friend &lt;a href=&quot;http://charliedeets.com&quot;&gt;Charlie&lt;/a&gt; for help and support through these manic last couple of days, and to the &lt;a href=&quot;https://www.boldport.com&quot;&gt;Saar&lt;/a&gt; for making Boldport Club and inspring projects.&lt;/p&gt;

&lt;p&gt;Check it out at &lt;a href=&quot;https://placematrix.joeyhagedorn.com&quot;&gt;Place Matrix&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;center&gt;&lt;a href=&quot;https://placematrix.joeyhagedorn.com&quot;&gt;&lt;img src=&quot;/media/blog/PlaceMatrixWeb.png&quot; width=400 height=auto&gt;&lt;/a&gt;&lt;br/&gt;&lt;a href=&quot;/media/blog/PlaceMatrixWeb.png&quot;&gt;&lt;small&gt;(enlarge)&lt;/small&gt;&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 13 Apr 2017 10:00:00 -0700</pubDate>
        <link>https://www.joeyhagedorn.com/2017/04/13/placematrix.html</link>
        <guid isPermaLink="true">https://www.joeyhagedorn.com/2017/04/13/placematrix.html</guid>
        
        
      </item>
    
      <item>
        <title>Weston 1293 Nixie Tube DVM</title>
        <description>&lt;p&gt;A couple of years ago I was at an estate sale with my mom and picked up this interesting Weston 1293 Digital Volt Meter. Could not resist nixie tube test equipment for $15.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_0071.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Weston 1293 Nixie Tube DVM powered on bench and connected to test source.&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_0071_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1841.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Top of unit indicating voltage range (&amp;plusmn;40V)&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_1841_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;center&gt;&lt;small&gt;Weston 1293 DVM&lt;/small&gt;&lt;/center&gt;&lt;/div&gt;

&lt;p&gt;I'd learned a lot about how it worked from a &lt;a href=&quot;http://www.cs.ubc.ca/~hilpert/e/edte/Weston1294/&quot;&gt;web page&lt;/a&gt; describing the Weston 1294, though that web page appears to be completely gone from the internet without a trace—not even a page is cached in the Internet Archive. I hope that site has a shorter hiatus than mine did…&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1847.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Analog Board&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_1847_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1848.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Digital Board&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_1848_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;center&gt;&lt;small&gt;Internals (analog and digital boards)&lt;/small&gt;&lt;/center&gt;&lt;/div&gt;

&lt;p&gt;It had been sitting on my shelf without much use in the interim because it was hard to use with just bare wires soldered on a connector on the back, so finally I've gotten around to building an enclosure for it. I also found an original manual for the Weston 1294 on eBay, which provided more context, though there are numerous differences.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1849.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Front panel masked with blue tape prior to cutting. Also observe components to be mounted in front panel.&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_1849_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1854.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Front panel after cutting, filing, and removing guide tape.&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_1854_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1858.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Back panel and components marked, prior to cutting.&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_1858_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1859.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Back panel with components installed.&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_1859_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1884.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Wiring in progress.&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_1884_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1892.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Original Weston 1294 Digital Panel Meter manual. Circa 1970&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_1892_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;center&gt;&lt;small&gt;Enclosure Construction&lt;/small&gt;&lt;/center&gt;&lt;/div&gt;
&lt;center&gt;&lt;div&gt;&lt;small&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1849.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Front panel masked with blue tape prior to cutting. Also observe components to be mounted in front panel.&quot;&gt;(Additional Photos)&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1848.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Digital Board&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1888.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1858.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Back panel and components marked, prior to cutting.&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1859.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Back panel with components installed.&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_0071.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Weston 1293 Nixie Tube DVM powered on bench and connected to test source.&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1854.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Front panel after cutting, filing, and removing guide tape.&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1896.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Completed unit measuring 3.3v rail on a microcontroller.&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1841.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Top of unit indicating voltage range (&amp;plusmn;40V)&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1894.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1895.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Completed enclosure with probes connected.&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1885.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1884.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Wiring in progress.&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1853.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1847.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Analog Board&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1892.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Original Weston 1294 Digital Panel Meter manual. Circa 1970&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1893.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot;&gt;&lt;/a&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1850.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Front panel after rough cutting before filing and finishing.&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/small&gt;&lt;/div&gt;&lt;/center&gt;
&lt;p&gt;Construction was relatively straightforward, with internal wiring mostly implemented with crimped spade termination and plenty of heatshrink. The most interesting part of the construction was cutting out holes in the aluminum front and rear panels of the enclosure. First I marked the cutouts using blue masking tape. Then I roughed out the holes with a drill and a jigsaw, finally finishing it up using a file. I think this practice of roughing out a hole and filing it to the line must be a standard technique, but I didn't really know how to do this until I saw the amazing craftsmanship on the &lt;a href=&quot;https://www.youtube.com/channel/UCworsKCR-Sx6R6-BnIjS2MA&quot;&gt;ClickSpring&lt;/a&gt; YouTube channel, where this technique is used a lot.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1895.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Completed enclosure with probes connected.&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_1895_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/electronics/weston1293/IMG_1896.jpg&quot; data-lightbox=&quot;/media/gallery/electronics/weston1293&quot; data-title=&quot;Completed unit measuring 3.3v rail on a microcontroller.&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/electronics/weston1293/IMG_1896_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;center&gt;&lt;small&gt;Complete!&lt;/small&gt;&lt;/center&gt;&lt;/div&gt;
</description>
        <pubDate>Mon, 20 Mar 2017 17:00:00 -0700</pubDate>
        <link>https://www.joeyhagedorn.com/2017/03/20/weston1293.html</link>
        <guid isPermaLink="true">https://www.joeyhagedorn.com/2017/03/20/weston1293.html</guid>
        
        
      </item>
    
      <item>
        <title>Omnichrome 643</title>
        <description>&lt;p&gt;Recently I purchased a Melles Griot Omnichrome 643 laser on eBay (as noted in my &lt;a href=&quot;/projects/lasers#laserinventory&quot;&gt;laser inventory&lt;/a&gt;). I was happy to find it arrived in great condition after making the long trip from Canada. I had long wanted an Argon-Krypton laser capable of producing a wider slice of the spectrum—&quot;whitelight&quot;—but they seem to be quite a bit more rare than plain old Argon-ion lasers, and usually more expensive. Got lucky with this one.&lt;/p&gt;

&lt;p&gt;It came with almost everything including the laser itself, power supply, cooling fan unit, and even a printed manual. It was almost ready to run out of the box, but I needed a cable that connects the laser head to the cooling unit, an air duct, and also a way to plug it in; it draws 20A @ 240V.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1404.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1404_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1407.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1407_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;First I wired up a 10 gauge extension from my electric clothes dryer outlet with a NEMA 10-30 plug to a NEMA 6-20R receptical. I ordered 25ft of 10/3 SOOW cable and the plug from Amazon and picked up a &quot;handy box&quot; and the receptical at Lowes. Working with these heavy, flexible SOOW cables reminds me of my days in highschool technical theater…&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1415.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1415_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1416.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1416_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I couldn't find one on eBay, so parts for the other cable required a new crimper (&lt;a href=&quot;http://www.engineer.jp/en/products/pad11_13e.html&quot;&gt;Engineer PAD-01&lt;/a&gt;), a Digi-Key order, and tracking down some 18/6 SOOW at a good price. Fortunately it was easy to defeat the fan interlock with a jumper and use another blower I had for my other Argon laser in the mean time.&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1506.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1506_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1507.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1507_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1508.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1508_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1510.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1510_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So after just a bit of wiring and basic external cleaning I was able to get it running in top shape. I made a new jumper remote plug to run it in constant-current mode and walked the mirrors to get the peak output up to about 83mW at max current. I figure the cross-continent shipping probably wasn't great for mirror alignment, but no worries now. The specific model number is 643-OLYM-AO3, which I suspect means it came from an Olympus confocal scanning microscope, but have no explicit specifications for the unit. I received the tube with about 570 hours on the run time meter, so it is far from new but still has great light output. Anyway, on to the pictures!&lt;/p&gt;

&lt;div class=&quot;photo-center-aligned&quot;&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1424.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1424_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1433.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1433_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1434.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1434_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1445.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1445_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1449.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1449_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;image-padding-container&quot;&gt;
&lt;div class=&quot;image-container&quot;&gt;&lt;a class=&quot;image-link&quot; href=&quot;/media/gallery/Laser/Omnichrome643/IMG_1514.jpg&quot; data-lightbox=&quot;/media/gallery/Laser/Omnichrome643&quot;&gt;&lt;img class=&quot;image-thumb&quot; src=&quot;/media/gallery/Laser/Omnichrome643/IMG_1514_320_thumb.jpg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;One day I think I might be interested in getting RGB optics instead of the RYB this unit comes with so that it'd be more appropriate for laser display purposes. Some folks suggest that it is best to appreciate the yellow-green line for what it is and avoid the trouble. Guess we'll see if I come across the right kind of output-coupler optic. Next project is to build a small digitally-controlled remote for the 171-B power supply.&lt;/p&gt;
</description>
        <pubDate>Sat, 11 Feb 2017 12:45:00 -0800</pubDate>
        <link>https://www.joeyhagedorn.com/2017/02/11/omnichrome-643.html</link>
        <guid isPermaLink="true">https://www.joeyhagedorn.com/2017/02/11/omnichrome-643.html</guid>
        
        
      </item>
    
      <item>
        <title>I'm back!</title>
        <description>&lt;p&gt;After a hiatus of more than 5 years, I’ve resurrected my website! I’m hoping to share some project stories, add back some archival content from the old site, and have a place to share things I learn.&lt;/p&gt;

&lt;p&gt;Years ago I took down my website because my VPS had been exploited, I think due to an outdated version of Wordpress. This new one should be more reliable; I’m using &lt;a href=&quot;https://jekyllrb.com&quot;&gt;Jekyll&lt;/a&gt; hosted on &lt;a href=&quot;https://aws.amazon.com&quot;&gt;Amazon AWS&lt;/a&gt; using S3 and CloudFront, which made it easy to adopt SSL and HTTP/2. I wrote a custom Jekyll plugin to handle automatic thumbnail generation for images and Lightbox stuff. Fun new project!&lt;/p&gt;

&lt;p&gt;I’m slowly bringing back some old content on the blog, such as my post about building a &lt;a href=&quot;/2008/04/19/blu-ray-laser-pointer.html&quot;&gt;Blu-Ray Laser Pointer&lt;/a&gt;, and have refreshed some of the content in the &lt;a href=&quot;/projects/lasers&quot;&gt;Lasers&lt;/a&gt; and &lt;a href=&quot;/projects/qtvr&quot;&gt;Panoramas&lt;/a&gt; sections.&lt;/p&gt;
</description>
        <pubDate>Sat, 04 Feb 2017 14:08:56 -0800</pubDate>
        <link>https://www.joeyhagedorn.com/2017/02/04/Im-back.html</link>
        <guid isPermaLink="true">https://www.joeyhagedorn.com/2017/02/04/Im-back.html</guid>
        
        
      </item>
    
  </channel>
</rss>
