TLDR: Whirlpool remote didn't work. I replaced it with an Arduino based remote that sent out the same RC5 remote commands using this Arduino IR-Remote library.
You can find the code here and the schematics and pcb design here
I think this same solution should work for following whirlpools from Villeroy & Boch:
- Whisper Airpool
- Clairpool
- Whisper Whirlpool
- Whisper Combipool
Our home has a Villeroy and Boch whirlpool installed and after about half a year after we moved in and about three uses, the remote stopped functioning.
Opening the battery compartment made the cause cleary very quickly. The batteries started leaking and (probably) deposited their acidic schmoo all over the pcb, corriding it and the components. As the remote enclosure is water proof and seems to be glued together, there was no easy way to clean it. After trying to rinse it out with some household chemicals through the battery compartment, it still didn't work.
There are replacement remotes availble, but they are about 150 euros. I like a working whirlpool, but not that much. So I decided to tear it down and see if there was a likely fix.
There was no easy way to open the remote enclosure (because it's water proof), so I ended up cracking it open with pliers to get to in. Inside there's pretty much what one would expect, a tube to act as the battery compartment, a small PCB in the middle doing the logic and an IR led to send the commands.
As you can see there's quite a bit of corrosion on the PCB, either from moisture or from battery acid. Cleaning it with some isopropyl alcohol might salvage this, but I opted to toss it, rather that attempt that. The cut leads are from the IR led.
The main attraction on the PCB is the Philips/NXP IC, which is an RC5 Infrared remote control transmitter that does pretty much everything on the board.
These markings are printet on the chip, next to the Philips logo:
SAA3010T
79030C
US0211 2 Y
The data sheet can be found here
The chip handles the scanning of the remote buttons, and converting those into valid RC5 protocol commands and sending them out into the world via the IR led.
The datasheet explains how the key scan combinations are converted into the RC5 address and command bits, so there's no code that runs on the IC for this specific remote; all the information for the commands is in the connections on the PCB (which is good, because I cannot capture the RC commands from a non-working remote).
A command in the RC5 protocol is composed of
- One start bit (fixed value of 1)
- One field bit (fixed value of 1)
- One control bit (toggled between commands)
- Five address bits (to set the system type, e.g. TV, VCR, etc)
- Six command bits (the actual command)
more information here
We need to figure out the address and command bits to make a working remote.
Finding the correct address bits was as simple as finding which Z- and
DR lines from the IC were connected on the PCB. They turned out to be
Z3 (pin 6) and DR7 (pin 9). From the System matrix in the datasheet on
page 10, this dermines the system number 31 (a reserved system number),
which has these system bits: 11111
.
With a multimeter I checked how the buttons wires corresponded to the pins on the RC5 IC. It turns out that one wire was connected to the X5 pin and all the other pins to 6 DR-lines.
When a buttons is pressed, it connects on of the DR pins to the X5 pin. The datasheet contains a nice table on page 9 to lookup the command bits for those X/DR combinations.
Once the protocol was found, it was fairly easy to find an Arduino library that was able to send out RC5 commands: Arduino IR-Remote