CarTalk.com Best of Deals Car Reviews Repair Shops Cars A-Z Radio Show

Replacing car computer seems too expensive?

In last weekend’s show, a caller said he needed to replace the car’s computer circuit. He thought jump starting the car had blew it, but Tom and Ray thought it was just a coincidence. Anyway, a new one cost $1500 apparently. That seems sort of expensive dosen’t it? I mean all it is is a circuit board. $1500 for one circuit board? You can drive down to Best Buy and get an actual computer, a new one, with an enclosure, power supply, hard drive and DVD drive gigabytes of memory and tons of software for $450. And they’ll usually throw in the monitor and printer!

True, it’s not entirely fair comparison. The car manufacturer has to stock these circuit boards for years, even though they only sale a few of them probably. The cost to stock them is part of why they cost so much I guess.

I can’t remember what year that car was. But if it was old enough that there are junk yard specimens available, that’s where I’d go to purchase the car computer. I’ll bet you could get that circuit board for one or two hundred bucks from a junkyard. Maybe even less.

Yes, you can get a low end PC for $450, made of cheap parts that have been around for a while and that are so prevalent that prices have come way down. For a gaming or CAD PC, you’re looking at more than the $1500 the caller mentioned. You get what you pay for. And the PC doesn’t have to control a bunch of machinery and stand up to heat, cold, moisture, vibration, and run reliably off a somewhat unstable 12-volt power supply. For 10-30 years or more.

That aside, you’re partially right–if the car is old enough, you can get the PCM or ECU, or ‘computer’ at a junkyard for a huge savings. And it will probably be fine, as these devices are usually the most reliable part on the car. You don’t have to go to an auto parts store or dealer to get gouged on prices; this is common in every industry. And a dealer will almost always be more, while a refurbished part from Autozone or wherever will likely do the job. You will still quite likely have to have the dealer ‘flash’ the new computer with the correct programming for your specific vehicle, taking into account the engine and transmission type, options, gear ratio, etc.

A car ‘computer’ is more akin to an industrial computer that runs production equipment. Your car is a process-controlled system, much like a factory environment. The computer has inputs from engine sensors, driver controls, and other networked computers in the car’s ‘environment’ It has outputs that drive actuators like electric motors, solenoids, relays, lights, fuel injectors, your car’s ignition coils, etc. All much the same as a factory controller that will take inputs from a production line and output commands to equipment to keep everything in sync. The hardware of the computer itself may be very similar on all cars that a manufacturer produces in a range of years, but the development, programming, and debugging of the hardware and software for a vehicle takes as much of a coordinated effort as any big-budget Hollywood release of a movie or cutting-edge game.

Oh, and if Microsoft or your PC mfr. gets something wrong, there may be a ‘patch’ issued or a recall to replace the problem at the vendor’s expense, but if a bug is found with a car computer or software, beyond the cost to recall all the cars for a replacement or software upgrade, and the bad PR and hit to the car maker’s reputation in this insanely competitive arena, it can cause safety issues, crashes, stranded motorists, more costly damage to other car components, and major lawsuits. People are a lot less tolerant of car issues than PC issues that they would just shrug off.

So to make a long story short, a lot of the development costs are included in the price of your car and replacement parts, and the hardware itself is usually much higher quality than the laptop from Dell or wherever that you just got. More like a military-spec. device than a home PC. For which we should all be happy.

The reason the board is so expensive is because of the limited production runs. There also isn’t much in way of competition. My company runs into this all the time. We just replaced a circuit board in one of our systems with a more generic one…The generic one is far more powerful then the one we replaced…but it costs about 1/10th the price because they sell so many and the cost drops drastically.

Previous posts covered the OP’s question pretty well. I though I would take the DIY point of view and see what turned up. I think I would have better luck building a carburetor from scratch.

This is a pretty good description of automotive computer and network systems from Colorado State. Interestingly it includes a description of possible security issues.

http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=15&ved=0CKUBEBYwBDgK&url=http%3A%2F%2Fwww.cs.colostate.edu%2F~cs451%2FSlides%2FcarOS-Benesky.ppt&ei=YYVsT_D0CpPo2gXakZjiBQ&usg=AFQjCNHAJ98N6froFkEJegSygVueYwRsrg&sig2=-BfEK5L-IHppV3I5Z9T19g

To the hardware:
This system is probably over kill but makes $1500 seem like a bargain.
http://smallpc.com/prod_sc240ml.php

If you happen to have a mini ITX board lying around an IP-67 case will set you back $470

Then there is the problem of an operating system. Windows 7 won’t going to hack it, but for Microsoft fans and Ford owners there is Windows Automotive.

http://www.operating-system.org/betriebssystem/_english/bs-msauto.htm

A European consortium is working on OSEK

The Japanese are also working on an industry standard.

If the industry can settle on a couple of standards the time may come when you can buy a (relatively) inexpensive generic ECM and have it flashed for your make and model.

Speaking of Microsoft and Cars…

@MikeinNH: I don’t think it’s limited production runs—between the model years that a specific computer is used, there are thousands and thousands of them made. The exception being a new model of car. But certainly it is because of the lack of competition, or “because they can.”

“And the PC doesn’t have to control a bunch of machinery and stand up to heat, cold, moisture, vibration, and run reliably off a somewhat unstable 12-volt power supply.”

Well, actually, PCs do run off a 12 volt (and 5 volt) power supply. Police cars have PCs in them so we can throw out the “unstable” argument. And PCs don’t throw a fit if you completely power them down.

“heat, cold, moisture, vibration”? Car radio.

@oblivion - Thousands is considered a limited run. At several hundred thousand run the costs start to come done.

littlemouse, while Police cars do have PCs in them, they are usually Panasonic Toughbooks or similar. Ruggedized PCs built to military specifications. I have a couple of older ones. You can throw them off the roof or in the swimming pool and they’ll still work. They are not cheap when brand new. Also, the police departments can replace the dead ones every few years as needed, which is the typical lifespan of a corporate laptop anywhere.

While home PCs do run off a 12V, 5V, and 3.3V rail, they also have stable home current fed into a power supply with a lot of filtering. They don’t have nearly as much electrical ‘noise’ to contend with.

Car makers use the same computers for cars in a wide range of models and model years–it’s just the programming that’s different. When a new ‘generation’ of car comes out, then it’s likely the computer is different as well. Still, MikeInNH is right, this is a limited run compared to a car’s PCM.

Have you priced a factory car radio lately? Not cheap either. Not talking about aftermarket ones. And they are relatively simple compared to the hardware in a car computer.

Also remember you’re buying the model-specific software with the computer, so lots of time went into those relatively few cars. Contrast this with the software in your home computer, usable in tens (hundreds?) of millions of PC world wide.

The software for engine management system isn’t that complicate…but @texases is right…the cost of the software development is spread over thousands is lot more per unit then software development costs spread over MILLIONS.

It’s not just the costs of developing the actual firmware. Even relatively simple firmware is expensive to fully verify and validate when used in safety critical applications. If the software on your PC crashes, you reboot. If the firmware on your fancy new car hangs up, it might cause YOU to crash. The NRE development costs include a whole host of disciplines; firmware, electrical and mechanical engineering, reliability and quality assurance just to name a few. These resources are expensive.

The firmware designed for your car’s controller is running real-time execution. It is fully deterministic as the application demands. The latency between command and execution is fully known and operates with very little tolerance for variation. By contrast, the software running on your PC is exactly the opposite. It is non-realtime and non-deterministic. The latency between command and execution is variable and not guaranteed. Two completely different worlds. Imagine if you had a car that was throttle by wire and when you stepped on the gas pedal, it would be a random amount of time before the engine responded. Not many people would tolerate something like that. Just a simple example to illustrate the difference.

I recall one example where we were developing an embedded controller of similar complexity back in the early 90s. The decision was made to pursue an ASIC rather than a commercially available microcontroller. We spent nearly a million dollars developing that component and never used it in the final design. Those type of R&D costs are amoritized across the business as well…

While I agree that Real Time applications can be more complicated…the software/firmware for these types of systems is NOT very complicated. Just the shear number of lines of code in the Windows-7 OP system is at least a million times MORE then the lines of code even in the most complicated vehicle control system. More critical testing - YES…But the testing itself is significantly less then what is needed to test a PC operating system…thousands and thousands and thousands of times less.

I’d be very surprised if there are more then 30 software engineers and testers on a project like this. Much is shared code from one vehicle platform to the next.

Critical - YES…Complicated - NO.

@MikeInNH: With Windows, the consumers are the beta testers! If you think otherwise I have one word for you: Vista.

Yes, Windows and other OSes are far more complicated than the code in a car’s ECU. But in a modern ECU, there are still millions of lines of code. And unlike Windows, where MS can release a hotfix or service pack to automatically install, a car manufacturer has to issue a recall or otherwise get the consumer to visit the dealer to flash the firmware. And pay the dealer for their time. So the debugging of a car’s programming is likely a little more extensive, plus there are safety, MPG, and emissions issues to consider. And consumer opinion is a little different.

People think of cars as appliances, despite the tech that goes into them. They turn the key and go, and expect this every time. The consumer has been conditioned to not expect this from their PC, even with Apple’s hype. Most PC users will grumble about having to reboot their machine to solve a problem, but they will accept it and continue with their day. They’d raise holy hell if they had to turn off and restart their new car every few days to solve a problem, especially if they were attempting to merge onto a freeway.

@oblivion - I agree that MS customers are part of the testing…but there’s a great deal of testing done before that. And then there’s Beta testers. Been working with Beta products for Microsoft for over 20 years. The beta testing can least for years before the product is ever released to the paying customers.

But in a modern ECU, there are still millions of lines of code.

I wouldn’t say millions. I’ve seen some of that code. It’s NOT very complicated. It’s basically a read sensor…then look up in table what settings to set. That’s a simplified version…multiply that by how many sensors the ECU is reading and all the things the ECU controls…but that’s basically it. The algorithms are fairly simple. There’s a guy that works for me that was a lead software engineer on the On-Star project in India. He has/had intimate knowledge of most of the ECU systems for GM.