The Sad Tale of the Honda Civic Gen 7 “Value Package”

So here’s the tale of the Civic VP “Value Package”.
Some of this is based on personal observations, speculation, and experience with working on one, so as with an EPA efficiency estimate… Your Mileage May Vary
For the 2000 model year, the Civic Generation 7 made its way to market with the new D17* series engines, a 1.7 liter engine that was of course significantly larger than the 1.6 that was in the gen 6. The nice old double wishbone suspension went away to make room for it, getting replaced instead by a pair of cheap, fragile little Macpherson struts (they did NOT like Miami roads one bit and tended to get fucked up, though aftermarket replacements WERE tough enough to deal.)
The D17 came in a couple variants. It had a mad high compression ratio (almost good enough to be a diesel!) and allowed for operation in a lean-burn mode which was pretty awesome for increasing fuel economy and not requiring as many hoops to be jumped through to meet and exceed 50-state emissions standards. This, unfortunately, brought about one of the major challenges in practice….

I’ve always been pretty fond of Honda’s engineering. Toyotas are a definite go-to for freaking indestructible little cars that just keep going for over a decade… or TWO, if they’re not used in areas where the roads are salted, but there are a few places you can tell some corners were cut to keep the vehicle on budget. It’ll be like certain elements of the interior feel cheap and nasty, because they used all the budget on the chassis and powertrain. Honda has a certain sort of fit and finish to everything that’s a cut above, but this also pushes up the price of their vehicles a bit.
In previous versions of the Civic, there were a couple of common trim lines. There was the EX which was usually the lower trim and had a smaller engine size, the DX which had the larger engine but fewer interior features, and the SI which had the larger engine, variable valve timing, and all the power accessories and stuff. The corresponding Acura models were pretty much a fancier SI.

Around 2000, the auto industry met a very strange set of circumstances. The market had dramatically fragmented in two different directions, with the domestic Big Three (Ford, Chrysler, General Motors) investing ENTIRELY in large sport futility vehicles, whereas overseas brands such as Toyota, Honda, Subaru, Suzuki*, Kia, Hyundai, Nissan, Mitsubishi, and a host of others I’m probably forgetting about off the top of my head, were remaining loyal to their longtime customers and their preferences for smaller, fuel-efficient vehicles. The sales and pricing tactics behind the large SUVs were all messed up too – the vehicles were mostly being leased instead of sold outright, which brought in a lot of extra money to the automakers’ financing divisions in interest and fees, but also had the unfortunate effect of encouraging the automakers to once again start pumping out disposa-cars that were made to last up to 80,000 miles or 6 years then become unserviceable scrap metal.

So, there are some possible reasons as to why Honda may have been seeking to reduce the price of their 2001 model year vehicles (which would have been spec’d out and designed in 2000 and prior years). I suspect one of them may have been the dot-com crash, but who knows.

So, at first glance, a Civic VP seemed pretty normal for a lower trim line car. It had a pretty basic interior with cloth seats, a cheaper audio system, manual crank windows, no power accessories to speak of other than power steering (which was perplexing as it was by no means actually needed!), and used the D17A1 engine which didn’t have VTEC variable valve timing. That seems perfectly reasonable. It also made use of the D17’s lean burn capability to save on fuel, and could go damn near forever on one full 12 gallon tank, when it was working right.

The key is, when it was working right.

Now, to allow this to make sense to those not already intimately familiar with the systems to the point of them having caused headaches, here’s a little introduction to closed-loop electronic fuel injection.

Diagram from

The stoichiometric ratio by mass of gasoline to air needed to allow for complete, optimal combustion, is 14.7:1. For sake of simplicity, let’s assume that your gasoline were pure octane (C8H18) – the stoichiometric equation would be 2 C8H18 + 25 O2 → 16 CO2 + 18 H2O.
If you add too much fuel, you get unburned hydrocarbons and very nasty exhaust. You can, however, allow the gasoline to be the limiting reagent by adding more air to some extent and it works fine, although if you go too far, preignition becomes a problem (engine knock). The engine will usually be allowed to run rich during hard acceleration to avoid knock, with some “scavenging” possible downstream and in the catalytic converter.

Almost all modern automobile engines use electronic fuel injection. This system uses software or even analog electronics (in very old variants like early Bosch Jetronic) to precisely meter out fuel to each cylinder in a manner that keeps it at 14.7:1. The feedback loop relies on the signal from an oxygen sensor in the exhaust stream to measure the amount of oxygen remaining after combustion has taken place.

The sensors are of one of two designs. Earlier designs are a “narrow band” type where the output cycles from a higher voltage to a lower one quickly as the oxygen concentration crosses a certain threshold which closely corresponds to the system running at an optimal ratio. The software reacts to this “bang-bang” output by adjusting a short term fuel trim value up and down repeatedly to keep it right at the threshold. If you are using an OBD2 interface on a vehicle compatible with this, you can monitor the short term fuel trim value while the engine runs and see it, as well as the oxygen sensor voltage (in most cases) cycling up and down. Normally the cycling should be fairly tame, but wild cycling of like 10% indicates a problem, usually the damn pricey knuckle-buster ass sensor… 😉

If you are using an OBD2 scanner (and not watching the display while driving, I hope!) on a vehicle with a narrowband sensor, you will also observe that the system cycles from closed-loop to open-loop mode during hard acceleration. This is normal and is a limitation of the narrowband system. It simply isn’t capable of being used while the software has called for richer conditions to avoid engine knock. Once you let off the gas a bit, it will resume closed-loop operation.

These narrowband sensors are usually pretty much identical, except… on this stupid Civic VP.

More and more vehicles in current production have gotten away from the limitations of the narrow-band sensor by switching to wideband sensors. These output an analog voltage level without a sharp transition and can be used to monitor and maintain oxygen levels corresponding to ratios other than 14.7:1. Now you can have full closed loop control during hard acceleration AND the system can pretty much call for and maintain any ratio it wants, including anything from 10:1 while you’re flooring it up a freeway entrance to prolonged lean-burn operation while cruising at highway speeds.

In any vehicle made after 1997, EPA standards require two oxygen sensors, upstream and downstream of the catalytic converter. The downstream sensor’s purpose is to allow a diagnostic cycle to run as you’re driving to ensure that the catalytic converter is actually working. In a lot of vehicles, that’s all it does. In some really oddball systems, it is actually used as part of the air/fuel ratio regulation. Guess who did this—–

Enter the horrible, godawful engine management system of the Civic VP. In the process of lowering the bill of materials cost for the car, Honda undoubtedly approached their usual systems manufacturer, the automotive parts giant Nippondenso, with a specification, and were not pleased with the cost estimate, so they got creative and turned instead to Keihin Corporation for the system. Keihin is best known for their motorcycle components and fuel injection systems, and I feel like they got in a bit over their head on this project as it would have been unlike anything they’d worked on before. I’ve never heard of a motorcycle with a lean-burn feature, at least not from that time period.

For whatever twisted reason, Keihin did not use a wideband oxygen sensor, even though those were available at the time and were already being used in some passenger car and SUV applications… notably to help the Big Three’s SUVs meet California emissions standards by allowing weird air-fuel ratios. Barely.

NGK, a big manufacturer of spark plugs and ignition components, also makes oxygen sensor elements. As I recall, the three big manufacturers of them are Bosch, NGK, and Nippondenso, with their parts being used by pretty much everyone. In some cases the sensors are even successfully interchangeable! This was the case on my old 1995 Civic; it really didn’t care whose “universal” heated oxygen sensor you put in as long as you wired it in the right pinout. It’d just come right up and enter closed loop operation. Of course, that engine management system was wonderfully primitive… few variables, no EGR valve, no variable valve timing. It was hilariously simple. Well, Keihin found out that NGK could manufacture narrowband oxygen sensors with a higher oxygen concentration threshold than you’d get from a 14.7:1 ratio. Great! Now they can keep the lean-burn mode right on target! Oh wait, the custom narrow-band sensor costs $600. Eh, that’s ok, we saved so much money!

…… I have absolutely no idea how they were getting the 14.7:1 ratio off this system. It seemed like it had to be derived from the downstream sensor SOMEHOW, but how was never clear, nor was I ever able to make it work like this ever again once The Product Lifecycle Endenining happened.

“Product Lifecycle” might as well be a four letter swear word stronger than “fuck”**, by the way. Since the late 1990s to early 2000s or so when the freaking beancounters took over everything, when an electronics manufacturer introduces a product, its entire future has been planned out in advance. It will be manufactured for only so many years, then it will enter “lifetime buy” status wherein production will continue to order for a certain window of time, but then it’s closed to new orders and the device will never be manufactured again. If you’re lucky, the device may be licensed out to another manufacturer for second-source production, but even then, most of those manufacturers also put it on a fixed lifecycle. It probably increases profit margins by some piddling tiny amount for the companies who employ this system, but in the end, it creates tons of extra costs for the manufacturers of equipment using these parts, and for the end users trying to keep their stuff in service. I should add, it also scares me a little when I see that Dell EMC servers contain a component that they named the “Lifecycle Controller”. I don’t know what this does. I don’t want to know what this does.

So, it seems that Honda really dropped the ball hard here. On the earlier Generation 6, 5, and prior Civics, they really didn’t care whose narrowband sensor you put in them, so it probably wasn’t a big deal sourcing parts – if Nippondenso couldn’t deliver them that month, they could go to NGK, or Bosch, it didn’t matter much at all. With the Keihin system built to support lean-burn on the D17A1, it became a unique, critical part, that nobody else made, and it was expensive….. and they didn’t bother to secure a long lifecycle or a large quantity of extra sensors. Once the sensors reached end of life, the fun began.

While the cars were still in production and new vehicles were still in the sales channel, the sensors ran out. They were originally $650 each through the dealerships while they were available, but after that, the cars all became almost impossible to drive. Once in a blue moon, someone would come across new old stock sensors in a parts warehouse somewhere, but those all dried up quick, and the usual Chinese dumpshit houses flooded the market with supposedly compatible sensors that weren’t. In most cases, they still retained the original $650 price tag, though. The last time I checked, there was no option to keep these cars in service once the sensor failed, but in most cases, they stayed in operation by sheer luck by virtue of being low enough in mileage to have not worn out the sensor.

I had planned for a while to try replacing the custom narrowband sensor with a wideband sensor and an Arduino board set up to just keep reading its output voltage and simulate the output of the custom narrowband, but the specifications on where this thing were to have been set were not available anywhere. In addition, this was complicated by the fact that the quite active community of hackers and performance tuners who had worked out and documented just about everything on the earlier Honda ECMs couldn’t figure out anything about the Keihin one other than how to delete the RFID immobilizer daughterboard that required expensive keys. It was apparent from the behavior of this ECM and what it provided via OBD2 PIDs that it did not have an analog to digital converter on the pin that read the sensor – more like just a logic input and a Schmitt trigger, if even that.


Even though measuring the exact output voltage from a narrowband oxygen sensor is not useful for determining the oxygen concentration beyond whether you’re above or below the transition point, it is vital for diagnostic purposes. For one thing, a common trick is used in which a resistive voltage divider is connected to the output pin. This applies a sentinel voltage to it through a high resistance, which the software looks for. The sensor only works once it’s heated to a high temperature (250 degrees C or so…?) and behaves like an open circuit otherwise. If the sentinel voltage is present after startup, this indicates the sensor is not ready for use and the system will need to remain open loop until it warms up more. A timer is started at this point, and if the sensor doesn’t come up after a sane and reasonable warmup period, it sets a fault code for oxygen sensor open circuit, falls back to open loop, and lights the check engine light. Cracking of the sensor element is a common failure mode.

There are also failure codes for slow response, or a voltage level that’s just totally out of whack, each with a potentially useful and descriptive fault code to let you know whether it could be an issue at the sensor or the wiring harness (+12 shorted to sensor output, or sensor output shorted to vehicle ground? Well Excuse Me, Princess)

The only PID present from this system was “Equivalency Ratio”. The software would not provide this value when it was running open loop. In fact, it seemed to have no real sanity checking whatsoever, though it would exhibit a pair of strange reactions to the sensor being incorrect or even absent.

The first thing it’d do is, if you had JUST cleared the fault codes, it would run open loop for one drive cycle, and would have a pending fault code for oxygen sensor no response (or something like that). It was driveable, but fuel efficiency was terrible as to be expected, with stinky rich exhaust. I remember driving it like this from Orlando to Miami once, a distance of about 240 miles, and having to stop for gas with it almost empty after about 200. The 18 mpg or so it turned in would make sense for a big SUV, but not for that car.
The second thing it’d do, after this first drive cycle, would be to turn on the Check Engine light. Makes sense, right? However… it would begin trying to use the incorrect reading from the sensor as well, and would do some Very Bad Things. For one, if you were cruising at a low engine load at about 40 mph, it would try to activate the lean-burn mode, using the output of the sensor to tune it in, and would begin running so rich it’d actually flood itself while already running, leading to a great volley of nonstop misfires. Once this started, you could break out of it by manually downshifting, but you could not accelerate at all unless you did. If you did drive it around normally, only possible by using the D2 and D3 settings on the transmission, it would turn in an impressive (for the wrong reasons!) 8 miles per gallon. I can’t even imagine what the air/fuel ratio was when it did this, but it was definitely so rich as to entirely prevent proper combustion. Fault codes would be set both for “system too lean” and “system too rich” – it was horribly confused! It pretty much had to remain married permanently to a scan tool so you could reset the ECM EVERY TIME YOU STARTED THE CAR to get back into that open-loop state. Strangely, there was a slight difference if you were to leave the downstream sensor unplugged or not – as I recall the engine would entirely stop after a minute if you had the downstream unplugged, but it’d keep running with it present, suggesting that at least something was happening with its reading. The downstream sensor, by the way, DID have analog to digital conversion and you could read its output voltage.

I won’t get into the goofy ass story here of what finally happened to the car, other than that I was glad when it finally left service for good.

* When have you ever seen any MARKETING for Suzuki? Nice vehicles, but it’s like nobody’s ever heard of them.
** just in case the count of times I say “fuck” on this site was getting critically low or something


This is a real head scratcher, what went wrong here (everything?) and how did it go that wrong.


It seems to me like the cover fell off then the truck took a quick turn, but who knows. I couldn’t get the batteries back in that same way. Uh, ok, it works now

Discontentment at RF Central

Several years ago, I worked for a TV station in Miami that had gotten a bunch of Eurotek microwave STL and ENG link radio units out of the Sprint/Nextel MMDS rebanding deal. Apparently, at the time, Sprint’s tradeoff to get the spectrum was that they had to provide new 2 ghz microwave ENG gear to any TV station whose stuff would have been obsoleted by the new bandplan. Some stations got a different one, others got the Eurotrash, I mean, Eurotek.

We had quite a few of them, all in relatively non-critical service. One of our older engineers there was trying to keep them all alive but his success was limited as the 2 ghz and particularly the 7 ghz units liked to lose reference oscillators which were made of pure Unobtainium.

The units had constant cooling issues that led to a lot of power supply and amplifier failures too.

I mean, don’t get me wrong, it was a kinda cool platform for its time… all modular and a 1U mainframe could contain any mix of transmitters (upconverters), receivers (downconverters), power amplifiers, ASI stream multiplexers or demultiplexers, and can even interleave general purpose data over the connection and make it available via standard Ethernet ports on either end.

Unfortunately it’s about like most other Italian RF gear I’ve worked on, which is to say……. questionable garbage.

Click to continue (endless page spam avoidance yada yada)
Read more “Discontentment at RF Central”

Bok-AWWW, Sacramento

I heard some happy crowing in the studio this morning and went to investigate.

“Sir, are you aware you’re a rooster?”

S H 🐣 🐣 K

Yeti the rooster and Patty the duck were wonderful guests and gave us all plenty of happy butt wiggles and little chirps.

420 smoke semiconductors every day

Did I ever mention that I’m glad I don’t have any Screen Service rigs in my care?

These RF Central ENG microwave rigs are quite enough thank you!

I dunno, Italian transmitters aren’t my cup of tea, but at least they’re leaps and bounds better than PissTek. 😉

Hexem E-I-R Meter: Angry Battery Salad

I was at Surplus Stuff and they had two of these Hexem E-I-R meters. They’re beautiful multimeters that were introduced by Belleville-Hexem of Los Gatos, California around 1958.

Los Gatos? That’s me! Prrrrrp!

Google it if you wish but you’ll only find tiny blurbs where it was advertised in a few trade magazines from 1958-1960, and it was recommended by Systron-Donner to calibrate an early chopper stabilized instrumentation amplifier.

Hexem also advertised an “incremental” meter that sounds in concept like a differential voltmeter. This one’s interesting in that it can measure some very high resistances.

And now, we take out two screws in the back and go to look for what batteries it needs. I’m guessing maybe a D and a B (45 volt). Okay, the beautifully built steel case comes apart aaaaaaand

What have I done?!

I’m questioning some of my choices in life about now

There are more battery holders hidden under the shield here?!

Ok, so breaking it down… The RM1R is a 1.34 or 1.5v cell, kinda a 1/3 AA or so. I say 1.34 or 1.5 because I’m unsure if it was supposed to be mercury or alkaline.

Mercury batteries were common in measurement applications through the 1960s as they provided good life and very stable voltage over their lifespan. Of course, they create an toxic ecological disaster and have fallen from use. They’re common in early camera light meters, in which case they can be directly substituted for a zinc-air hearing aid battery with no recalibration required (the change in reading is less than 1/3 f/ stop, which is less than the adjustment steps on any film camera I’ve ever seen!)

The two batteries down in the weird saddle holder would have definitely been LARGE 1.34v mercury cells.

Meanwhile the two common ones are the D cell and the 9v at upper right. Yes I checked the cross reference. The tall cylindrical cells are 6v and N are small alkalines.

This is ridiculous and beautiful and I’m not sure if I’m going to bother acquiring several pounds of uncommon batteries to use it. Uhhhhhhh


This dumb thing has never once inspired any confidence in me, between the choice of font on its GUI (various old Harris / Leitch products are infected with Comic Sans including whatever this was based on) and the fact that it ROUTINELY makes one of our stations fail to black and has to be bypassed out brutally with a patch cable and whacked in the face with a large trout with great vigor until it reboots. As an added bonus, the setup / diagnostic screens do not work, you instead get a big fat flash of “Not Available” in Comic Sans.


this inspires about as much confidence as it should (none at all)

also wordpress literally reverted automatically to the default style and will not allow me to type more than one block of text in Comic Sans and this is probably very much for the better ok

At least the actual keyer card (as unstable as it is) presents a tiny bit of data via a… perplexing, tiny, graphic VFD display on the module edge. Why a VFD here? At least it’s not an OLED that goes unreadable after a year.

ok that’s enough comic sans now i’m gonna go wash my eyes out with tape head cleaner



Original image from @2clouddogs

The Monroe Systems / Digital Alert Systems DASDEC is a special sort of wonderfully awful. I mean, it takes the usually wonderfully awful state of existence that is any part of the flawed-ass Emergency Alert System and adds its own layer of questionable toppings. It’s an overly complex Linux based PC with a web interface that looks like something I would have hacked together on an old junked PC barely chugging along with Linux on it in my parents’ living room in 1999, and it’s theoretically “compatible” with a couple of different flavors of video/audio keyers used in TV airchains for inserting text crawls and audio, but that works about as reliably as asking a shoobcloud with selective hearing something other than “would you like to go on a walk”?

I’ve heard of them working just fine and dandy in radio stations where they’re part of a far simpler setup, ie, not a setup dependent on poorly written and tested software (internal to the DASDEC) communicating on poorly written and tested software (yes, yes, I am indeed referring to Evertz keyer firmware, what ELSE would I be talking about here?).

A day in the life. We had to jump through hoops to ensure the thing would successfully air the national test, and it did, but we had to add distribution amps and other things that we shouldn’t have had to add because we had the Monroe “multi player” and I don’t even want to think about this anymore.

I’ll be over here thinking happy thoughts about cloud dogs.

The best testimonial I’ve ever seen

From a fellow engineer:

Our guys were so impressed with the Selenio at our sister station that as the NetVX aged into backup status, we bought a Harmonic.

selenio shitpost
sorry, I only have M$ Paint on this workstation and it’s fairly useless for proper shitposting


For the uninitiated— what this unit does in its most common configuration in a TV station is it takes in one or more audio/video inputs, encodes them to MPEG-2 program streams for digital television, and finally sends the output out as an ASI stream. An ASI stream is a combined feed of all of the subchannels to be sent over the air plus the metadata (PSIP), and is what is actually modulated and sent out by the transmitter. The PSIP is used as an index by your receiver and populates both the channel definitions and the program/station info that gets displayed in the program guide. That being said, it is the house of cards upon which your entire station is delicately balanced. 😉

In all seriousness, this is one of the strangest, most fragile, and most inherently unsupportable pieces of hardware I’ve ever worked with. The UI from which you have to perform most configuration tasks is based on Microsoft Silverlight, which is a dead-ass format M$ came up with to compete with Flash, which is also a dead-ass format. Double-dead-ass? I dunno. It’s pretty awful and soon I predict that’ll require us to keep some old computer around with an EoL version of Windows and Silverlight installed and no auto updates allowed because M$ will just decide to flush Silverlight away entirely.

There’s also a telnet interface into the thing for which there’s little documentation. Certain configuration tasks (which is to say most of them) require a call in to Imagine Communications support because it’s just… well, at least one person who worked on the software knows how it works, right?

The hardware design is kinda questionable and the firmware hocks up hairballs for no good reason. So far across the three of these I’ve worked with, I’ve experienced phantom frame controller failures, A/V desync, audio loss, video loss, video freeze, video macroblocking, unreported loss of ASI output with invalid picture input, reported loss of ASI output with valid inputs, and one that just plain powered off and restarted during the evening news. Oh, and you see that little display on the front? It CAN display useful status information, but…. doesn’t. Also, Imagine Communications’ idea of a “screen saver” for the little OLED screen is to display “Imagine Communications” on the top line, unmoving, forever… so when you try to view any status/fault info, you’re reading it through a permanent shadow of “Imagine Communications” that’s practically CHISELED into the matrix. Ew.