PULSCAR ANALYSIS - P0505 AND P0506 (IDLE CONTROL SYSTEM) AND LOW, UNSTABLE OR STALLING IDLE IN NHTSA'S PUBLIC FILES PulsCar analysis of NHTSA public data, October 2026. License: CC BY 4.0 Attribution: "PulsCar analysis of NHTSA public data, October 2026." Published alongside https://www.pulscar.io/blog/p0505-code ------------------------------------------------------------------------------ Prepared October 2026. Source data: NHTSA public flat files (complaints received 1 January 2015 to 4 October 2026 - the latest received date in the files; the index of manufacturer communications; the recalls table) and documents downloaded one at a time from static.nhtsa.gov. The NHTSA complaint file is public: anyone can download it from NHTSA and check any number here against it. 1. Complaints (2,200) First search (1,864): every complaint whose narrative (a) names the code P0505 or P0506 by any spelling we searched (a letter O for zero, a space, hyphen or period after the P, the suffix 00, or a bare number after "code", "DTC", "error", "CEL" or "fault"), or (b) uses idle-control wording (idle air control valve, IAC, idle control valve, motor or system, idle speed control, idle valve or actuator, idle learn or relearn, idle speed, idle rpm; a throttle body that was cleaned, dirty, carboned or sticking; the words relearn or learn procedure only together with idle, throttle body, rpm or stall wording), or (c) describes an idle that hunts, surges, fluctuates, bounces, dips, drops or is too low. The exact search wording is in codebook.txt. Left out on purpose: narratives that say only that the engine stalled or idled rough, with no idle-control wording, no code and no rpm or hunting wording. There are thousands of them and most describe a misfire, a fuel fault or a transmission fault. Their ODI numbers are in complaints-not-sorted.txt (6,132 narratives); none of them were sorted or counted. A high idle (P0507) has its own page and is counted here only when the complaint also describes a low, unstable or stalling idle. Independent check (336): a separate search of the whole complaint file for what the first one missed, run after the first batch was sorted. About 1,950 narratives were read against the same relevance rule; 336 were added (idle described as "idles low" or "very low"; rpm or tachometer movement without the word idle; rpm figures; generic wording such as "idle problems" or "poor idle"; misspellings of idle; idle-control wording phrased differently). The search was not stopped by a limit. Of the 336, the sorting counted 321 as relevant. found_by in the complaints file says which search found each complaint ("first search" or "independent check"). Sorting: the sorting rules (codebook.txt) were written, dated and fingerprinted before any complaint was sorted; an addendum for the second batch was fingerprinted before that batch was sorted. Every complaint was sorted twice, independently, by the same written rules, each time from the rules alone, without sight of the other sorting (columns sorting_1 and sorting_2). One category (T throttle body; I idle air control valve; V air leak; S sensor; E engine computer or software, including a relearn that cured it; F fuel, ignition or engine mechanical; O another named cause; K checked and cleared by a shop; U cause not stated or unknown; N not an idle fault of the kind studied), one symptom (H hunting or surging; L low idle; S stall; X none described) and four flags (stall, recall, returned, relearn). Where the complaint gave the sorting only an excerpt around the matching words, the complete text was used when the excerpt did not decide the question. Agreement of the two sortings over all 2,200: category 92.9% (2,044 of 2,200); symptom 95.4%; stall 98.5%; recall 98.3%; returned 93.8%; relearn 99.3%. Settling: every complaint on which the two sortings differed in any of the six fields (316 complaints) was settled by one of the written rules listed in codebook.txt; the rule applied is in the rule_applied column. A final check then changed 13 rows under the same rules (12 stall marks added, 1 relearn mark removed; the resolution column says "changed in final check"): relevant complaints whose wording contained a stall word or a relearn word were read in full and the mark was changed where the whole text says so. Result: 1,015 relevant (694 from the first search, 321 from the independent check), 1,185 not relevant. Counts are counts of complaints, not cars. A complaint is evidence that an owner wrote to NHTSA; nothing here is a failure rate. 2. Documents NHTSA's index of manufacturer communications lists 1,292 bulletins whose summary names a code from the P0505 family or uses idle-control, hunting, surging, low or stalling idle wording. Not all of them could be read. Chosen: 101 whose own index summary names P0505 or P0506 (tier A); 249 more chosen by going through the roughly 650 distinct headlines of the idle-wording matches and keeping those about a low, unstable, hunting, surging or stalling idle, idle air control, an idle relearn, idle-speed software or throttle body cleaning or learning (tier B; plain rough-idle and misfire headlines, high-idle-only headlines, idle shutdown, idler pulleys and diesel knock were left out). The independent check added 57 more bulletins (idle dips, rpm drops, stall when stopping, idle stability software), 56 of which have a file. Index entries not chosen are not evidence of anything. Files: 402 bulletin files for 397 bulletin numbers in the index (the first list, then 56 more added by the independent check; 341 distinct documents once the 61 exact copies are set aside; some bulletins have two or three files). The NHTSA index gave no downloadable file for these ids, so they are not in documents.csv: 10190246, 10085386, 10091269, 10093110, 10149580, 10162394, 10162418, 10193236, 10097037. NHTSA's file for 10150032 is empty. These 10 ids are listed here and nowhere else. Reading: the files fall into groups of near-identical documents (revisions, copies, look-alikes). One representative of each group was read in full; the other files of the group were compared with their representative line by line (240 read in full, 162 compared; 61 of the compared files are exact copies, with the same text as another file, and the rest differ only in details such as a revision date, a model list or a part number, which the comparison recorded). 26 files whose PDF had no readable text were read from images of their pages. Every verbatim quotation was checked against the text of the named document, with the page number. The document list says, for each file, whether it was read in full or compared, which of the codes P0505 and P0506 its own text names (105 files in 105 bulletins do), which other idle codes it names (P0507, P0508, P0509, P050A-P050E, P2176, P2177), and its relevance (DIRECT: about a low, unstable or stalling idle or an idle-control code; LISTED: a target code is one of many in a list; RELATED: a neighbouring fault or the same symptom from another cause; NOT RELEVANT). Recalls: 4 recall campaigns whose papers say the engine may stall at idle or when stopping, or tie a stop to throttle deposits, were chosen by searching the recall texts for stall-at-idle, idle-control and throttle-deposit wording (the recalls table has no entry that names P0505 or P0506): 11V-583, 12V-076, 13V-430, 18V-175. All 34 filings that NHTSA's recall listing gives for them were downloaded and read (33 read in full, 1 compared line by line with a copy); 3 were read from page images. High-idle and pedal-return recalls were left out. Years and models are as printed in the papers, never from NHTSA's index. Investigations: 7 NHTSA investigation summaries on stalling or throttle bodies were read in full (DP12006, DP19003, EA08005, PE03059, PE05027, PE12016, PE13003). Vehicle years, engines, build dates and coverage terms are as printed in the documents. Coverage status "as of September 2026" is the authors' computation from printed terms. duplicate_of marks exact copies (same text as another file); a second or third file of the same bulletin is listed as the bulletin id followed by -2 or -3. pdf_url is the NHTSA file address on static.nhtsa.gov; for the investigations it is the closing report where NHTSA lists one (blank for DP19003 and PE13003, which have no linked file). 3. Owner-reported amounts (37 figures in 33 complaints) One written inclusion rule (fixed before the figures were decided): a dollar figure is included when the owner states it as a price, charge, bill or quote for diagnosing, repairing or replacing a part of the idle-control or air-intake system for this low, unstable or stalling idle on that vehicle (throttle body cleaning or replacement, idle air control valve or motor, a vacuum or intake leak repair, a sensor named as the idle repair, an engine computer replacement or software update, an idle relearn, a diagnostic fee, or a tow caused by the event). Excluded: mileage written as "NNk"; vehicle value, payments, trade-ins or refund requests; repairs of other systems; totals that mix this fault with other work unless the owner attributes the figure to the idle part; restatements; hypothetical figures and other owners' costs; hybrid or electric traction-battery prices. Status comes from the owner's own words (paid, billed, quoted, offered, not stated). 154 candidate figures were found in the 104 relevant complaints that contain a dollar figure and 117 were excluded, each with its reason. Figures are what owners wrote, not audited invoices. 4. Limits The complaint file holds the cases where an owner wrote to NHTSA, in the owner's words, with no verification; owners whose trouble ended are mostly not in it. The shares reported describe the complaints, not all cars. Only 23 relevant narratives print P0505 or P0506 themselves (7 P0505, 17 P0506, 1 both); the rest describe the same low or unstable idle in words, which is why the set is built on wording as well as on codes. Complaints that say only "stalls" or "rough idle" were left out by rule, and some of them may be the same fault in plainer words. The document set holds what NHTSA's index lists and what could be read; a maker paper that is not in the index is not in it, and 10 chosen index entries have no file to read.