What to do after the battery is out

You can research as much as you’d like, but when it comes down to it, fixing the battery is pretty simple.

  1. Check the voltage of all the modules
  2. Load test the modules
  3. Identify any suspicious modules and remove them
  4. Order at least as many replacement cells, perhaps one or two extra
  5. Purchase a battery charger or two
  6. Make a power supply for the battery charger
  7. Discharge/charge cycle each module 3 times
  8. Balance the pack
  9. Put it back in your Prius.

Here’s a link to a PriusChat forum that covers it nicely: PriuisChat thread.

Purchasing things should be done ASAP, as some of the pieces can take a bit to ship, and being out of commission for as short a time as possible is ideal. Based off my experience, I think if I were totally ready to go and had everything sitting around, it’d be roughly a week minimum. Pieces that can take a bit of time:

  • Battery modules
  • Power supply (could be scrounged, which would be a nice way to cut the price of repair)
  • Battery chargers

Everything else is pretty easily accessible, so can be purchased locally. Ebay seems to be the place to get the replacement battery modules. I just searched for “2nd generation Prius battery” and poked through the plentiful results.

I got 2 HiTec 44169 X4-80 4-Port Multi-Chemistry Charger as the chargers. They were $120 each, which sucks, but I was in more of a rush than I was broke at that time. If you’re not in a rush, everything can be done with only a single charger – it just takes a lot longer.

I also purchased an EVGA 500 watt PSU (~35$) as a power supply for the chargers. With all of this ordered and shipping, a bit of the stress of the unknown is off.

Battery Removal – a Visual Journey

This part I found to be kind of dull. The only thing to be super, super, super aware of is the orange plug. Essentially, you shouldn’t even talk about the battery, let alone look at it, until the service plug is removed. If you don’t know what the service plug is, don’t even begin to think this is doable until you’ve researched more.

I just followed this really awesome video:

This slideshow requires JavaScript.

It took me about two hours total, I don’t have a little impact drill, so I did everything by hand with a socket set. It could be done very easily for a first timer in under an hour, there isn’t anything particularly difficult about it. The battery itself is pretty heavy (under 100 pounds/45 kg), so doable by yourself (I did) but probably a better idea to get a hand, as the casing is sharp enough metal. All in all, straightforward and uneventful.

Prius come home!

I opted for the “no” on paying 3500$ to replace the big ol’ hybrid battery in my 2004 Prius. I had also grown increasingly uncomfortable with it holding up while (perhaps stupidly) driving it the ~45km from my house to the dealership. Now that I wasn’t going to have the dealer fix it, somebody had to…

To that end, step one was getting the car home. I was really not that pumped about driving it back, I was genuinely worried about doing irremediable damage to the battery by draining it or charging it when it’s screaming at me to stop. I don’t even want to guess how much a tow truck would cost to get the car home. While talking to friends, someone mentioned that U-Haul rented automotive tow dollies as well as full on auto transport trailers. The fact that Cailyn has a Toyota Tacoma plays nicely with that. I don’t remember exactly what the quote was, but essentially it came out to ~20$ difference or something between the two options. Finally seeing an opportunity to splurge, I reserved an auto transport trailer.

I can safely say I have never had such a bad experience with such clear communication before hand. First of all, I tried to do everything online. Wanting to be sure, because I had to coerce Cailyn to be around for the whole ordeal, I called the location I had supposedly reserved the trailer. Turns out U-Haul’s online inventory is not even close to accurate, with some of the locations it directed me to telling me they have never even had an auto transport trailer. After calling my third location with no hits on a trailer, and none of the staff able to help me, I called U-Haul’s reservation line to do it over the phone. Apparently they have information their online service isn’t privy to, because the option I was given didn’t even appear in their online franchise (dealer?) network when I looked. Either way, all good, reservation confirmed.

Almost immediately after booking the reservation, the U-Haul franchisee called me directly. There is a bunch of information you have to fill out when you show up, and he wanted to do it over the phone to expedite the in-person process. Works for me. Made an appointment for 4:15 on a Wednesday or something. The franchisee stressed that they close at 5:00, so don’t expect to pick up the trailer if I show up at 5:00. “No problem”, I said.

I spoke on the phone, to the person I was picking the trailer up from, at ~noon on the Wednesday to double confirm everything. They again stressed they close at 5 sharp. “Yep, got it”, I said. I showed up at ~4:20 (5 minutes late, I know) and the location was closed. At first I didn’t really understand, I thought maybe I was at the service entrance or something. I walked around and asked neighboring businesses, but no luck. Not just “Sorry, we just pulled the little dangly chain on our fluorescent open sign” closed, but “doors locked, lights shut off, building looking rough, exterior a mess as though they’ve been closed for a couple months” kind of closed. So that kind of sucked.

I can safely say that after having safely said I’ve never had such a bad experience with such clear communication beforehand, I have never had such downright atrocious customer service over the phone. Calling U-Haul’s phone system, I had two people talk to me for about 3-4 minutes and then transfer me back to the root of the phone tree. Yes, I did want to start all over again with the same options I was frustrated by previously but once again ending up with someone who has no context, thank you. I then had 2 people HANG UP IN THE MIDDLE OF MY ISSUE DESCRIPTION. Two distinct individuals, in the midst of fulfilling their job responsibilities, just… didn’t. “Hi, it’s 4:45 and I’m standing outside a U-Haul where I have a reservation to pick up a trailer and there doesn’t seem to be any… hello? @#%!$#@$@!^%@#$”. I couldn’t believe it! That’s never happened to me before ever. How can someone not get fired for that?! I believe this is the part where Cailyn pulled out her e-reader and let me rage out in an empty parking lot for a bit.

I dropped Cailyn off at the beach to play some volleyball while I continued to be in a great mood and have lots of fun. After about 20 minutes of phone-tree roulette, I ended up with a kindly older Texan who was determined to help me. He was really sweet, and really reassuring, and really wanted to help, but just didn’t have any authority. He tried to transfer me a handful of different places before saying my best option was to call the next number, and immediately escalate and have them look at my file (which he had made descriptive notes in). I don’t remember his name now, maybe Walt? If you’re out there Walt, I appreciate the effort. You’re a nice guy. Your co-workers are dicks though, so maybe make friends outside of work.

Calling the head-office number and escalating ended up working, and I was eventually connected with someone far more head-office-y. I should have written this a month ago when it was still fresh, as I also forget her name, but we’ll call her Sarah. Sarah had both the authority and the righteous indignation to get shit done. She didn’t promise anything quickly, but she promised that I would get an auto transport trailer that night. I stayed on the phone with her for around 45 minutes while she began knocking heads, but eventually she started to get a little discouraged. I told her it wasn’t a huge deal, it just really sucked to have wasted a whole evening and not be any further along. We dropped the call, (this is around 6:45 now, or after about 2 straight hours of phone shenanigans) with the understanding that she’d call back as soon as she had something to talk about. I went and ran an errand downtown, and around 7:30 Sarah called me back. I don’t know exactly what happened, but there was going to be a trailer waiting for me in the east end if I were to drive over that night.

Go pick up Cailyn from the beach; head out to the east end of the city; go to an equivalently seedy looking location behind a gas station. The attendant there seemed to have been totally clued in to my situation – it sounded like his boss had been brought in from home to get things sorted out. Sarah – I’m sorry you had to go to such lengths, but thank you for making U-Haul suck less than it apparently does. Maybe give Walt a call, you’d probably get along.

It was starting to get dark, but it was done. Prius on trailer.

IMG_20150429_202444

Trailer on truck.2015-04-30And home we go.

Dealing with dealerships

The dealership was very prompt with their service, extremely accommodating with my schedule, and generally nice to deal with. I definitely appreciated it, because they have something of a captive customer base when it comes to hybrid issues. Online I’ve seen a couple hybrid servicing shops pop up in the states, but nothing around Ottawa. It may have even been the same day that they got back to me. At first, all they said was “your battery needs to be replaced”. I was extremely not that satisfied with that as an answer. I followed up to ask what exactly the issue was, but the person I was speaking with didn’t really know, he only had the report that had been passed to him, and the quote for the “fix”. I’ll get to that part though…

Although reluctant, the person I was dealing with wasn’t actively unhelpful. They charged me an hour’s labor, 119$ + tax, to apparently plug their computer into the car and press *go*. I expected more than “it’s broken”. Why does it have to be a pain to get information? Are they afraid I would take what they tell me to an independent mechanic? So far as I know, nobody does that sort of work anywhere around here. I don’t understand why they have to be secretive about it. I asked for the actual diagnostic report from the techs, as apparently there wasn’t an appropriate person to convey that information to a paying customer. This is what I got:

DiagnosticIf you recall my post on diagnostics, that’s literally exactly what I had come upon on my own. So… thanks dealership. 119$ + tax for me to drag out of them in a round about way exactly the information I had brought them to begin with. Now, I know I’m no mechanic, and I certainly don’t know that much about electronics, but that certainly does not feel like a great way to spend that money. I know professionals hate it when clueless customers tell them how to do their job, but really, if you’re going to be better and smarter than me – prove it by providing me more information than I came with or some meaningful insight that a clueless customer couldn’t arrive at themselves! I think it’s abundantly clear when customers just want to come in and pay money, and when customers want to be more involved in the process. So that certainly didn’t really make me love this dealership interaction. Then I got the quote…Estimate

The only option available to me was a total battery replacement… 3500$ into a 2004 Prius that has had more than its fair share of abuse. That’s INCLUDING the credit applied by giving the old battery back to Toyota. Literally the only option. The dealership gave no reconditioning options, no battery rebuilding option. Just buy a brand new one.

Excuse me while I digress, but this is a 2004 Prius. The first Prius was 1997. A decade and a half the cars have been on the road. The corrosion on the battery terminals of the first generation is a well known phenomenon (among people who care to know), and the rating for the second generation is 10 years. So this battery is basically exactly on schedule. Toyota has done absolutely nothing to address this. Nobody wants to put 3500$ into a 10 year old vehicle. There is virtually no knowledge at the mechanic level on how to service the batteries. At this point I’d only done a couple hours of reading, but it was clear that there was no one at the dealership that was made available to have a meaningful discussion with, with respect to alternatives. How can you have a product line up out for almost 20 years and not have a servicing plan! In my mind, it’s almost line saying “looks like it’s time to change the oil. We have no way to do that, so we’ll just replace the whole engine”.

So that would be an aggressive no on my part. From what I can see, there’s a dead module or two.  Surely someone should be able to fix that. And for much less than 3500. After loving the Prius so far, and finding it extremely reliable and cheap to maintain, this would be a giant black mark on the record of Toyota in my eyes. I would be thrilled to pay 500$ and have their battery service team replace the faulty cell at a giant mark-up and be on my way. I don’t understand how it is different than every other part of the car that you need tools and experience to fix correctly. Really puts me off hybrids in general if there is no servicing plan and it makes you entirely dependent on the dealer.

Getting the Prius to the dealership

After getting as far as I could with the diagnostic aspect of my car troubles, I had to get my car into a dealer to see if I could get away with a cheap fix. I called Tony Graham Kanata Toyota, and they were not that nice about giving me information without having the Prius in their shop. Despite that, I called them back to take the car in because they were the most convenient location for me. After 3 calls to their service desk, I was still unable to actually talk to anyone. Thoroughly frustrated with the lack of communication, I called Tony Graham Nepean Toyota. A world of difference in terms of responsiveness. They also had their shop open from like 8am until 2am, which was a handy thing as well.

With an appointment booked, the Prius was at my house, and the dealer was a solid ~45km away. At this point, the car still drove, so I figured the cheapest option would be to just drive it. The internet and owners manual both strongly suggested that I not do that, but once again, I’m cheap and it seemed like nothing *too* bad could happen. The car certainly didn’t drive like regular, the cycles on battery power were extremely short, even sitting at a stop light. As I got into the city I ran into some traffic and started to think that maybe it wasn’t going to make it. The engine would cut out, then almost immediately come back on. The battery wasn’t draining or charging, and the glaring warning lights certainly didn’t go away. It only got to be particularly stressful when I hit stop and go traffic (when the car most heavily relies on the battery). I was only about 2km from the dealer, and I was starting to think maybe it’d be a bad idea. Even started to consider parking it and getting a tow for the last tiny bit. I didn’t, but I considered it. Made it to the dealer with nothing particularly exciting happening, dropped the car off, and caught a ride home with Cailyn.

Diagnostics

Googling the P0A80 code that the ODB II scanner had plucked out of my non-functioning Prius was not a happy process. I had never really looked it up, but I read somewhere recently that the expected lifespan of the 2nd generation battery was 10 years. As mine is a 2004, it’s unfortunately right on schedule. After sufficiently stressing myself out about the giant bill that had just fallen in my lap, I figured the first sensible step would be to stop reading forums and actually get a real life quote. I called a couple Toyota dealerships, and the all said the same thing – “We can’t sell you the battery”. While opinions vary about the different real and theoretical risks of AC vs DC power and the relative impact of voltage and current, the ~200VDC battery is enough to cause issues if misused. When I pushed for a price just to wrap my head around it, I was quoted 2628.63 for the battery alone, or somewhere >3000$ after installation and tax.

The dealership insisted that they had replaced only one or two batteries ever in the 2nd generation Priuses. Speaking with the Toyota parts people, they echoed that opinion. In all likelihood, it was not the battery itself that had failed, I just need to bring it in so they can run their diagnostics on it. That means there is a chance that by bringing it into the dealership I can actually save money, providing it’s a small fix. You can try your local independent mechanic, but my money is on them not feeling totally comfortable playing with the HV battery. Again, trying to not get screwed, I went online and purchased the “Techstream Diagnostic Cable” (~20$ on Amazon). From my understanding, that cable would provide me with the manufacturer specific codes that were out of reach of my ODB II tool. With Amazon’s lovely 2-day shipping, I had the cable before my appointment with the dealer.

I’m not entirely clear on what’s going on with the cable, it seems like it’s a legitimate product that comes bundled with potentially pirated software? Or maybe Toyota disowns older versions of the Techstream software? Either way, the mainstream internet sold it to me, so I’m not going to question it. It shipped as a mini CD with the software and an ODB II to USB cable.

ODB II to USB Cable

Only being compatible with 32-bit Windows XP, I spun up a VM to install it. The set up and installation went pretty much according to plan. It was a little finicky installing the driver into the VM, but nothing really unexpected. I had to drag out an old external CD drive though, it’s been a couple years since I’ve purchased software on CD… ODB II to USB plugged into the laptop, Windows XP VM capturing the USB port, and everything is looking good.Toyota techician

Cross my fingers, and click “Connect to Vehicle”:

Connecting!Follow along in the menu, and next thing you know:

Techstream Diagnostic SoftwareEverything is connected, and the car is about to start talking. I didn’t stop to read the manual, and credit to Toyota (or whomever), the software is decently intuitive. I clicked on “Health Check” and waited while the car fed up all its juicy details.

Health CheckP3000, P0A80, C1310, B1421, B1423… That’s a lot of codes. Admittedly I haven’t looked at the codes for the air conditioner, that seems like less of an issue for now. Going in for some more detail, I got this:

Diagnostic CodeSo… on the one hand, I really don’t like to see “Replace Hybrid Battery Pack”. That’s explicitly what I don’t want to do. More hopeful is “Battery Block 7 Becomes Weak”. That’s actually pretty much my best case scenario, hopefully a single block is toast. People on the internet have fixed that!

Red Triangle of Death

At the beginning of May, my beloved 2004 Toyota Prius started complaining. All of the sudden, it threw up all the warning lights you never want to see. For anyone who has been lucky enough to never have seen the red triangle of death, nor the dreaded “VSC”, it looks something like this (although potentially less blurry in real life):

Lights you never want to seeThat is the first sign that something is very wrong. It has happened to me in the past, when the 12 volt battery died the first time. This time, unfortunately, the 12 volt battery was fine. Not being thrilled to part with money to have a mechanic, or even worse – the dealer, plug in their diagnostic tool, the last time I ran in to trouble I picked up an ODB II reader (~20$ on Amazon). It is rarely particularly definitive, but it at least gives me some sense of comfort knowing anything beyond that I couldn’t have reasonably done myself. It also helps me mentally prepare for the order of magnitude of the repair bill. I connected to it with the free version of the Torque app for Android (Google Play Store Link), and the error code it spit out was P0A80. Googling this lead me to discover the ominous description for that particular error – “Replace Hybrid Battery Pack”. I’ve heard it referred to as the “HV battery” (high voltage), or the “traction battery”, or just the “hybrid battery”. Any way you say it, it’s the big one in the back, under the rear seats. The advice I came upon readily via Google all agreed – this was not an error you could just ignore and keep driving with.

I didn’t want to pay for a tow truck (there’s a theme here…), so I ignored the warning lights and kept driving. I dropped it off at my mechanic’s and caught a ride from my girlfriend. When I got home, I entered the research phase. Not really knowing where to start with this problem, I read the Wikipedia entry for the Prius, which states:

The Second Generation Prius contains a 1.310kWh battery, composed of 28 modules. Each battery module is made of 6 individual 1.2v 6.5Ah Prismatic NiMH cells in series forming a 7.2v 6.5Ah module. Each module contains an integrated charge controller and relay. These modules are connected 28 in series to form a 201.6v 6.5Ah battery (traction battery), also known as the energy storage system. The computer controlled charge controller and battery management computer systems keep this battery between 38% and 82% state of charge, with a tendency to keep the average state of charge around 60%.

So… 1.2v 6.5Ah Prismatic NiMH cells. At least that’s a starting point.

Home Server

I’m not quite sure why, but the Raspberry Pi has always seemed neat to me. If you’ve ever even looked at trying to build up a small piece of hardware out of components, the price quickly scales to something higher than anticipated and almost high enough to warrant just purchasing a pre-made item. To have the Pi (almost) ready to go for around 40$ is pretty awesome – I think the Model A started at 25$? Of course everything adds up if you don’t have a keyboard/mouse/wifi adapter/monitor/power adapter etc, but luckily I have everything lying around. It’s an extremely cool platform to play with. I think a contributing factor for me is the seemingly transient nature of the PI’s software. It doesn’t have to be that way, but it’s trivial to change the SD card and have a completely different environment running on the same software. Want a LAMP server? Pop in an SD card. Dedicated RaspBMC? Swap it out. Nothing has to collide, it’s easy to image the SD cards so you can save the state of anything you’ve done. It just seems a lot more forgiving than a traditional computer. I imagine it’s just because I don’t have an intimate knowledge of most of the stuff I’m trying to do, I screw up often and catastrophically, so being able to segregate “experiments” so the successful ones can live on is a big deal.

To that end, in my spare time – there’s not a lot, so it’s going slowly – I’ve been working towards getting some kind of situation set up where I can have a server running off the Pi at my house, and then I can… do stuff with it. That’s about as fleshed out as it is right now. I’d like to use it as a resource for developing some apps I’ve been thinking about, and almost immediately when considering a dynamic app there needs to be some kind of server backing it. Earlier I had a LAMP server running on the Pi, but I kind of hate PHP. I had only a very limited exposure to it, but it really didn’t strike a chord with me. My first programming language was in high school – Turing, and that was a decent introduction. Actually, that’s not true. My FIRST first language was Forth, I had an introduction book from my father when I was young, but I never really did anything impressive with Forth, so I don’t really count it. My next language was C, which I found fascinating because of the raw (very raw) power you could wield. After that came C++, then briefly all of the languages in school – Python, Ruby, Scheme, SQL, etc, and then finally Java. With each and every one of them I had a moment of “well, this language has contributed to my greater understanding of software design and programming possibilities”. I feel like each one helped me grow technically but also creatively, as it broadened my problem solving palate. I didn’t get that with PHP. Maybe I need to give it another chance. I won’t.

Through work I had some exposure to Spring IO framework, and have found it extremely interesting. I’m a little intimidated by it though, there seems to be a massive amount to learn. Starting off with one of the sample projects goes a long way; they make it very easy to get something working so you can change bit by bit until it suits your purposes. The one big thing that kind of throws me is the extensive use of annotations. That’s something I’ve only used in passing before, and while it seems very powerful it also seems to hide a lot of functionality. As someone who doesn’t know what they’re doing, a single annotated line wiring together a massive amount of functionality is a bit frightening.

All that to say: following the Spring tutorial for creating a REST service I was able to get it running on my computer. Not only that, but using their Gradle tutorial I was able to get a very basic introduction to Gradle, which also seems extremely impressive. It doesn’t hurt that Android Studio uses Gradle (leaving behind the ADT bundle of Eclipse and Ant), so the knowledge would certainly help. Referencing the Consuming a REST Service with Android tutorial, in a couple hours I was able to build a Java server using a text editor (Sublime), do the same thing but using the Spring Tool Suite, and build an Android application that could interact with the server. The Spring documentation is pretty outstanding. Kudos to them. The next step will be to get the running on a Pi, then I suppose after that I can figure out what I can actually do with it…

Pocket Hose

So this is the pocket hose. I’ve seen them on commercials before, but they seemed kind of gimmicky. The other day Cailyn and I were in Home Depot looking for a hose and some other things, and they had them positioned right at the entrance. We bought one – we also bought another regular hose as a “just in case”, because they don’t exactly look sturdy. They’re a little bit more expensive than a regular hose, but at 30$ for a100ft it wasn’t a ridiculous splurge. It was certainly striking how much smaller and lighter it was than the regular “equivalent”.

We got the “Ultra” hose that was “3x stronger”, simply because it was the one that was there. Here it is after the first time we used it. IMG_20140612_162229You can see that it doesn’t exactly shrink up to the same size, but it’s much more like a pile of rope instead of the regular hose material. It’s super light, and is markedly shorter when empty.

IMG_20140612_163451My first impression was not stellar. It doesn’t look bad, but the super cheap plastic fittings really turned me off. It’s nice that it has a ball valve so that you can turn off the hose without going back to the tap. That’s about where the complements stop for the hardware.

Luckily they’ve got a built in feature to keep these cheap plastic ends from failing. How do they manage that, you might ask? By making a product that is complete and utter trash. I’m now confident that the cheap plastic ends will outlast the hose 99 times out of 100, so I guess they spent the right amount on them? Here are some photos of the SECOND time we went to use the hose. The first photo is a huge leak, effectively rendering the hose useless. The water seeps out of the fabric as though it were a soaker hose. It seems like the stretchy bladder on the inside developed a tear. The second photo is a SECOND leak. Once again, we used this once, stood around and marvelled at how it expanded, turned off the water, and marvelled at how the hose forces the water out as it compresses. Admittedly that’s probably the most fun we’ve had watching a hose, but unfortunately that’s the end of the value of this product for us. 2 leaks the second time we go to use it? It wasn’t run over, it wasn’t abused, we didn’t play tug of war with it. We used it once.

IMG_20140612_162447IMG_20140612_162506

This one is definitely going back.

Starting to MOOC

Cailyn and I followed through with our plan to go ahead with the Oracle Massive Open Online Course: Develop Java Embedded Applications Using a Raspberry Pi. The first week’s lessons came out last Friday. I didn’t realize how unprepared I was for the course, but it took a couple hours to set up my computer. I have my mom’s old mini computer, my wireless keyboard that I used for the computer attached to the TV, and my older brother’s old monitor. I found a USB wifi adapter as well, so cobbling everything together I was good to go. Also, the computer already had Windows 7 installed, so bonus! Only took about 2 days to download and install all of the updates after having it off for a couple years. Wow is it slow though. I don’t know if I just need to reformat it, but compared to Cailyn’s new laptop it’s a bit of a nightmare. 

We sat down and started to get our respective environments set up, and after about 45 minutes had gotten through the very first video. This included installing the Java ME 8 SDK, NetBeans 8 and the Java ME Embedded plugins for NetBeans. Now we have to find some time to do the other 9 videos – including setting up the Raspberry Pi and soldering the breakout boards for the BMP180 and the GPS module. It’s okay though, we have until tomorrow to finish all of that and the homework…