Hacker News new | ask | show | jobs
by opello 166 days ago
> I'm assuming it's to prevent moisture from corroding a port of some kind.

The primary value discussed in the talk was electrical isolation since there's mains voltage in the appliance and the potential for shorts or inadequate isolation would require some kind of isolation, so a path that optically isolates the communication makes quite a bit of sense.

I'm also curious if other devices have gone this route.

3 comments

LG appliances at least used to use acoustic signaling for diagnostics: hold a phone up and the washer makes some modem-esque (I think it’s 4-tone / 4-FSK) noises and the app or technician can diagnose issues. It was originally engineered to even work over voice codecs, so a customer without a smartphone could relay the diagnostic session to a technician.
The absolutely "leetest" thing I have ever seen was a device where the firmware update was to be done by:

1. Hold a button while booting (pretty normal)

2. This reconfigures the circuit path of one of the LEDs so it is reverse-biased to VCC via its resistor and switches one of the microcontroller GPIOs to ADC input

3. You go to a website that plays a strobe pattern (encoding the firmware)

4. You hold that website in front of the LED till other LEDs blink, signifying a successful update

They could have done this using a photodiode, but no, they had to abuse an LED. Not many people are aware that LEDs can in a certain configuration be used to measure light.

Another example of firmware update reusing something that is already there: some electric guitar effects from TC Electronics can be reprogrammed by bringing a phone close to the guitar pickups. The phone app encodes the data as sound that is picked up by the guitar pickups and sent down the chain to the effect.
Ahh good example I remember having done that myself before!
That's pretty cool. I found a write-up[1] on it but unfortunately didn't come across any examples of the communication.

[1] https://github.com/kabelincho/LG-Smart-Diagnostics-modem

There are lots of examples on YouTube, this one seems succinct: https://youtube.com/shorts/3Eb315vL9uw . They picked good tones to make it satisfying IMO. I don’t know of anyone who’s reversed the bitstream in public, though, but it doesn’t seem like it should be very hard.
That's a great example, thanks! I was looking for "LG Smart Diagnostics" and "audio" and then "LG Acoustic Diagnostics" and found TVs calibrating their audio playback but not this. Trying "LG Audible Diagnosis" found a bunch like yours.
That's some advanced gatekeeping right there. Where other appliances might have a blink code or several digit error display (Miele) to look up in a manual, the phone method tires you to the manufacturer.
The support hotline will ask you to hold your phone towards the device. It is less error-prone (than a human) and contains more info than a blink code. I find it really clever.
Sure it's clever. But it also means you can't repair the appliance without the manufacturer's server to decode it for you.
Owner of an LG washer that failed here.

All the same diagnostics you can do at the machine, the phone home service allowed a remote engineer to diagnose as well. Things like drum rpm, tilt/knock sensors, uneven balance detection. Instead of paying a human $250 to come out and press buttons, they can do it remotely.

I understand in the pessimistic age of John Deere, all remote diagnostics are bad, but that is not the case here. I was able to do all of the diagnosis myself to determine it was a bad stator and then replace it myself.

How were you able to diagnose it yourself? Just through the error codes, or is there another interface available for non-technicians?
It doesn't require a server, it just requires knowing what the codes mean, same as blinking lights.

Decoding it without help would be difficult for the average consumer, but it's not an impossible task.

>so a customer without a smartphone could relay the diagnostic session to a technician

Do you mean by mimicking the noises themselves?

No you see you just need to buy specially marked boxes of Cap'n Crunch that have a plastic whistle in them that plays the tones for you.
I wonder how many HN readers still get that reference (and 2600, etc.)
I'm merely middle aged, but I've read the hacker lore.

https://en.wikipedia.org/wiki/Blue_box

We make use of a service already existing without paying for what could be dirt-cheap if it wasn't run by profiteering gluttons...
By holding their phone up to the machine.
Electric meters often blink a signal LED for every X kWh, so other devices can read the signal. I'm not sure if this is used for bidirectional communications, though.
No, but they also have a separate infrared interface for this.

https://en.wikipedia.org/wiki/IEC_62056

Smart meters have a whole protocol
Alternatively, I guess you could also use really thin cables to carry the low voltage paths; and that act as fuses, if ever a lot of current at high voltage was flowing across them? But probably not very reliable both in regular operation and as fuses.

We have a Miele washing machine and a Miele dryer. Solid machines all around even after years of use.

Fusible traces aren’t uncommon - but they would effectively destroy the device if current limits are exceeded, and they certainly would be if the power supply is non-isolated, so it wouldn’t actually be a solution to the firmware update problem.

The usual solution here is an optical coupling of some kind - optocouplers (a box with a LED, photodiode, and air gap between them) are very common for this purpose, and are an inexpensive and effective option for digital signaling across an isolation boundary.

In this case they’ve basically built a custom optocoupler out of discrete components, which is a bit unusual, but makes sense when you consider the risk of corrosion due to water ingress at the diagnostic ports, and the need to access it while - for example - a dishwasher cycle is running.