Help
RSS
API
Feed
Maltego
Contact
Domain > www.joeyhagedorn.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2016-03-03
52.84.14.167
(
ClassC
)
2016-03-05
52.84.14.69
(
ClassC
)
2016-03-07
52.84.14.205
(
ClassC
)
2024-09-30
3.163.24.103
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Mon, 30 Sep 2024 17:06:53 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://www.joeyhagedorn.com/X-Cache: Redirect from cloudfrontVia: 1.1 1f941fcf288b6d0259a0f708c955afae.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P2X-Amz-Cf-Id: Ev2CoKSp7dxWZZdd95bhT6aTa5vjnekjLAOTUL-SV6v3n2bzUOZcZA html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 58093Connection: keep-aliveLast-Modified: Thu, 26 Sep 2024 03:45:36 GMTServer: AmazonS3Date: Mon, 30 Sep 2024 17:06:53 GMTETag: 20d3f1dff213c3021d7bd053694d4196Vary: Accept-EncodingX-Cache: Hit from cloudfrontVia: 1.1 e2ad8d56b8dbdb69144113ad1c008e02.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P2X-Amz-Cf-Id: WSQVpNpKK87Zv2HKae5kj__sxggvRjHLEgMDhxHY3HErb-0aCxBoNgAge: 11401 !DOCTYPE html>html> head> meta charsetutf-8> meta http-equivX-UA-Compatible contentIEedge> meta nameviewport contentwidthdevice-width, initial-scale1> link relstylesheet href/css/main.css> link relstylesheet href/css/lightbox.css> link relcanonical hrefhttps://www.joeyhagedorn.com/> link relapple-touch-icon sizes180x180 href/apple-touch-icon.png> link relicon typeimage/png href/favicon-32x32.png sizes32x32> link relicon typeimage/png href/favicon-16x16.png sizes16x16> link relmanifest href/manifest.json> link relmask-icon href/safari-pinned-tab.svg color#445AD4> meta nametheme-color content#ffffff> script src/js/lightbox-plus-jquery.min.js>/script> script src/js/konami.js>/script> script>lightbox.option({ resizeDuration: 250, fadeDuration: 200, imageFadeDuration: 200, wrapAround: true })/script> script async srchttps://static.getclicky.com/101400346.js>/script> !-- Begin Jekyll SEO tag v2.8.0 -->title>Updates | Joey Hagedorn/title>meta namegenerator contentJekyll v4.3.1 />meta propertyog:title contentUpdates />meta propertyog:locale contenten_US />meta namedescription contentJoey Hagedorn is a software engineer in Palo Alto, CA. He builds electronics, software, and laser projects in his spare time. />meta propertyog:description contentJoey Hagedorn is a software engineer in Palo Alto, CA. He builds electronics, software, and laser projects in his spare time. />link relcanonical hrefhttps://www.joeyhagedorn.com/ />meta propertyog:url contenthttps://www.joeyhagedorn.com/ />meta propertyog:site_name contentJoey Hagedorn />meta propertyog:image contenthttps://www.joeyhagedorn.com/media/header-opengraph.jpg />meta propertyog:type contentwebsite />link relnext hrefhttps://www.joeyhagedorn.com/updates/page2/ />meta nametwitter:card contentsummary_large_image />meta propertytwitter:image contenthttps://www.joeyhagedorn.com/media/header-opengraph.jpg />meta propertytwitter:title contentUpdates />script typeapplication/ld+json>{@context:https://schema.org,@type:WebSite,description:Joey Hagedorn is a software engineer in Palo Alto, CA. He builds electronics, software, and laser projects in his spare time.,headline:Updates,image:https://www.joeyhagedorn.com/media/header-opengraph.jpg,name:Joey Hagedorn,url:https://www.joeyhagedorn.com/}/script>!-- End Jekyll SEO tag -->/head> body onkeydown check_key(event, aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvS29uYW1pX0NvZGU)> header classsite-header> a relme hrefhttps://mastodon.social/@joeyhagedorn>/a> div classsite-masthead> a classsite-title href/>Joey Hagedorn/a> /div> div classwrapper> nav classmenu> ul classnav> li classselected_page_item>a href/index.html>Updates/a>/li> li classpage_item>a href/projects/DC-002/>Projects/a>/li> li classpage_item>a href/publications/>Publications/a>/li> li classpage_item>a href/about/>About/a>/li> /ul> /nav> /div>/header> div classpage-content> div classwrapper> article classpost> div classpost-content> div classhome>!-- This loops through the paginated posts --> article classpost itemscope itemtypehttp://schema.org/BlogPosting> header classpost-header> h2 classpost-title itempropname headline>a href/2024/09/24/bmw-e46-parasitic-battery-drain.html>Adventures with Parasitic Battery Drain/a>/h2> p classpost-meta>time datetime2024-09-24T11:00:00-07:00 itempropdatePublished>Sep 24, 2024/time>/p> /header> div classpost-content itemproparticleBody> p>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, Im 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 a hrefhttps://edgemw.co>great shop/a> 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./p>div classphoto-center-aligned>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/IMG_3023.JPG data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titlee46 M3 in the parking lot of Candle Stick Park, during a Car Control Clinic in 2013>img classimage-big-thumb src/media/gallery/blogpics/BMWBatteryDrain/IMG_3023_960_thumb.JPG/>/a>div styletext-align:center; width100%; height:auto;>small>e46 M3 Competition Package in 2013/small>/div>/div>/div>h3>Dead Batteries/h3>p>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). Its 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./p>p>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 didnt 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./p>p>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./p>h3>Continuous Current Monitoring/h3>div classphoto-right-aligned>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/SmartShunt.png data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleProduct photo of SmartShunt>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/SmartShunt_320_thumb.png/>/a>div styletext-align:center; width100%; height:auto;>small>Smart Shunt/small>/div>/div>/div>p>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./p>div classphoto-center-aligned>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/SmartShuntBatteryCable.jpg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleSmartShunt installed in battery well of car with modified lug on battery cable and short jumper to chassis.>img classimage-big-thumb src/media/gallery/blogpics/BMWBatteryDrain/SmartShuntBatteryCable_960_thumb.jpg/>/a>div styletext-align:center; width100%; height:auto;>small>Shunt installed in battery well with modified cable lug/small>/div>/div>/div>p>In order to get a comprehensive picture, I invested in a Victron a hrefhttps://www.victronenergy.com/battery-monitors/smart-battery-shunt>SmartShunt/a> 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./p>p>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./p>div classphoto-right-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/periodic-500ma-drain-cropped.PNG data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleRegular periodic drain of approximately 500mA in the VictronConnect app>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/periodic-500ma-drain-cropped_320_thumb.PNG/>/a>div styletext-align:center; width100%; height:auto;>small>Periodic 500ma drain/small>/div>/div>/div>/div>p>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 theyd eventualy stop. I was happy to find this a hrefhttps://static.nhtsa.gov/odi/tsbs/2015/MC-10147825-9999.pdf>Service Information Bulletin/a> on NHTSAs website which, in addition to confirming the spec for idle current draw of i>40 milliamps after 16 minutes/i> for E46 cars, described the 15-minute periodic drain issue:/p>blockquote>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./blockquote>div classphoto-left-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/sporadic-1.5a-drain-cropped.PNG data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleSporadic drain of approximately 1.4A as well as periodic drain of 500mA in the VictronConnect app>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/sporadic-1.5a-drain-cropped_320_thumb.PNG/>/a>div styletext-align:center; width100%; height:auto;>small>Sporadic 1.5A drain/small>/div>/div>/div>/div>p>While a slightly disappointing discovery for normal operation, it didnt 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./p>h3>Zeroing in on the fault - Finding the Fuse/h3>div classphoto-center-aligned>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/2005-e46m3-fuse-card.png data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleFuse Index Card from my e46 2005 BMW M3 Competition Package. BMW Part Number: 6 953 026.9>img classimage-big-thumb src/media/gallery/blogpics/BMWBatteryDrain/2005-e46m3-fuse-card_960_thumb.png/>/a>div styletext-align:center; width100%; height:auto;>small>Fuse directory card from my 2005 e46 M3/small>/div>/div>/div>p>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./p>p>The SmartShunt has a bunch of great APIs for extracting data. I love that theyve published both a specification for accessing info via the a hrefhttps://community.victronenergy.com/questions/93919/victron-bluetooth-ble-protocol-publication.html?page2&pageSize10&sortoldest>Bluetooth GATT Protocol/a>, a well as another describing how to extract the (encrypted) info from extended manufacturer data in a hrefhttps://community.victronenergy.com/questions/187303/victron-bluetooth-advertising-protocol.html>Bluetooth Advertising Beacon Protocol/a>, which allows collecting data without even being connected to the device./p>p>Fortunately I was well prepared to start collecting this data since I monitor a bunch of data about my home using a hrefhttps://www.influxdata.com/products/influxdb/>InfluxDB 2.x/a>, a hrefhttps://grafana.com/oss/grafana/>Grafana/a>, 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 a hrefhttps://pushover.net>Pushover/a>) 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 a hrefhttps://stackoverflow.com/questions/69657870/python-bleak-scan-for-advertisements-and-exit-event-loop>Stack Overflow post/a>, used the a hrefhttps://github.com/keshavdv/victron-ble>victron_ble/a> library to parse it, then used the a hrefhttps://github.com/influxdata/influxdb-client-python>influxdb-client/a> library to ingest the data to InfluxDB. I also found some a hrefhttps://github.com/birdie1/victron?tabreadme-ov-fileturn-key solutions/a> that used MQTT but found it easier to just write to InfluxDB directly in my own custom script./p>div classphoto-center-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/PoE_RpI_Collection.jpg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleEthernet cable terminating in a box that contains a Raspberry Pi with PoE shield capturing Bluetooth Advertising broadcasts containing battery consumption info.>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/PoE_RpI_Collection_320_thumb.jpg/>/a>div styletext-align:center; width100%; height:auto;>small>RPi collecting Bluetooth pings/small>/div>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/Grafana_Draw.png data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleThis 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.>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/Grafana_Draw_320_thumb.png/>/a>div styletext-align:center; width100%; height:auto;>small>Grafana current draw chart/small>/div>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/Grafana_Draw_Alarms.png data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleThis 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.>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/Grafana_Draw_Alarms_320_thumb.png/>/a>div styletext-align:center; width100%; height:auto;>small>Grafana alerting >1.2A/small>/div>/div>/div>/center>/div>p>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 didnt work. I saw the notification several of times, but didnt manage to quite get to a place where I had enough time to start pulling fuses or measuring voltage drop./p>p>Once I had this high quality data logging, a variety of other options opened up. I had found a hrefhttps://automotivetechinfo.com/2013/09/advanced-bmw-parasitic-battery-draw-diagnostics/>one story/a> of using a thermal camera to zone in on whichever circuit was causing the issue, so I gave that a go./p>div classphoto-center-aligned>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/flir-thermal.jpg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleFLIR thermal image of fuse box doesnt clearly show any particularly warm fuses.>img classimage-big-thumb src/media/gallery/blogpics/BMWBatteryDrain/flir-thermal_960_thumb.jpg/>/a>div styletext-align:center; width100%; height:auto;>small>FLIR thermal image of fuse box/small>/div>/div>/div>p>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. Ive 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 didnt 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./p>p>I finally gave in started the arduous task of pulling fuses overnight. Id 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./a>div styleoverflow-x: scroll;>table classdata-table>thead>tr>th>Fuses Removed/th>th>Circuit Description/th>th>Start/th>th>Stop/th>th>Drain Observed/th>th>Details/th>th>Notes/th>th>/th>/tr>/thead>tbody>tr>td>-/td>td>/td>td>/td>td>/td>td>Yes/td>td>-1.5A/td>td>Initial no fuses removed condition, observed several times/td>td>/td>/tr>tr>td>7, 39/td>td>Telephone/td>td>5/20/24 8:00 PM/td>td>5/21/24 9:25 AM/td>td>Yes/td>td>-0.95A/td>td>/td>td>/td>/tr>tr>td>7, 41/td>td>Navigation/td>td>5/21/24 6:58 PM/td>td>5/23/24 10:15 AM/td>td>Yes/td>td>-0.85A/td>td>Seems like various different components are causing drain—suspect bus traffic is waking everything up./td>td>/td>/tr>tr>td>14, 67/td>td>Immobilizer/td>td>5/23/24 6:50 PM/td>td>5/26/24 12:05 PM/td>td>Yes/td>td>-1.5A/td>td>/td>td>/td>/tr>tr>td>10, 34, 43/td>td>Instrument Cluster/td>td>5/26/24 12:05 PM/td>td>5/27/24 10:21 AM/td>td>Yes/td>td>-1.5A/td>td>/td>td>/td>/tr>tr>td>9, 32/td>td>Light Module/td>td>5/27/24 2:12 AM/td>td>5/28/24 9:05 AM/td>td>No/td>td>/td>td>Suspect monitoring period too short. Try again/td>td>/td>/tr>tr>td>9, 32/td>td>Light Module/td>td>5/28/24 6:40 PM/td>td>5/30/24 1:13 PM/td>td>Yes/td>td>-1.5A/td>td>/td>td>/td>/tr>tr>td>24/td>td>Parking aid/td>td>5/31/24 8:53 AM/td>td>5/31/24 6:31 PM/td>td>Yes/td>td>-1.5A/td>td>/td>td>/td>/tr>tr>td>49/td>td>General Module/td>td>5/31/24 6:33 PM/td>td>6/3/24 9:26 AM/td>td>No/td>td>/td>td>No sustained drain but little flickers of current draw/td>td>/td>/tr>tr>td>-/td>td>/td>td>6/3/24 9:26 AM/td>td>6/4/24 6:56 PM/td>td>Yes/td>td>-1.5A/td>td>Double check/td>td>/td>/tr>tr>td>49/td>td>General Module/td>td>6/4/24 6:56 PM/td>td>6/6/24 10:50 AM/td>td>No/td>td>/td>td>Bingo: Circuit 49 - General Module/td>td>/td>/tr>tr>td>/td>td>/td>td>/td>td>/td>td>/td>td>/td>td>/td>td>/td>/tr>/tbody>/table>/div>p>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 waking up 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 a hrefhttps://ia801005.us.archive.org/11/items/BMWTechnicalTrainingDocuments/ST052%20Body%20Electronics%20II/03a_E46%20Power%20Supply%20and%20Bus%20Systems.pdf>K-Bus/a>. Eventually this process led to the descriptively named General Module, which appeared to be the instigator of all this trouble./p>h3>Deeper Investigation - K-Bus Traffic Analysis /h3>p>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 a hrefhttps://www.bmwgm5.com>fixing failed General Modules/a> which had a bunch of great diagnostic tips, but symptoms of the common bad relay failure didnt 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 a hrefhttp://www.reslers.de/IBUS/index.html>Resler IBUS interface/a> on hand—but had never taken it out of the package. The time had come to hook it up and start sniffing bus traffic./p>p>Id always hesitated to hack up my cars 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, theres 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 MQS series or a hrefhttps://www.te.com/en/products/connectors/automotive-connectors/intersection/mqs.html?tabpgp-story>Micro Quadlok System/a>. This family includes nearly 20,000 parts, but the the particular ones were interested in here consist of a a hrefhttps://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/1-1718346-1/10478109>Plug/a> (a hrefhttps://www.te.com/commerce/DocumentDelivery/DDEController?Actionsrchrtrv&DocNm1718346&DocTypeCustomer+Drawing&DocLangEnglish&PartCntxt1-1718346-1&DocFormatpdf>drawing/a>) anda hrefhttps://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/1-968700-1/2328974>Socket/a> (a hrefhttps://www.te.com/commerce/DocumentDelivery/DDEController?Actionshowdoc&DocIdCustomer+Drawing%7F968700%7FB4%7Fpdf%7FEnglish%7FENG_CD_968700_B4.pdf%7F1-968700-1>drawing/a>). 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./p>div classphoto-center-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/IMG_2115.jpeg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleWiring harness attached to the Resler IBUS interface. The 3-pin MQS connectors are wired such that this can be inserted between the cars wiring harness and an accessory device such as the DVD Navigation system or Sirius radio without permanent modification to the cars wiring harness.>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/IMG_2115_320_thumb.jpeg/>/a>div styletext-align:center; width100%; height:auto;>small>Resler interface harness/small>/div>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/IMG_2116.jpeg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleCloseup of 3 pin MQS plug>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/IMG_2116_320_thumb.jpeg/>/a>div styletext-align:center; width100%; height:auto;>small>MQS plug/small>/div>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/IMG_2117.jpeg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleCloseup of 3 pin MQS socket>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/IMG_2117_320_thumb.jpeg/>/a>div styletext-align:center; width100%; height:auto;>small>MQS socket/small>/div>/div>/div>br/>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/IMG_2119.jpeg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleCloseup of the particular K-Bus connector in the trunk equipment rack to which I connected the IBUS interface.>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/IMG_2119_320_thumb.jpeg/>/a>div styletext-align:center; width100%; height:auto;>small>K-Bus plug in trunk/small>/div>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/IMG_2121.jpeg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleTrunk 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.>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/IMG_2121_320_thumb.jpeg/>/a>div styletext-align:center; width100%; height:auto;>small>RPi monitoring K-Bus/small>/div>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/IMG_2123.jpeg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleM3 with ethernet cable umbilical connected under car cover in driveway.>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/IMG_2123_320_thumb.jpeg/>/a>div styletext-align:center; width100%; height:auto;>small>Jacked into the Matrix/small>/div>/div>/div>/center>/div>p>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 a hrefhttps://github.com/karis79/bmw-ibus>bmw-ibus daemon/a>, 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 a href/media/downloads/bmw-ibus-hacks.diff>couple of lines patched/a>, I had a reliable logging tool without a bunch of dependencies./a>p>I ran the tool in a a screen session, and it provided output like the following:/p>pre>small>1717996329.304601: 00 04 bf 0200 b9 Body module SENT Device status ready TO Global, broadcast address DATA:0x001717996329.315563: 00 05 bf 7a300c fc Body module SENT Doors/windows status TO Global, broadcast address DATA:00x0c1717996329.325127: 80 04 bf 0200 39 Instrument cluster electronics SENT Device status ready TO Global, broadcast address DATA:0x001717996329.333947: 80 04 bf 1100 2a Instrument cluster electronics SENT Ignition status TO Global, broadcast address DATA:0x001717996329.418415: f0 0b 68 390002000100010100 a9 On-board monitor operating part SENT CD status TO Radio DATA:0x00 0x02 0x00 0x01 0x00 0x01 0x01 0x001717996329.716831: f0 04 bf 0270 39 On-board monitor operating part SENT Device status ready TO Global, broadcast address DATA:p1717996329.729145: 80 04 bf 1100 2a Instrument cluster electronics SENT Ignition status TO Global, broadcast address DATA:0x00<SNIP/>1717996330.390878: 80 04 bf 1100 2a Instrument cluster electronics SENT Ignition status TO Global, broadcast address DATA:0x001717996330.752628: 00 05 bf 7a304c bc Body module SENT Doors/windows status TO Global, broadcast address DATA:0L1717996330.813473: 00 05 bf 7a300c fc Body module SENT Doors/windows status TO Global, broadcast address DATA:00x0c1717996331.999470: 00 05 bf 7a304c bc Body module SENT Doors/windows status TO Global, broadcast address DATA:0L1717996332.120094: 00 05 bf 7a300c fc Body module SENT Doors/windows status TO Global, broadcast address DATA:00x0c1717996336.079718: 00 05 bf 7a304c bc Body module SENT Doors/windows status TO Global, broadcast address DATA:0L1717996336.522102: 00 05 bf 7a300c fc Body module SENT Doors/windows status TO Global, broadcast address DATA:00x0c1717996336.878741: 7f 04 68 0201 10 Navigation SENT Device status ready TO Radio DATA:0x01.../small>/pre>p>This rapid swapping between code>0x7a304c/code> and code>0x7a300c/code> was immediately suspicious. The code>1717996330/code> timestamp converts to code>June 9, 2024 10:12 PM/code> local time, so I took a look at the current draw history in Grafana:/p>div classphoto-center-aligned>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/CurrentDrainCorrelatedToLogs.png data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleScreenshot of Grafana showing current draw. The first peak at about 1.6A of current draw occurs precisely at 10:12 PM.>img classimage-big-thumb src/media/gallery/blogpics/BMWBatteryDrain/CurrentDrainCorrelatedToLogs_960_thumb.png/>/a>div styletext-align:center; width100%; height:auto;>small>Chart showing current spike correlated to K-Bus traffic/small>/div>/div>/div>p>…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./p>p> I was greatful to find this repository with a hrefhttps://github.com/piersholt/wilhelm-docs/blob/master/gm/7a.md>I/K-Bus Protocol Documentation/a> on Github. Decoding I/K Bus messages is best left described elsewhere, but essentially: code>0x7a/code> meant it was a Door/Lid status message, then the second-to-last byte value code>4/code> means Front lid (hood/bonnet) open (or closed if code>0/code>. The last byte code>C/code> appears to mean the two rear doors are not closed. Its a 2-door car, so I guess that can be ignored.h3>So it was the Hood Sensor…/h3>p>Since the hood wasnt being opened or closed it was pretty clear the issue was with the hood sensor circuit. I still didnt 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./p>center>video classvideo-big autoplay loop muted playsinline> source src/media/blog/BMW-parasitic-drain/HoodSensorPress.mov typevideo/mp4>/video>br/>small>No recognition of hood sensor being depressed/small>br/>br/>video classvideo-big autoplay loop muted playsinline> source src/media/blog/BMW-parasitic-drain/PaperclipPress.mov typevideo/mp4>/video>br/>small>Shorting pins results in expected logging/small>br/>br/>/center>p>Results were clear; the switch didnt 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. ~a hrefhttps://www.ecstuning.com/b-genuine-bmw-parts/hood-trunk-sensor/61319119052>$40 later/a>, 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./p>div classphoto-center-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/IMG_2126.jpeg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleHood 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.>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/IMG_2126_320_thumb.jpeg/>/a>div styletext-align:center; width100%; height:auto;>small>Hood sensor switch/small>/div>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/IMG_0182.PNG data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleK-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.>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/IMG_0182_320_thumb.PNG/>/a>div styletext-align:center; width100%; height:auto;>small>K-Bus logs/small>/div>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/IMG_2209.jpeg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleMultimeter reads 1.4 Megaohm resistance when measuring across the normally-open contacts of the hood sensor. The measurement was jumping around a lot.>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/IMG_2209_320_thumb.jpeg/>/a>div styletext-align:center; width100%; height:auto;>small>Wacky switch resistance/small>/div>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/BMWBatteryDrain/IMG_2212.jpeg data-lightbox/media/gallery/blogpics/BMWBatteryDrain data-titleThe disassembled hood sensor switch shows a simple leaf spring contact that appears susceptible to corrosion and/or moisture.>img classimage-thumb src/media/gallery/blogpics/BMWBatteryDrain/IMG_2212_320_thumb.jpeg/>/a>div styletext-align:center; width100%; height:auto;>small>Hood sensor teardown/small>/div>/div>/div>/div>p>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./p>p>In retrospect, after finding forum posts a hrefhttps://www.e46fanatics.com/threads/so-it-was-the-hood-sensor.1258433/>like this/a>, 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. Id 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!/p> /div> /article> article classpost itemscope itemtypehttp://schema.org/BlogPosting> header classpost-header> h2 classpost-title itempropname headline>a href/2022/12/21/digital-clock-dc-002.html>Digital Clock DC-002/a>/h2> p classpost-meta>time datetime2022-12-21T13:02:09-08:00 itempropdatePublished>Dec 21, 2022/time>/p> /header> div classpost-content itemproparticleBody> p>It seems like everybody interested in electronics ends up building a clock. I learned about the HPDL-1414 display module on a hrefhttps://hackaday.com/2014/01/08/a-tiny-clock-with-a-retro-display/>Hackaday/a> in 2014 and my fate was set./p>div classphoto-center-aligned>div classimage-container>a classimage-link href/media/gallery/electronics/DC-002/IMG_0129.JPG data-lightbox/media/gallery/electronics/DC-002>img classimage-big-thumb src/media/gallery/electronics/DC-002/IMG_0129_960_thumb.JPG/>/a>/div>/div>p>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./p>p>As a little bit of a relaunch to this website, Ive finally finished writing up the a href/projects/DC-002/>DC-002 clock project/a> and published it here. It was always the plan to document the build; Im happy to have completed that goal even after such a long wait./p> /div> /article> article classpost itemscope itemtypehttp://schema.org/BlogPosting> header classpost-header> h2 classpost-title itempropname headline>a href/2020/07/15/mightyohm-geiger-counter-enhancements.html>MightyOhm Geiger Counter Enhancements/a>/h2> p classpost-meta>time datetime2020-07-15T09:09:00-07:00 itempropdatePublished>Jul 15, 2020/time>/p> /header> div classpost-content itemproparticleBody> p>i>small>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./small>/i>/p>p>I had a really fun time building the a hrefhttps://mightyohm.com/blog/products/geiger-counter/>Geiger Counter kit/a> fromMightyOhm while at home during pandemic lockdown and explored some neat enhancements./p>div classphoto-center-aligned>div classimage-container>a classimage-link href/media/gallery/blogpics/GeigerCounter/IMG_1236.jpeg data-lightbox/media/gallery/blogpics/GeigerCounter>img classimage-big-thumb src/media/gallery/blogpics/GeigerCounter/IMG_1236_960_thumb.jpeg/>/a>/div>/div>p>I added an a hrefhttps://www.adafruit.com/product/326>Adafruit 128x64 graphical OLED display/a>, a hrefhttps://docs.particle.io/argon/>Particle Argon WiFi/a> microcontroller, LiPo battery pack, and tube voltage monitoring circuit. It features an a hrefhttps://www.analog.com/en/products/ad8244.html>Analog Devices AD8244/a> high-input-impedance buffer and a 1 GΩ/3.9 MΩ voltage divider to connect to an ADC pin on the Argon./p>div classphoto-center-aligned>div classimage-container>a classimage-link href/media/gallery/blogpics/GeigerCounter/IMG_1234.jpeg data-lightbox/media/gallery/blogpics/GeigerCounter>img classimage-big-thumb src/media/gallery/blogpics/GeigerCounter/IMG_1234_960_thumb.jpeg/>/a>/div>/div>p>I started logging tube voltage, battery voltage, and radiation levels to a hrefhttps://www.influxdata.com>InfluxDB/a> and noticed something interesting—the tube voltage is highly temperature dependent. Doesn’t seem to affect the radiation measurement though!/p>div classphoto-center-aligned>div classimage-container>a classimage-link href/media/gallery/blogpics/GeigerCounter/RadiationAndTemp.png data-lightbox/media/gallery/blogpics/GeigerCounter>img classimage-big-thumb src/media/gallery/blogpics/GeigerCounter/RadiationAndTemp_960_thumb.png/>/a>/div>/div>p>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./p>p>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./p>div classphoto-center-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/GeigerCounter/IMG_1246.JPG data-lightbox/media/gallery/blogpics/GeigerCounter>img classimage-thumb src/media/gallery/blogpics/GeigerCounter/IMG_1246_320_thumb.JPG/>/a>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/GeigerCounter/IMG_1247.JPG data-lightbox/media/gallery/blogpics/GeigerCounter>img classimage-thumb src/media/gallery/blogpics/GeigerCounter/IMG_1247_320_thumb.JPG/>/a>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/GeigerCounter/IMG_1248.JPG data-lightbox/media/gallery/blogpics/GeigerCounter>img classimage-thumb src/media/gallery/blogpics/GeigerCounter/IMG_1248_320_thumb.JPG/>/a>/div>/div>/div>p>a hrefhttps://micampe.it>Michele/a> is a fan of the Chicago version, IIRC. :)/p> /div> /article> article classpost itemscope itemtypehttp://schema.org/BlogPosting> header classpost-header> h2 classpost-title itempropname headline>a href/2018/10/18/nikon-he-5-lens-hood.html>Nikon HE-5 Lens Hood Extension/a>/h2> p classpost-meta>time datetime2018-10-18T17:45:00-07:00 itempropdatePublished>Oct 18, 2018/time>/p> /header> div classpost-content itemproparticleBody> p>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 thats 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. Its incredibly heavy and impractical to carry around, but along with my a hrefhttps://nikonrumors.com/2014/10/29/diy-shaving-a-nikon-teleconverter.aspx>modified/a> TC-20E III, its pretty much like looking through a telescope. I also added a a hrefhttp://pindelski.org/Photography/2012/03/08/adding-a-cpu-to-mf-nikkor-lenses-part-i/>dandelion CPU/a> to the lens to get some of the benefits of more modern kit, like focus priority shutter and EXIF lens info./p>div classphoto-center-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/IMG_0212.jpeg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/IMG_0212_320_thumb.jpeg/>/a>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/IMG_0029.jpeg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/IMG_0029_320_thumb.jpeg/>/a>/div>/div>/div>p>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 its 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./p>div classphoto-center-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/IMG_1260.jpeg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/IMG_1260_320_thumb.jpeg/>/a>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/IMG_1262.jpeg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/IMG_1262_320_thumb.jpeg/>/a>/div>/div>/div>p>I was elated to finally complete my kit by adding this part—but it turned out upon receipt, the hood extension wouldnt 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 hadnt 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 a hrefhttps://parts.nikonusa.com/en/nikon-products/product/lens-parts/hk-30-knob-unit.html>missing knob/a> 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 itd be impossible to find original tabs I needed, so I studied all the photos I could find, approximated what size theyd need to be to mount the lens, and started modeling in a hrefhttps://www.autodesk.com/fusion360>Fusion 360/a>. I asked for some help on the a hrefhttps://www.dpreview.com/forums/post/61533710>DPReview forums/a>, and got some help from the community there. A quick trip to the Shapeways website, and I had my first revision in hand./p>div classphoto-center-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/DSC_5553.jpg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/DSC_5553_320_thumb.jpg/>/a>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/DSC_5576.jpg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/DSC_5576_320_thumb.jpg/>/a>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/IMG_1411.jpeg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/IMG_1411_320_thumb.jpeg/>/a>/div>/div>/div>p>div classphoto-left-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/IMG_0194.jpeg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/IMG_0194_320_thumb.jpeg/>/a>/div>/div>/div>Of course the first revision didnt 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 a hrefhttps://www.shapeways.com/materials/professional-plastic>Professional Plastic/a> (HP PA12 Nylon Plastic) is extremely durable and seems like itll be perfect for this kind of mechanical part./p>p>div classphoto-right-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/IMG_1513.jpeg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/IMG_1513_320_thumb.jpeg/>/a>/div>/div>/div>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 couldnt 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 trilobular. 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 couldnt find a supplier in the US. Eventually a hrefhttp://saima-shop.com>Saima Corporation/a> 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./p>div classphoto-center-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/IMG_0217.jpeg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/IMG_0217_320_thumb.jpeg/>/a>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/IMG_0210.jpeg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/IMG_0210_320_thumb.jpeg/>/a>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/HE-5/IMG_0214.jpeg data-lightbox/media/gallery/blogpics/HE-5>img classimage-thumb src/media/gallery/blogpics/HE-5/IMG_0214_320_thumb.jpeg/>/a>/div>/div>/div>p>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 Ive got a working hood extension!/p>p>Im looking forward to more birding expeditions this fall, no matter the angle of the sun. :)/p>div classphoto-right-aligned>a href/media/blog/HE-5/HE-5_Large_Tab_Rounded.usdz relar>img src/media/blog/HE-5/HE-5_Large_Tab_Rounded.png altHE-5 Tab width220 height149/>/a>br/>center>small>3D Model /small>/center>/div>ul>li>a href/media/blog/HE-5/HE-5_Large_Tab_Rounded.stl>STL Download/a>/li>li>a hrefhttp://shpws.me/QMQK>Buy on Shapeways/a>/li>/ul> /div> /article> article classpost itemscope itemtypehttp://schema.org/BlogPosting> header classpost-header> h2 classpost-title itempropname headline>a href/2018/01/18/kaidan-quickpan-detent-discs.html>Kaidan QuickPan IV Detent Discs/a>/h2> p classpost-meta>time datetime2018-01-18T16:00:00-08:00 itempropdatePublished>Jan 18, 2018/time>/p> /header> div classpost-content itemproparticleBody> p>Recently Ive been getting back into panoramic photography. Its been a lot of fun, after perhaps a decade long hiatus, to capture spherical panoramas again. I picked up a mint condition a hrefhttps://web.archive.org/web/20080420222851/http://www.kaidan.com:80/>Kaidan/a> QuickPan IV tripod head with Spherical Bracket to relive my early 00s QTVR days, while securely mounting my new Nikon D810 camera when capturing photos./p>p>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./p>p>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 wasnt included in the kit./p>p>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 a hrefhttps://www.ponoko.com>Ponoko/a>. I used my vintage Browne & 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 & handling. The quality is excellent, and the 1.5mm Delrin material is perfect for the discs./p>div classphoto-center-aligned>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/IMG_0084.jpg data-lightbox/media/gallery/blogpics>img classimage-thumb src/media/gallery/blogpics/IMG_0084_320_thumb.jpg/>/a>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/IMG_0086.jpg data-lightbox/media/gallery/blogpics>img classimage-thumb src/media/gallery/blogpics/IMG_0086_320_thumb.jpg/>/a>/div>/div>br/>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/IMG_0082.jpg data-lightbox/media/gallery/blogpics>img classimage-thumb src/media/gallery/blogpics/IMG_0082_320_thumb.jpg/>/a>/div>/div>div classimage-padding-container>div classimage-container>a classimage-link href/media/gallery/blogpics/IMG_1068.jpg data-lightbox/media/gallery/blogpics>img classimage-thumb src/media/gallery/blogpics/IMG_1068_320_thumb.jpg/>/a>/div>/div>br/>center>small>Reproduction Detent Discs/small>/center>/div>p>The fit is a bit snug, but they work great! Ive made the discs available for purchase through a hrefhttps://www.ponoko.com/design-your-own/products/kaidan-quickpan-iv-detent-discs-4-5-7-8-9-detents-14652>Ponoko here/a>, and also am providing the design file for a href/media/blog/P1-Detent-Disc-Set.svg>download here/a>. While its unlikely many folks are looking for detent discs for the long discontinued QuickPan IV tripod head, I figured itd be nice to have some source to get them in case anybody needs replacements./p>p>I havent yet captured a panorama with my new discs, but last weekend I went to Treasure Island and recorded the image below. Im still working on HDR, color, and stitching details, but still happy with the results./p>div classphoto-center-aligned>a href/projects/qtvr/panoramas/TreasureIsland/>img src/media/blog/treasure_island_preview.jpg altTreasure Island class.photo-center-aligned width400 height148/>/a>/div> /div> /article>!-- Pagination links -->div classpagination> em>1/em> a href/updates/page2/>2/a> a href/updates/page3/>3/a> a href/updates/page4/>4/a> a href/updates/page5/>5/a> a href/updates/page6/>6/a> a href/updates/page2/>Next →/a>/div> p classrss-subscribe>subscribe a href/feed.xml>via RSS/a>/p>/div> /div>/article> /div> /div> footer classsite-footer> div classwrapper> p classfooter-credit>© 2024 | script typetext/javascript>!-- var ajoe;var by@joeyhage; var cdorn.com; document.write(a hrefmailto:+a+b+c+>+Joey Hagedorn+/a>); --> /script> /div>/footer> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]