Skip to content

Instantly share code, notes, and snippets.

@kylefmohr
Last active August 14, 2023 12:52
Show Gist options
  • Save kylefmohr/a3b3b14490469b001df08e0d7f1750f4 to your computer and use it in GitHub Desktop.
Save kylefmohr/a3b3b14490469b001df08e0d7f1750f4 to your computer and use it in GitHub Desktop.
AT&T U-Verse S30-S1B Decoded IR Codes

AT&T U-Verse S30-S1B Decoded IR Codes

This remote was a challenge, so I figured I'd share my findings because I didn't see this anywhere else online.

It uses the obscure "RCMM" protocol, sometimes referred to as "Nokia". RCMM can be sent in sizes of 12, 24, or 32 bits, this remote exclusively uses 32 bit codes. Another quirk of the protocol is that each button has two codes, one with a bit called "toggle" activated and one without. I've included both codes for each button.

You'll notice that VOL+, VOL-, and Mute aren't included, this is because these codes are sent directly to your TV, and will vary based on your setup. Also, the remote will send an additional "Power on/off" signal to your TV when you press the power button, but this signal is not included in the chart.

Button No. Button Name Command (no toggle bit) Command (toggle bit)
1 Power 0x2340260C 0x2340A60C
2 On Demand 0x234026F0 0x2340A6F0
3 Interactive 0x234026FD 0x2340A6FD
4 My Multiview 0x23402665 0x234026FD
5 Rewind 0x23402629 0x2340A629
6 Fast Forward 0x23402628 0x2340A628
7 Stop 0x23402631 0x2340A631
8 Pause 0x23402630 0x2340A630
9 Play 0x2340362C 0x2340A62C
10 Record 0x23402637 0x2340A637
11 Skip Back 0x2340264D 0x2340E64D
12 Skip Ahead 0x2340264C 0x2340A64C
13 Menu 0x23402654 0x2340A654
14 Back 0x23402683 0x2340A683
15 Options 0x23402664 0x2340A664
16 D-Pad Up 0x23402658 0x2340A658
17 D-Pad Left 0x2340265A 0x2340A65A
18 OK 0x2340265C 0x2340A65C
19 D-Pad Right 0x2340265B 0x2340A65B
20 D-Pad Down 0x23402659 0x2340A659
21 Exit to TV 0x23402655 0x2340A655
22 Info 0x2340260F 0x2340A60F
23 Guide 0x234026CC 0x2340A6CC
24 Vol+ (intentionally omitted)
25 Vol- (intentionally omitted)
26 Recordings 0x23402644 0x2340A644
27 Mute (intentionally omitted)
28 Last 0x2340260A 0x2340A60A
29 Channel+ 0x23402620 0x2340A620
30 Channel- 0x23402621 0x2340A621
31 NumPad 1 0x23402601 0x2340A601
32 NumPad 2 0x23402602 0x2340A602
33 NumPad 3 0x23402603 0x2340A603
34 NumPad 4 0x23402604 0x2344A604
35 NumPad 5 0x23402605 0x2340A605
36 NumPad 6 0x23402606 0x2340A606
37 NumPad 7 0x23402607 0x2340A607
38 NumPad 8 0x23402608 0x2340A608
39 NumPad 9 0x23402609 0x2340A609
40 Delete 0x2340269E 0x2340A69E
41 NumPad 0 0x23402600 0x2340A600
42 CC 0x234026E1 0x2340A6E1
43 A (Yellow Triangle) 0x23402638 0x2340A638
44 B (Green Square) 0x23402639 0x2340A639
45 C (Red Circle) 0x23402686 0x2340A686
46 TV Input (intentionally omitted)
47 Help 0x23402666 0x2340A666

For reference, this is what I was working off of when dumping the codes, and is what determines the button number:

image

I was able to decode this protocol with the help of the excellent @AnalysIR software, available for purchase here: https://www.analysir.com/

I tried half-a-dozen Arduino Infrared Libraries, as well as the very good (and open source!) IrScrutinizer project, however these were only able to give me the raw signal codes.


I almost forgot! In order to be able to send these RCMM format codes, you can use the excellent IRLib2 Arduino library, which includes support for sending RCMM codes. I have verified that these codes work on every AT&T U-Verse receiver in our home - including the Pace IPH8110, Cisco ISB7005, and Cisco ISB7105 (and likely many more, these are just the ones I've tested).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment