Here is the promised update.
Executive summary: After a lot of multimeter poking and part swapping between the bad bike and a good bike, the problem was tracked down to the BCU module. Replacing the BCU fixed it. The bike is finally fully alive and working well!
Here is how it went:
Dead electric bike... what do you do? Mostly poke things with a multimeter and swap components.
Replacing the key switch didn't help. Got to the 9V battery without removing the main battery. It was good, reading 9.14V.
We then processed with more parts swapping. Swapping displays didn't do anything. Even a missing display does not prevent a good bike from powering up, only from driving.
Then we proceeded with more visual inspection and multimeter poking. Apparently,
@Mark911 knows every little wire in these bikes already. We first poked the key switch contacts and traced them down to the ACM (Accessory Control Module) connector under the front part of the seat. All the wires rang through but had no power in them.
According to
@Rashid510, the problem was then down to either the ACM or the battery pack. Switching the battery packs between a bad and a good bike moved the problem onto the good bike. It's in the battery. Thanks to
@snydes for the tips on how to remove the battery, I posted a little battery removal how-to
here.
@Rashid510 was pretty sure that it was in the BCU (Battery Control Unit), which is built into the top cover of the battery pack.
Miraculously, the word had it that
@ElectroBraap came across a spare battery top with a BCU in it. On top of that, he was willing to donate it to science, to the geeks who were going to dissect it and figure out how things work in the battery. Well... but here I came, the guy who needed it functional and not dissected. Awesome guy
@ElectroBraap.
The battery top with the BCU came in the mail on Thursday.
I was afraid to take the battery apart, but I kept in mind that if I do not grab metallic things with both hands, I probably won't die.
@Mark911 gave me some battery disassembly tips. The top cover has a square rubber seal, so removing it was easy. But I could not remove it fully because the thick black/orange ground wire was holding the top cover down, not allowing me to pop it fully open. I had to remove the bottom cover too to free up more slack in that black/orange ground wire and then return back to the top cover.
The bottom cover has butyl instead of a rubber gasket. Mark recommended cutting through the butyl sealant with a razor blade. That didn't work for me, but carefully prying with a small flat screwdriver little-by-little eventually did the trick.
Mark also wrote a multi-page treatise on battery disassembly, so hopefully, he will post it here someday.
With my heart rate going through the roof, I took the bottom cover off, carefully pulled out the ground wire from the bottom module. The pic below shows the bottom of the battery with the ground wire out. I am holding the new top cover next to it.
The wire and other high-voltage contacts in the battery use these pin connectors.
I then flipped the battery back upright onto two 2x4 wooden boards under the battery case (not to apply pressure on the bottom module). The top cover came off easily.
The black/orange ground wire goes from the top of the battery to the bottom. It has connectors on both ends, and it cannot be removed easily. So I had to disconnect it from the old cover/BCU and reuse it. I removed the black/orange wire from the new BCU and connected the old wire to it. Popped the top cover back on and secured it with four bolts.
Flipped the battery upside down. Now, I had a dilemma whether to pop the ground wire back in. Something told me things might explode if I did. So I got a multimeter out and, indeed, measured 268 VDC between the two contacts that were supposed to be connected.
I thought... the voltage is high, but maybe there is not much current there. So, I took a regular household 110V light bulb, hooked it up between the two contacts, and nothing happened except for one tiny spark. No explosion. I then popped the ground wire back into the bottom module where it belonged. Done with the scary stuff.
The pick below shows the orange/black ground wire inserted into the bottom module and taped for safety.
EDIT: To re-seal the battery properly all you need is a properly sized butyl tape. The R-pack battery uses a butyl sealant on the bottom cover. The A-pack, apparently, uses it on the top cover as well. I lucked out and bought exactly what was needed the first time around --
CRL Sunroof Butyl Sealant Tape. It is about 9mm wide and 1.5mm thick, and long enough. One roll will probably let you seal a battery cover at least four times. /EDIT
As soon as I attached the battery to the bike, everything powered back on!
However, the display immediately lit up with a bright yellow warning light and showed me the dreaded Code 36. Damn it.
I thought this can't be real. One battery module can not have a dead BCU and Code 36 at the same time.
@Rashid510 said that the new BCU may need a firmware flash. If it may need a flash, then it has memory, then it could store leftover information (including fault codes) from the battery packs on which it may have been installed before.
I needed to use MultiTool to diagnose the battery, update the BCU, and possibly clear the code. Many thanks to
@416c7461 for the MultiTool software. Also, thanks to
@TCMB371 for explaining how the heck to install it!
The installation of MultiTool took me two evenings, or twice as many hours as all the troubleshooting and battery work. I planned to use an Ubuntu bootable USB stick, which worked last month, but it didn't launch Ubuntu this week. So I had to follow the
@TCMB371's method of installing an Oracle Virtual Machine. For some reason, my computer became ridiculously slow when I used this Oracle VM. This is why it took so long.
Fast forwarding, I hooked up MultiTool to the bike and checked the battery voltages. They all looked great, no reason at all for the new BCU to declare Code 36.
Cleared Fault Code 36. Done!
@Rashid510 confirmed that my current BCU firmware is the latest and greatest, so the BCU did not even need to be flashed. Here is my firmware configuration:
Many thanks to
@ElectroBraap,
@416c7461,
@Mark911,
@snydes,
@OneLapper,
@TCMB371,
@Rashid510, and all the ex-Alta guys for their help and for having built such an awesome bike.
Also, having two identical bikes helped tremendously. Everyone -- go out immediately and buy yourself one more Alta!