Home theater

The home theater project is developed based on the Quectel Pi H1 smart single-board computer and uses the Kodi open-source media center software as its core to build a home theater system that integrates media playback, library management, and multi-scene adaptation. This project achieves one-stop integration and high-definition playback of local and online media resources, fully meeting the diverse needs of home audio-visual entertainment and providing users with a high-quality home entertainment experience.

Development resources summary

Development accessories list

Accessory name Quantity Specifications
Quectel Pi H1 smart single-board computer 1 Quectel Pi H1 smart single-board computer
USB-C power supply 1 27W USB Type-C interface charger 1.2m cable standard power PD power supply suitable for Raspberry Pi 5
HDMI cable 1 Specification: HDMI 2.0; Cable length: 1m; Interface: HDMI-A (Male) - HDMI-D (Male)
Ethernet cable 1 Cable length: 1m; Transmission rate: Gigabit;
CPU cooling fan 1 Raspberry Pi 5 official active cooler with heatsink and thermal pad
Display 1 24-inch HDMI display

Physical reference of accessories

Get started quickly

Development preparation

The Quectel Pi H1 comes pre-installed with Debian 13, so no re-flashing is required. Just follow the steps below.

Hardware connection

Install cooling fan

Plug the fan cable into the FAN header on the board, then secure the heatsink clips into the mounting holes as shown:

Display connection

Connect one end of the HDMI cable to the HDMI port of the smart single-board computer and the other end to the HDMI port of the monitor.

image-20251017144027933

Input ddevice connection

Connect the USB keyboard and mouse to the two USB-A ports on the smart single-board computer. If using a wireless input device, just plug the receiver into the USB port.

image-20251017144124363

Network connection

Connect one end of the Ethernet cable to the Gigabit Ethernet port of the smart single-board computer, and the other end to the Ethernet port of the router (ensure the router is already connected to the network).

Jumper cap connection

Locate the pin header labeled AUTO_POWER_ON at the upper left corner of the smart single-board computer, and ensure it is shorted with a jumper cap.

image-20251017144330473

Power connection

Connect the USB-A end of the USB-A power cable to the power supply, and connect the USB-C end to the power port of the smart single-board computer (usually labeled POWER IN).

image-20251017172353513

Connection complete reference

image-20251211175705335

Project implementation

  • Update installation sources
sudo apt update
  • Install Kodi service
sudo apt install kodi
  • Install PVR plugin
sudo apt install kodi-pvr-iptvsimple
  • Ensure the video acceleration API is initialized correctly during Kodi startup. To add the user to the groups, please use the following command:
sudo usermod -a -G cdrom,audio,render,video,plugdev,users,dialout,dip,input username
Example: sudo usermod -a -G cdrom,audio,render,video,plugdev,users,dialout,dip,input pi
  • Ensure the user running Kodi belongs to the following groups (for example, for user pi)
groups username

image_8

  • After restarting, select "Kodi on GBM" in the gear icon at the bottom right of the login interface to run the Kodi service.
image-20251211100841075

After entering Kodi, we will be asked whether to enable the installed plugin. We can choose NO and set it later. Then the options Enter add-on browser and Remove this main menu item will appear. Click the gear icon in the upper left to enter settings.

image-20251211111801807
  • Add plugin

For convenient operation, we can use "\" to switch Kodi between fullscreen and windowed mode.

We have already installed IPTV Simple Client through the terminal command. So we click Add-ons→My Add-ons→PVR clients to find IPTV Simple Client, then click it to configure.

image-20251211112044821
  • Add source

​The location defaults to remote path. You can switch to local path by clicking the up/down toggle on the right. Select the live source file directory in the M3U playlist path. (Live source files are generally M3U8, which can be searched online, downloaded and stored locally, or accessed via URL remote path.) Here we choose to load the live source via remote path. Enter the remote URL into the "M3U playlist URL bar", click OK, Enable, then press ESC to return to the navigation interface.

  • Go to Settings->Player, click the gear to switch to Expert mode, allow DRM PRIME decoder and select EGL rendering.
  • Press ESC to return to the main interface, click the TV bar, select your favorite program, and you can start watching.

Note: Currently, only low frame rate TV programs can be played. Hardware video decoding is still being adapted. Please pay attention to Quectel developer website for more information.

Advanced usage

Here we introduce how to import movies, videos and other resources to play on Kodi.

Step 1: In the Movies interface, click Enter files section -> Add videos to add resources.

image-20260108150326469

Step 2: Select the path where the imported resources are stored, then click OK (here my resources are stored in /home/pi/media).

image-20260108151433505

Step 3: Set the resource type to Movies, other options remain default, then click OK. It will prompt whether to update information, select Yes. Kodi will automatically scan the videos in the folder and download covers, descriptions and other information from the internet. After scanning is complete, return to the Movies interface, and you will see movies with covers.

image-20260108152104330 image-20260108154716354

Note: The above operation is based on the condition that the information of imported videos can match with online resources. If unable to match, the videos will not be loaded to the Movies interface.

Next, we introduce the method of importing customized resources.

Step 1: Click the Movies interface to enter the video storage folder, select the video with cursor and press the right mouse button, then select Scan to library.

image-20260108165512090

Step 2: Enter the movie name, which needs to be changed to a name that can match with online resources, such as: bulid.mp4.

image-20260108165912545

Step 3: After information matching, a prompt box will appear, select Yes, double-click to select any matching movie, then press ESC to return to the Movies interface. At this point, we can see the customized video without a cover.

image-20260108170530793

Step 4: Exit the system and log in again to load resources.

image-20260108170755721

Step 5: Click the Movies interface, right-click on the customized video and select Manage, where you can modify the movie name, genre classification, etc.; click Choose art->Poster, select the picture that already stored in the imported folder to change the video cover.

image-20260108171144920 image-20260108171352946

Step 6: Press Esc to return to the initial interface, then right-click on the video and select Mark as Watched, finally return to the Movies interface, and you can see the customized video with the changed cover.

image-20260108171917615 image-20260108172228223