The Project Entangle EX-β

The Entangle EX-β.

A couple months ago we were thrilled to assemble an Entangle platform that actually looked and felt more like a set-top box. The Entangle EX-α is a Raspberry Pi 4 mated to an HDHomerun Flex 4k. Unfortunately stock FFmpeg doesn’t enable hardware-accelerated HEVC decode, which is needed to watch ATSC 3.0 broadcasts. And while patches have been done in distros such as LibreELEC, we don’t have the time at the moment to integrate those into the Entangle code base.

So…we’ve gone back to X86 to build the Entangle EX-β.

Update 12/15/2023

Since putting together the EX-β, we’ve been able to assemble a more compact EX-ɤ, detailed towards the end of the post.

The Hardware

Trigkey Green G4 motherboard on the right, Flex 4K on the left.

We’re still using our favorite HDHomerun Flex 4k, but this time paired with an Intel N100 board pulled from a Trigkey Green G4 mini PC. The Intel N100 has four Alder Lake “efficient” cores, or what used to be known as Atom-class cores, and no performance cores. Boards based on it aim to be energy-efficient but still provide quite a bit of horsepower – enough to decode HEVC in software.

Rear view.

As with the EX-α, we’re using Ubuntu 22.04 Server as the core OS (though we did need to pull in the latest mainline kernel to get WiFi working). We’ve got the same TP-Link UE300 USB-Ethernet adapter to connect to the Flex, and are again using a Samsung FIT – though this time hosting the overlayroot’d OS as well as a volatile partition. As with the α a 2 TB Teamgroup MP33 SSD provides recording storage, though we can use the on-board NVMe slot this time around.

One nice thing is that since the Trigkey is powered by a 12v brick, we’re able to tap 12v from the motherboard and use it to power the Flex. No separate power supply or boost converter required.

Power Consumption

On the power consumption front we’re taking a bit of a step backwards. While the EX-α idles at 7.4w, the EX-β consumes 10.5w. And with all tuners engaged and recording (one tuned to our ATSC 3.0 lighthouse and the other three to ATSC 1.0 emissions), the β uses 14.4w compared to the α’s 11.7w.

UPDATE: The EX-β idles at 8.3-8.6w. The 10.5w number probably reflected an EPG fetch or other background activity.

Streaming one show to a FireTV bumps power consumption by about 0.1w. On the α an additional 0.5w was required. Streaming an ATSC 1.0 show to an iPad bounces power consumption between 14.5 and 23.7w for an average close to 18w. That’s the cost of pure software transcoding MPEG-2 video and AC-3 audio  to H.264 video and AAC audio (mostly encoding H.264, as decoding MPEG-2 video and AC-3 audio don’t take a lot of cycles.).  Streaming an ATSC 3.0 show to an iPad – something the α can’t do – bounces power consumption between 14.5w and 27w for an average around 22w.

HEVC decoding is particularly taxing and it will be interesting to see how hardware acceleration in the N100 might help. We’ve shied away from this in the past since we’ve found the GPU can crash on malformed bitstreams and bring down the entire system. But that was a few year ago and perhaps the situation has improved, especially with the new Vulkan support in FFmpeg 6.1.

Closing Thoughts

With its ability to stream ATSC 3.0 shows to an iPad, the EX-β is now our primary box. On the whole we’re happy with it though will continue to be on the lookout for a more power-efficient option, particularly at idle power. Regrettably the Pi-5 suffers from the same HEVC decode support (or lack thereof) as the Pi-4, so we’ll either need to port the required patches to the Entangle code base or hope for a more efficient X86 motherboard.

Update 12/15/2023: EX-ɤ

While we’re quite happy with the EX-β, it nagged at us that we still needed a USB-Ethernet adapter to connect to the Flex. During our search for N100 mini PCs we came across a version with dual Ethernet ports but were put off by its USB-C power supply. We weren’t sure we’d be able to get a 12v supply to send over to the Flex. But after a bit of research we found that the power supply provided with the boxes were 12v, despite the USB-C connector on the end. It also appears that the board will negotiate 12v from a USB-C charger, though we heard some odd buzzing from the board when we did that so are sticking with the supplied adapter. So was born the EX-ɤ!

The N100 board is actually smaller than the Flex!

Through a bit of creative Ethernet wiring we’ve hidden the jacks  connecting the motherboard to the Flex while still keeping the boards pretty flush with the back plate. And with the USB ports now facing the Flex, the Samsung FIT is hidden in the case. We did bring one port out the back using a right-angle connector. Just in case. You never know when a USB connector will come in handy. The third USB connector hosts the white LED face plate backlighting (which for some reason appears blue in the top photo).

To top it off these N100 boards – we picked one from “Nucbox” – are somewhat smaller than the Trigkey Green G4, so we’ve shrunk the case to 190 mm x 95 mm x 35 mm. From a volume standpoint we’re now equivalent to the DeskPi Pro.

One downside is that the EX-ɤ seems to consume about 1w more power at idle. It could be that the power supply is less efficient, or some other changes to the N100 board (such as the dual 2.5G Ethernet ports vs on-board 1G and 1G USB in the EX-β).