This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
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 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.
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).
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.
You might also like...
Industrial Emergency Detection System
The solution uses artificial intelligence to process images from IP cameras, detect dangerous incidents, and send an alarm to a Jmix application.
LEARN MORE
Licensing Service Development for 3D Printers
The service uses the SHA-256 hashing algorithm to verify the authenticity of licenses. We designed the solution, created a web application with Jmix and enhanced the functionality of the desktop application.
LEARN MORE