Universal-TV-Service-Remote

๐Ÿ“บ TV Master Service Remote

Industrial-Grade Universal TV Service Remote & Factory Menu Controller for Android

Android Kotlin Jetpack Compose License MIT IR Blaster PRs Welcome


๐ŸŒŸ Overview

TV Master Service Remote is a powerful, open-source Android tool tailored for electronics repair technicians, TV engineers, and hobbyists.

Retail television remotes intentionally omit discrete factory and service keys. When a technician needs to configure panel settings, fix flipped/mirror displays, adjust LVDS mapping, or troubleshoot firmware on consumer or universal boards, dedicated physical service remotes are often expensive or unavailable.

This application transforms any Android smartphone equipped with an Infrared (IR) Blaster into an all-in-one universal service tool capable of transmitting discrete service codes, firing automated macro sequences, looking up universal Chinese chassis codes, and transmitting raw Pronto Hex strings.


โšก Key Features


๐Ÿ“ฑ Hardware Requirements

To transmit physical IR signals, you will need:

  1. An Android smartphone with a built-in Infrared Emitter (IR Blaster):
    • Supported brands: Xiaomi, Redmi, Poco (e.g., Redmi Note series, Poco F/X series), select Huawei/Honor, and select older Samsung Galaxy / HTC devices.
  2. Alternative for non-IR phones:
    • Supports external 3.5mm headphone jack or USB-C IR transmitter dongles.

[!NOTE] Even on devices without an IR blaster, the app opens seamlessly, allowing technicians to look up motherboard combinations, read technician guides, and view code references.


๐Ÿ“บ Supported TV Brands & Chassis

Brand / Chassis Protocols Supported Dedicated Service Keys Macro Sequences Supported
LG Electronics NEC (38 kHz) In-Start, Ez-Adjust, In-Stop, Power-Only Direct Discrete Key
Samsung NEC / Pronto Hex (38 kHz) Factory, 3Speed, Info, Factory Reset Mute + 1 + 8 + 2 + Power
Sony SIRC (40 kHz, 12/15/20-bit) Service, Test, Wide, Digital Display + 5 + Vol+ + Power
TCL / Thomson NEC (38 kHz) Factory, Design Menu Contrast 9735, Contrast 1950
Philips RC5 / NEC (36-38 kHz) SAM, CSM, Factory 062596 + Info / Menu
Panasonic Panasonic (37 kHz) Service Mode 1 & 2 Vol- + Info (3 times)
Universal Boards NEC Standard / Extended Factory Key, Panel Set 1147, 2580, 208, 815, 8202

๐Ÿš€ Quick Start & Installation

Option 1: Direct APK Download

  1. Head over to the Releases tab.
  2. Download the latest app-debug.apk or app-release.apk.
  3. Sideload the APK onto your Android phone and install it.

Option 2: Build From Source

Clone the repository and build using Gradle:

# Clone the repository
git clone https://github.com/R3bing/Universal-TV-Service-Remote.git
cd Universal-TV-Service-Remote

# Build Debug APK
./gradlew assembleDebug

# Output APK path:
# app/build/outputs/apk/debug/app-debug.apk

๐Ÿ—๏ธ Project Architecture

Universal-TV-Service-Remote/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ src/main/
โ”‚   โ”‚   โ”œโ”€โ”€ java/com/servicetv/remote/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ data/
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ TvDatabase.kt             # Brand codes & motherboard database
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ir/
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ IrBlasterManager.kt       # Android ConsumerIrManager interface
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MacroExecutor.kt          # Timed IR sequence execution engine
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ NecEncoder.kt             # NEC 32-bit modulation
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SonySircEncoder.kt        # Sony SIRC 12/15/20-bit modulation
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ProntoHexConverter.kt     # Pronto Hex string interpreter
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ model/
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ TvModels.kt               # Data structures and entities
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ui/
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ components/               # Custom D-Pad, Hex Dialog, Service Menu
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ screens/RemoteScreen.kt   # Main Compose Remote interface
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ theme/                    # Material 3 Color Schemes & Styling
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ MainActivity.kt               # Android entry point
โ”‚   โ”‚   โ””โ”€โ”€ res/                              # Drawables, layouts, and adaptive icons
โ”‚   โ””โ”€โ”€ build.gradle.kts                      # Module build configuration
โ”œโ”€โ”€ web_preview/                              # Standalone HTML5 / PWA Web Simulator
โ”œโ”€โ”€ SERVICE_MENU_CODES_MASTER_GUIDE.md        # Comprehensive technician manual
โ””โ”€โ”€ README.md

โš ๏ธ Technician Disclaimer

[!WARNING] Accessing television service menus enables low-level modification of EEPROM, panel timing parameters, LVDS bit depth, and backlight voltages. Incorrect adjustments can cause panel blanking or boot loops. Always record initial values before modifying any factory options. Use the IN-STOP function with extreme caution as it performs an irreversible NVRAM wipe.


๐Ÿค Contributing

Contributions are warmly welcomed! If you have discrete IR codes for missing brands or new Chinese motherboards:

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/NewMotherboardSupport).
  3. Commit your changes (git commit -m 'Add support for TP.MT5522.PC821 chassis').
  4. Push to the Branch (git push origin feature/NewMotherboardSupport).
  5. Open a Pull Request.

๐Ÿ“„ License

Distributed under the MIT License. See LICENSE for more information.


Crafted with โค๏ธ for Electronics Technicians and Open Source enthusiasts worldwide.