We were initially skeptical of this article by [Aleksey Statsenko] as it read a bit conspiratorially. However, he proved the rule by citing his sources and we could easily check for ourselves and reach our own conclusions. There were fatal crashes in Toyota cars due to a sudden unexpected acceleration. The court thought that the code might be to blame, two engineers spent a long time looking at the code, and it did not meet common industry standards. Past that there’s not a definite public conclusion.
[Aleksey] has a tendency to imply that normal legal proceedings and recalls for design defects are a sign of a sinister and collaborative darker undercurrent in the world. However, this article does shine a light on an actual dark undercurrent. More and more things rely on software than ever before. Now, especially for safety critical code, there are some standards. NASA has one and in the pertinent case of cars, there is the Motor Industry Software Reliability Association C Standard (MISRA C). Are these standards any good? Are they realistic? If they are, can they even be met?
When two engineers sat down, rather dramatically in a secret hotel room, they looked through Toyota’s code and found that it didn’t even come close to meeting these standards. Toyota insisted that it met their internal standards, and further that the incidents were to be blamed on user error, not the car.
So the questions remain. If they didn’t meet the standard why didn’t Toyota get VW’d out of the market? Adherence to the MIRSA C standard entirely voluntary, but should common rules to ensure code quality be made mandatory? Is it a sign that people still don’t take software seriously? What does the future look like? Either way, browsing through [Aleksey]’s article and sources puts a fresh and very real perspective on the problem. When it’s NASA’s bajillion dollar firework exploding a satellite it’s one thing, when it’s a car any of us can own it becomes very real.
This one is from way back in 2007, but the steps [hobbit] took to evaluate and repair a failed Prius Multi-Function Display (MFD) is a refresher course in how to go about fixing stuff that’s broken.
The 2004 / 2005 models of the Prius had peculiar problems with their MFD. Buttons and touch functions became sluggish and unresponsive, it wouldn’t display ECU data such as current and average fuel consumption, and couldn’t control stereo and air-conditioning. Lots of Prius users were reporting similar problems on the Priuschat forum.
The issues would usually arise long after warranty expired, and replacement units cost a couple of thousand dollars new. Toyota knew what the problem was (PDF link), but their fix involved swapping the defective units out.
[hobbit] managed to get a defective MFD unit from a friend, and because his own Prius still had a working MFD, he was able to carry out comparative tests on both units. The broken unit was generally laggy, and the buttons didn’t beep when pressed. Apparently, the AVCLan, a small data network between various components in the car, wasn’t reaching the MFD reliably. The MFD would send the “beep” command to the audio amplifier and wait for a confirmation that would never arrive. The system hung here until the MFD timed out.
In the end, the cause of the problem was the 60-pin micro connector that interfaces the two main boards of the MFD. Once the two are mated, tightening the mounting screws twisted the two boards ever so slightly, leading to flaky contacts.
The fix? [hobbit] tweaked all of the 60 pins outwards enough that they still made contact even when the connector housing got twisted. Comparing the defective MFD to the one in [hobbit]’s own car also demonstrated how the factory fixed the problem.
Thanks to [Nick] for sending in this tip, which he stumbled upon “while searching for ideas for a very small solder tip to repair something on my laptop.”
[scoodidabop] is the happy new owner of a pre-owned Toyota Camry hybrid. Well at least he was up until his dashboard lit up like a Christmas tree. He did some Google research to figure out what all of the warning lights meant, but all roads pointed to taking his car into the dealer. After some diagnostics, the Toyota dealer hit [scoodidabop] with some bad news. He needed a new battery for his car, and he was going to have to pay almost $4,500 for it. Unfortunately the car had passed the manufacturer’s mileage warranty, so he was going to have to pay for it out-of-pocket.
[scoodidabop] is an electrician, so he’s obviously no stranger to electrical circuits. He had previously read about faulty Prius batteries, and how a single cell could cause a problem with the whole battery. [scoodidabop] figured it was worth testing this theory on his own battery since replacing a single cell would be much less expensive than buying an entire battery.
He removed the battery from his car, taking extra care not to electrocute himself. The cells were connected together using copper strips, so these were first removed. Then [scoodidabop] tested each cell individually with a volt meter. Every cell read a voltage within the normal range. Next he hooked up each cell to a coil of copper magnet wire. This placed a temporary load on the cell and [scoodidabop] could check the voltage drop to ensure the cells were not bad. Still, every cell tested just fine. So what was the problem?
[scoodidabop] noticed that the copper strips connecting the cells together were very corroded. He thought that perhaps this could be causing the issue. Having nothing to lose, he soaked each and every strip in vinegar. He then wiped down each strip with some steel wool and placed them into a baking soda bath to neutralize the vinegar. After an hour of this, he reassembled the battery and re-installed it into his car.
It was the moment of truth. [scoodidabop] started up his car and waited for the barrage of warning lights. They never came. The car was running perfectly. It turned out that the corroded connectors were preventing the car from being able to draw enough current. Simply cleaning them off with under $10 worth of supplies fixed the whole problem. Hopefully others can learn from this and save some of their own hard-earned money.
In this project [Ryan] shows how he added Bluetooth audio to the stock stereo of his Toyota Matrix. The work he did with his add-on hardware is quite good. And the installation was surprisingly easy. For example, the dashboard bezel which is hanging in the foreground of this picture simply pulls off without the need for any tools. Also, the CD changer input for the stereo is what he uses to patch into the system. It just happened to have a 0.1″ pin header so finding a connector that would work wasn’t a problem.
As for the add-on hardware, he built his own circuit board around an ATmega168 microcontroller and Bluegiga WT32 Bluetooth module. To connect to the car’s data system he went with an RS485 driver chip. It’s not quite the right part but it works well enough for his purposes. So far he can get audio playback working and plans to add support for hands free phone calls and displaying audio track information. Hey, maybe he’ll even add some extra shake-based automation; who knows?
Get a look at the install in the clip after the break.
Continue reading “Adding Bluetooth audio playback to a Toyota Matrix”
Toyota recently ran an ad campaign touting “Ideas for Good” in which the actors speculated uses for Toyota Synergy Drive hybrid systems in non-automotive related applications. One idea that was floated involved using the car’s regenerative braking system at an amusement park, in an effort to reclaim and use some of a roller coaster’s kinetic energy.
Toyota sent a Prius to the team over at Deeplocal, who deconstructed it and found that the car could generate 60 amps of current when braking. That’s not an insignificant number, so they decided to create a cool demonstration showing how powerful the technology is. They built a coaster car from the Prius’ guts, and positioned it at the top of an elevated platform, which was connected to a 70 foot track. In the video embedded below they push the car from the platform and down the track, using the regenerative braking system to illuminate a large display of amusement park lights.
While the video is little more than a well-produced advertisement for Toyota, we can’t help but think that it’s pretty cool. It’s doubtful that we will suddenly see an inrush of hybrid-based roller coasters any time soon, but the concept is interesting nonetheless.
Continue reading “Hybrid roller coaster concept”
Tape decks in cars? Yes, that used to be quite common before optical media took over road. [Nirav Patel’s] 2004 Toyota Corolla had a deck that he used with a tape adapter in order to listen to music from his iPhone. But one day something happened and, although the adapter still worked, the cassette player started making distracting noises. [Nirav] set out to quiet the noise and install an auxiliary audio input for the sound system. There were some tripping points along the way, like breaking everything and starting a small fire, but perseverance got him to his goal. Because these units are built with compatibility for things like CD changers they have a communications bus called AVC-Lan. This protocol has been sniffed out and documented, and [Nirav] even found an existing audio-input hack that he based his design around. Now he’s able to plug directly into the dash and ditch the cassette adapter.
We’ve seen [Nirav’s] work a few times before. He’s shown us a first person shooter controller and his site was a resource in our Launchpad programming with Linux post.
[Rosenberger31] did a nice job of adding a USB port to his 2010 Toyota Prius. He removed the access door on the console where the traditional “cigarette lighter” 12 volt port is located. A Dynex 12-volt to USB adapter was piggy-backed onto the power lines and the USB connector was then fit into the blank accessory plate next to it.
There is no data connection here, the port only provides 5v regulated power to devices plugged into it. None the less, it is still a pretty nice looking alternative to having a power adapter hanging out of the dash all the times. If you try this, heed one of the warnings from the comments and make sure you add a switch if you vehicle powers the 12 volt port even when the car is not running.
This makes us wonder: will this void your warranty?