B50 - be controlled by TV through Optical input

Hello!

I’m interested on buying the B50 but I would need to control the volume thought the TV connected to the optical input on the B50. I do that with my Samsung TV and an old Sony receiver and I’m able to configure the Samsung’s universal control to connect the Sony’s volume through the optical connection.

I can’t use the HDMI arc of the B50 because I’m already using that with a TV box and my TV has only one HDMI arc output.

Thanks in advance!

Hi, I use an ESP32 to relay IR signals from the TV remote control to various audio equipment in an effort to minimize the number of remote controls lying around. This video covers the basics. #254 Infrared Remote Protocol Translator (Arduino Nano) - YouTube

It is a bit technical to do but works well. The following is a list of codes for the Arylic IR controller. Typically, you read a non volume key from the TV remote ( say a menu navigation key or similar) and send a volume adjustment signal to the Arylic. I asked in another post here if it is possible to integrate this into the B50 thereby eliminating the need for a microcontroller in the middle.

#include “sys_ir.h”
#include “sys_key.h”

static SysKeyEvent irtable_rakoit_25key = {
// Press Down Start
// | Short Press Release
// | | Const Press Start
// | | | Const Press Hold
// | | | | Const Press Release
// | | | | |
// PDS SPR CPS CPH CPR DD DDD CODE (XX–8989)
{{SYS_KEY_NONE, SYS_KEY_POWER, SYS_KEY_FACTORY_RESET, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xBF}, //POWER
{{SYS_KEY_NONE, SYS_KEY_LED_TOGGLE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xB2}, //PLAYALL → LIGHT
{{SYS_KEY_NONE, SYS_KEY_MUTE, SYS_KEY_BEEP_TOGGLE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xBE}, //MUTE
{{SYS_KEY_NONE, SYS_KEY_SRC_USB, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xB3}, //USB
{{SYS_KEY_NONE, SYS_KEY_SRC_AUX, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xEE}, //AUX
{{SYS_KEY_NONE, SYS_KEY_VOL_UP, SYS_KEY_VOL_UP2, SYS_KEY_VOL_UP2, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xE9}, //VOL+
{{SYS_KEY_NONE, SYS_KEY_VOL_DW, SYS_KEY_VOL_DW2, SYS_KEY_VOL_DW2, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xE5}, //VOL-
{{SYS_KEY_NONE, SYS_KEY_PREV, SYS_KEY_WIFI_PREV_CH, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xAE}, //PRE
{{SYS_KEY_NONE, SYS_KEY_NEXT, SYS_KEY_WIFI_NEXT_CH, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xAF}, //NEXT
{{SYS_KEY_NONE, SYS_KEY_PLAY_PAUSE, SYS_KEY_STOP, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xEC}, //PLAY/PAUSE
{{SYS_KEY_NONE, SYS_KEY_SRC_OPT, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xEF}, //OPT
{{SYS_KEY_NONE, SYS_KEY_SRC_BT, SYS_KEY_WIFI_RESET, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xE7}, //BT
{{SYS_KEY_NONE, SYS_KEY_SRC_WIFI, SYS_KEY_WIFI_RESET, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xE6}, //WIFI
{{SYS_KEY_NONE, SYS_KEY_BASS_UP_COARSE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xB1}, //BASS+
{{SYS_KEY_NONE, SYS_KEY_BASS_DW_COARSE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xB5}, //BASS-
{{SYS_KEY_NONE, SYS_KEY_TREB_UP_COARSE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xF2}, //TREBLE+
{{SYS_KEY_NONE, SYS_KEY_TREB_DW_COARSE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xF6}, //TREBLE-
{{SYS_KEY_NONE, SYS_KEY_EQ_FLAT, SYS_KEY_EQ_FLAT, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xF3}, //EQ → FLAT
{{SYS_KEY_NONE, SYS_KEY_VB, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xF7}, //FAV → VB
{{SYS_KEY_NONE, SYS_KEY_NUM_1, SYS_KEY_NUM_101, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xB9}, //1
{{SYS_KEY_NONE, SYS_KEY_NUM_2, SYS_KEY_NUM_102, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xFA}, //2
{{SYS_KEY_NONE, SYS_KEY_NUM_3, SYS_KEY_NUM_103, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xFB}, //3
{{SYS_KEY_NONE, SYS_KEY_NUM_4, SYS_KEY_NUM_104, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xBD}, //4
{{SYS_KEY_NONE, SYS_KEY_NUM_5, SYS_KEY_NUM_105, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xFE}, //5
{{SYS_KEY_NONE, SYS_KEY_NUM_6, SYS_KEY_NUM_106, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE, SYS_KEY_NONE}, 0xFF}, //6
};

static SysIrData irdata_rakoit_25key = {
0x8989,
24,
25,
irtable_rakoit_25key,
NULL,
0,
};

1 Like

Hi William, thanks fro your suggestion. This is not what I’m looking for unfortunately.

It would be great if someone that owns the B50 and a Samsung TV to make a quick test for me, connecting them through the optical cable and set up the universal remote controller to control the B50.

At the moment, with firmware 0052/0057 the Optical/Spdif input can only use volume up/down and mute from the Arylic remote control. There is no control from the TV remote (I have Samsung and TCL televisions)