Harmony Touch / Ultimate One / maybe others - a (potential) fix for "Stuck on Harmony logo"

Jun 23rd 2024 — Logitech, Harmony, Harmony Touch, Harmony Ultimate, Stuck on logo, UART, fix

So I got Ultimate One remote with the classic symptom of "stuck on Harmony logo". Using Menu + Off combination entered "reset mode" splash screen but it was also stuck there, not recognized by PC. I was able to fix it in a non-obvious way.

After taking one apart and connecting it to UART to see debug messages... it just booted fine?! I did full reset/reflash just to be sure and it was working OK, so I unplugged everything, reassembled the remote - and it was stuck at Harmony logo again.

This time I decided to connect UART as-is (with device stuck at the logo). I pressed a key and was greeted by U-Boot prompt... With a few tests I noticed if I don't connect PC TX -> Remote RX cable, it breaks from autoboot like there was a key pressed:

In:    serial
Out:   serial
Err:   serial
ARM Clock : 300000000 Hz
DDR Clock : 150000000 Hz
resetting msp430
set state reg 0x0a
set state reg 0x20
set state reg 0x21
set state reg 0x22
Hit any key to stop autoboot:  0 
U-Boot >

That was a clear symptom of missing/damaged pull-up resistor on that line. And guess what? After a close examination, R78 was missing! I don't know how this happened - I was definitely the first one to disassemble this unit.

On another (working) remote I measured it to be around 8K, so I substituted one directly to UART pads... and remote is working ever since :)

set state reg 0x0a
set state reg 0x20
set state reg 0x21
set state reg 0x22
Hit any key to stop autoboot:  0 
Creating 1 MTD partitions on "nand0":
0x000000200000-0x000008000000 : "mtd=0"
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    126976 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
... and so on

Harmony 950 has a similar debug connector but with smaller footprint and all pads described directly on the PCB. In fact I took the pinout directly from 950.

If you have this remote stuck on Harmony logo and no other non-invasive method is working for you - you should give it a shot. If you don't know how to do that, ask your electronics nerd friend - UART stuff is usually a pretty basic knowledge, they should be able to help you. And if your remote is not missing that resistor - you can see console logs, it may tell you what (other) is wrong with your remote :)

By the way - remember not to be me and disconnect both battery and USB power before any soldering ;) This may end up badly.

Happy hacking!