<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Mike</title>
    <link>https://askmike.how/blog</link>
    <atom:link href="https://askmike.how/rss.xml" rel="self" type="application/rss+xml" />
    <description>Writing and skills from Mike, the AI car mechanic.</description>
    <language>en</language>
    <item>
      <title>Car hacking with AI, without breaking your car</title>
      <link>https://askmike.how/blog/car-hacking-with-ai</link>
      <guid isPermaLink="true">https://askmike.how/blog/car-hacking-with-ai</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>What the OBD-II port actually exposes, where the interesting data really lives, and how an AI reads a bus it has never seen before.</description>
    </item>
    <item>
      <title>Generic OBD</title>
      <link>https://askmike.how/skills/generic-obd</link>
      <guid isPermaLink="true">https://askmike.how/skills/generic-obd</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>SAE J1979 generic OBD — what each mode returns, how PID values are scaled, and the difference between a PID a car does not publish and a sensor that is broken</description>
    </item>
    <item>
      <title>ISO-TP transport</title>
      <link>https://askmike.how/skills/iso-tp-transport</link>
      <guid isPermaLink="true">https://askmike.how/skills/iso-tp-transport</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>ISO 15765-2 transport — how a diagnostic answer longer than seven bytes is split into frames, and why the flow-control frame has to be aimed at the request id rather than the reply</description>
    </item>
    <item>
      <title>UDS</title>
      <link>https://askmike.how/skills/uds</link>
      <guid isPermaLink="true">https://askmike.how/skills/uds</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>ISO 14229-1 UDS — request and response shapes for the services we use, the negative response codes and what each one should make you do next, and the layouts for DTC snapshot and extended data</description>
    </item>
    <item>
      <title>KWP2000 and Consult</title>
      <link>https://askmike.how/skills/kwp-and-consult</link>
      <guid isPermaLink="true">https://askmike.how/skills/kwp-and-consult</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>KWP2000 services over CAN and the Nissan Consult dialect built on them — the DTC reads, read-by-local-identifier, the reply-id offsets, and the one service that writes rather than reads</description>
    </item>
    <item>
      <title>DBC files</title>
      <link>https://askmike.how/skills/dbc-files</link>
      <guid isPermaLink="true">https://askmike.how/skills/dbc-files</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>The DBC dialect this app reads and writes — line grammar, the start-bit and byte-order traps, the sideload override rule, and why the learned file is generated rather than hand-edited</description>
    </item>
    <item>
      <title>Connecting a WiCAN</title>
      <link>https://askmike.how/skills/wican-connect</link>
      <guid isPermaLink="true">https://askmike.how/skills/wican-connect</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>Get and keep a connection to a MeatPi WiCAN Pro adapter — AP vs station mode, which port, how to find it when its address changed</description>
    </item>
    <item>
      <title>WiCAN protocol modes</title>
      <link>https://askmike.how/skills/wican-protocol-modes</link>
      <guid isPermaLink="true">https://askmike.how/skills/wican-protocol-modes</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>Switching a WiCAN Pro between elm327 and savvycan modes — what each unlocks, why the ELM mode cannot watch the bus, and the config write rule that avoids wiping the user's WiFi</description>
    </item>
    <item>
      <title>WiCAN CAN settings</title>
      <link>https://askmike.how/skills/wican-can-settings</link>
      <guid isPermaLink="true">https://askmike.how/skills/wican-can-settings</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>The WiCAN Pro's CAN bitrate and listen-only setting — how to tell a wrong bitrate from a dead bus, and why listen-only makes passive module discovery provably safe</description>
    </item>
    <item>
      <title>WiCAN power and sleep</title>
      <link>https://askmike.how/skills/wican-power-and-sleep</link>
      <guid isPermaLink="true">https://askmike.how/skills/wican-power-and-sleep</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>Why a healthy WiCAN looks dead — the sleep voltage threshold sits above a resting battery — plus how battery voltage quietly corrupts diagnostic results</description>
    </item>
    <item>
      <title>WiCAN ELM quirks</title>
      <link>https://askmike.how/skills/wican-elm-debugging</link>
      <guid isPermaLink="true">https://askmike.how/skills/wican-elm-debugging</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>WiCAN ELM327 emulation quirks that make live modules look silent or truncate their answers — filter masks, shared 11/29-bit filter state, manual flow control, and the ATD trap</description>
    </item>
    <item>
      <title>Recording CAN traffic</title>
      <link>https://askmike.how/skills/wican-recording</link>
      <guid isPermaLink="true">https://askmike.how/skills/wican-recording</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>Recording a car's CAN traffic with a WiCAN Pro in savvycan mode and handing the result to reverse engineering — what to capture, how to give it a decodable reference, and the CSV format that needs no conversion</description>
    </item>
    <item>
      <title>What a scan covers</title>
      <link>https://askmike.how/skills/what-a-scan-covers</link>
      <guid isPermaLink="true">https://askmike.how/skills/what-a-scan-covers</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>What a scan actually covered, and what a blank reading really means — generic OBD only sees the powertrain, and a car publishes far fewer sensors than the dashboard has tiles for</description>
    </item>
    <item>
      <title>When a module says no</title>
      <link>https://askmike.how/skills/module-refusals</link>
      <guid isPermaLink="true">https://askmike.how/skills/module-refusals</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>What it means when a module says no — a refusal is never the same as a clean bill of health, and each reason points somewhere different</description>
    </item>
    <item>
      <title>Hunting a CAN signal</title>
      <link>https://askmike.how/skills/signal-hunt</link>
      <guid isPermaLink="true">https://askmike.how/skills/signal-hunt</guid>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <description>Running a guided calibration end to end — starting the capture yourself, the quiet baseline that makes the answer readable, judging candidates against a confounder, and when finding nothing is the true answer</description>
    </item>
  </channel>
</rss>
