Quick fix: KTE-LCD-3 electric bike controller
Introduction
Yesterday my neighbour came in asking to take a look at his electric folding bike. It had been beaten up during transport in his van and the controller on the steering wheel no longer responded to the power button.
He had taken it to two different bike mechanics, but both of them weren’t interested. The brand was unknown to them (and likely to just about everyone) and, most often, they don’t really care much for electronics in general. Figuring out which modules to replace (much less actually attempting to repair them) most often is not within the scope of what they do. It didn’t help that he had no idea where the bike was originally purchased (it was inherited from some family member long ago), or how old it was. An electrician at his job had measured voltage up to the controller and “everything was working as it should”.
Finding the fault
Since the bike had been beaten up, some kind of mechanical issue was rather likely. Cables and connectors seemed to be fine. Testing the Kunteng KT36/48ZWSR
motor controller did not show any obvious problems. The controller (mounted on the steering wheel) was the next suspect.
After removing it from the steering wheel (two Allen bolts) and opening it up (six PH0 self-tapping screws), the PCB/screen combination came out easily. The silkscreen revealed it was a fairly generic KTE-LCD-3
model. Looking around with a magnifying glass, the suspect was found rather quickly: one of the pins on the corner of an STM8S105
secondary processor seemed kind of funky.
Top right pin don´t look too good.
Under the microscope things were more obvious. One of the pins had broken off right at the package. Usually this happens in the factory, during placement or while handling the PCB.
Damage clearly visible.
Not only was the pin broken, it seemed to be bent and touching the pin next to it.
The processor datasheet shows this pinout for the LQFP48
version:
LQFP48 pinout.
The broken pin is the analog VCC (used as a reference by the ADC), and the pin next to it is the analog ground. Measuring with a DMM confirms the analog supply is close to GND, and so is Vcore. Desoldering the broken pin allows the power supply to get up to the correct voltage.
Partially assembling the unit on to the bike gives this result:
The display powering up again.
While the display and the controller are working again, it is clear there’s a remaining issue: the temperature is measured at -36 degrees C. Most likely this is related to the ADC lacking its reference voltage when measuring the temperature on an analog input. As a temporary fix, I carved a little bit of the epoxy from the chip to have a little bit more access to what is left from the pin. I then soldered a small length of 0.3mm wire from the exposed metal to the pad below.
Temporary wire from the chip to the pad. Should have been straight but I was afraid to cause damage it so wanted to be quick.
After reconnecting the display to the bike, the display shows the current temperature, although with a rather large error margin. :)
Display with the correct temperature.
At this point, I contacted my neighbour to ask what he wanted me to do. Leaving the hacky patch wire in place wasn’t really an option, as it could loosen over time and cause another short. I could grind away a bit more of the chip to get access to what was left of the pin and/or the bond wire, but that carried the risk of causing even more damage.
He told me that the temperature had always shown -36 degrees C and that I shouldn’t bother any further. I was out of epoxy anyway, so I didn’t have anything to structurally support the repair if I had proceeded.
So, in the end…
- The controller had a bent pin, most likely already when it left the production line.
- This caused the ADC to show an incorrect temperature.
- While it was bent, the pin didn’t touch the pin next to it.
- Somehow 1 the pin moved enough to touch the pin next to it. This caused the whole unit to fail.
In the end this was a quick fix.
References and footnotes
Although I’ve seen this before, I never understood how pins can bend just because of external force. Maybe it wasn’t soldered properly either? ↩︎