Multimedia Device with Remote Control: Audit and Firmware Improvement

Backstory

Multimedia devices are used not only for home entertainment but also for all kinds of stage performances. At large concerts, the staff uses complex and expensive equipment connected by many cables. In small bars or restaurants, it is more common to see a mixing console controlled from a tablet.

In this project, the team dealt with a multimedia device controlled from a miniature remote unit. But unlike similar solutions, this one uses a frequency-hopping spread spectrum (FHSS). The remote control and the device communicate on frequencies that constantly change according to a given pattern, which significantly increases the noise resistance of the channel. This way, the signal from the remote control is not interrupted by interference from other equipment on the stage. In addition, the device can pick up signals from an impressive distance of more than 750 m. The device can also connect to a PC via a wireless interface and work as an external speaker.

Request

The inventor of this multimedia device asked HHD to improve its firmware. For certain reasons, he could not delegate this task to the team that developed the product for him, so he was looking for a developer to replace it.

We were assigned two tasks:

First, we had to change the hold time of the button that switches tracks.

Second, the team had to improve the updating mechanism of the device.

Solution

Since the device and its firmware were developed by a third-party team, we started by examining the hardware and reviewing the firmware code. Conducting a project audit allows us to understand how the device works, estimate how much time and resources our job will require, and identify potential risks and issues with an existing solution.

The team analyzed the hardware architecture and firmware specification and compiled recommendations for improving the solution in a report.

Button Hold Time

There are two ways to switch tracks in the device. When the button is pressed briefly (held for less than 1 second), the multimedia player switches to the next or previous track in the list but does not play it. When the button is pressed for 1 second, the new track is played after the previous one fades out.

The customer asked HHD to change the fade out time from 6 to 3 seconds. That was an easy task, so the team completed it within the deadline. We changed the code, made sure that other functions of the device were not affected, and tested the updated firmware.

Firmware Update Mechanism

Initially, the device could only be updated from a specific predefined URL. The HTTP client would send a request to the URL and could only process success or failure responses. The customer wanted us to revise the firmware so that it could process redirects to other URLs. The team reprogrammed the HTTP client so that it could process the HTTP status codes 301 (Moved Permanently) and 302 (Found, Moved Temporarily).