i don’t have one. I’ll keep my eye out for a 2nd-hand handheld one in the local street markets.
There are repair cafés in my area but they reject large appliances. I might be able to remove all the components from the cabinet and wiring harness and effectively stuff all the innards in a backpack which I could then layout on a repair table. Seems like a long shot because whoever helps work on it will be equally blind about Bekos secret diagnostic steps.
Thanks for the suggestion. I’ve seen them in Indian YT videos. I’m half tempted but online shopping is mostly a non-starter for me and I don’t suppose I would find that locally. I bought an Arduino clone and some relays, which might be my nuclear option.
I spent a lot of time on YT even to the point of watching Arabic videos of my model just to see what actions were taken. I tried the door latch-unlatch trick and unplugging for a long time.. holding the cancel button. Holding the 1st auxillary button. Not sure what else there is to try apart from serial comms.
I would like to have a scope or logic analyser. Someone told me a logic analyser would be sufficient for this.. and also sufficiently cheap.
I have an Arduino clone but the EEPROM is apparently embedded in the MCU.
Perhaps I will do that.
But I guess it’s worth mentioning that I have some bad house wiring. I switched off a light to work on it and got shocked (yeah, in principle for safety I should also turn off the breaker but still this should not happen). When lights are off at night, some LED lights are still very faintly lit. When I was messing with serial port wiring I think I touched the 5v and 0v.. perhaps each with a different hand, and felt a shock. 5v should not shock me but I think my ground connections are maybe dodgy. There is proper ground pipes in the basement but maybe someone wired neutral to ground or something somewhere in the house.
I assume you measured 5V in reference to the machines GND.
Indeed. It was in fact the 0v pin on the washing machine that is next to the RX pin.
When I meter gnd against 5v on the adapter, I get 5.15v. So both the adapter and the DMM are fine.
I heard that connecting two DC supplies together would have no problem if they both output exactly the same voltage. Of course we would never have an exact match, but the only strain on either side of the connection would be from the difference between the 5v from the adapter and 5v from the washing machine.
~~So I’m tempted to conclude no damage was done and the serial port was sabotaged at the factory.~~
(edit) The w/m also gives 5v. Turns out my alligator clip was bad. So the port may be fine.
I had the two 5v pins connected (from 5v on the adapter to the 5v pin on the washing machine). I had it that way for maybe 10 or 15 min until I was told not to. The USB→TTL adapter was a little warm when I disconnected it. Now I wonder if I damaged the washing machine port because when I meter the 0v against the 5v, there is almost nothing there. Did I damage it, or did the manufacturer disable the serial port before it got to me?
I appreciate your insights but struggle to reconcile the following with what others say (youtubers and folks in an electronics chat room):
I doubt many people use eeprom to save any kind of error. … It is far more likely that the script is just a state machine and is reaching an error state because of some missing or bad signal that it needs to continue running the script.
I asked EE folks how would a controller board sense a fault? Does the controller take resistance measurements on the components? The answer was “highly unlikely - that would be far more sophisticated and costly than what would be realistic in a domestic washing machine”. They said fault detection is based on logic. E.g. if the tacho sensor does not have increasing feedback despite increasing power to the motor, then the controller can detect from that that there is a fault. Or if the water has been filling for a long time and the pressure sensor is not detecting a pressure increase, the machine would know from that activity that the inlet valve has a problem.
You seem to suggest that the script reruns from a clean state every time and that a “bad signal” would be re-detected each run, which then implies that the machine would repeatedly attempt to fill with water, tumble, drain, etc. But that does not seem to be what I am seeing. The machine will be powered off & unplugged for days, and when powered on it instantly flashes that there is a fault (which is likely only known after attempting to run the various components). This is consistent with what a Youtuber said: the machine (not my particular model but speaking generally) stores the fault code. From there, the machine is trapped in that state until the error code is cleared by pressing a secret sequence of buttons.
Some leaked tech docs for a different model (same make) mentioned that if a fault occurs 8 times, it then becomes stored in memory. This seems consistent with what I observed. I repeatedly attempted to run the machine. Not sure how many times. Motors would run, failure hits, and then it quits. After doing that so many times (which I regret), the behavior changed. Now the machine will not even attempt to run because it is apparently trapped in an error state.
So everything seems to point to the error code being stored in EEPROM (which I believe is embedded in the ATmega32L chip). And not just the error code but apparently a count of failed attempts to run a program.
I don’t intend to modify the program. I am just looking to reset the state of the software to get it out of the fault state.
Normally that can be done by using the buttons on the PCB to enter a secret combination code to:
- enter diagnostic mode
- run various functions/cycles which normally run as part of a program
- see the error code
- reset the board
When the software detects a fault (such as a broken pump), it saves the error code. Then if you fix the pump, the software doesn’t know the pump has been fixed. So the board has to be reset to clear the error code.
The button sequence codes are secret and known only to the manufacturer. They are very protectionist. In Europe, law requires them to make the codes available to other 3rd party technicians -- but only in the 1st ten years and they can also charge a fee. Consumers get no access under any circumstances.
My thought was theoretically a pro independent repair service would not want to pay every manufacturer for the secret info for every model they repair -- so perhaps they would attach to the USART serial port and have a way to see errors and reset the board. But if it’s as you say, then the USART is disabled and useless to repairers. Which means I’m stuffed because I cannot buy a replacement card for my machine.
If the serial port is not disabled, you conjecture that it is likely a read-only non-interactive mechanism. That still may be useful. I was able to find the secret button combination that is likely giving me an error code which I can guess the meaning of based on leaked docs for other models, but I’m not satisfied with that. I would be useful if I could get more verbose or supplemental info about the error state.
There is some chatter about GE washing machines (not what I have) include an rj-45 port and that they released some kind of open source thing called the green bean which adapts USB to serial. On the one hand, it suggests that not all manufacturers intend to prevent communication with the PCB. OTOH, this actually seems to not be for service use but for sending notifications to the user.
The MCU is an ATmega32L, which seems to be well documented. I was able to fetch a 300+ page document and a 12 page overview of the specs.
When I connect the ground pin of the adapter to the ground pin of the w/m, the TX and RX LEDs light up (either solid or rapid fire). That must be wrong, no? The tx and rx LEDs should flash when data traverses the circuit. If we could imagine that the w/m is transmitting data nonstop, certainly Minicom is not, so at least the TX LED should have stayed unlit. I could have something dodgy going on with my ground line.