1. Home
  2. /
  3. Projects
  4. /
  5. Multimedia Device with Remote Control: Audit and Firmware Improvement
Integra Sources home button.

GET IN TOUCH

Multimedia Device with Remote Control: Audit and Firmware Improvement

Entertainment Firmware development Project audit

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.

A man standing on a stage in front of a music pedal case.

Request

The inventor of this multimedia device asked Integra Sources 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

Project Audit

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.

Time-frequency matrix used in the frequency-hopping spread spectrum method of signal transmitting.
The frequency-hopping spread spectrum method implies rapidly changing the carrier frequency according to a sequence of pseudorandom numbers known to both the transmitter and the receiver. The time-frequency matrix represents how the signal “hops” between frequency channels.

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 Integra Sources 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).

Examples of HTTP status codes 301 (Moved Permanently) and 302 (Found, Moved Temporarily).

Now, the device can download firmware updates not only from the original server but also from other servers if the customer configures a redirection.

The client and the team also discussed the implementation of mp3 support and the mechanism of firmware updating directly from SD cards (as a backup update channel). However, the customer found this functionality unnecessary at the moment.

The Scope of Work

  • Hardware and software audit
  • Firmware revision

Technologies Used

  • The STM32 microcontroller was used in this device.
  • The firmware was written in C/C++ and compiled in CMake.

Result

Integra Sources conducted an audit of the device developed by a third-party team and improved its firmware. We changed the fade out time when the 1-second hold is initiated from 6 to 3 seconds. The team also reprogrammed the HTTP client so that it could process redirection status codes, which enabled the device to receive firmware updates from alternative servers.