Bryston BR5 Smart Remote
A rechargeable infrared remote control platform for Bryston audio components, combining custom embedded hardware, low-power firmware, RGB backlighting, motion wake, OLED feedback, and browser-based firmware updates.
Overview
The Bryston BR5 is a rechargeable infrared remote control designed for Bryston’s high-end audio components. The goal of the project was to create a modern handheld remote that could support a wide range of past and present Bryston products while remaining familiar, durable, and easy to use.
The device combines a custom button layout, multi-colour backlighting, motion-activated wake, a small configuration display, rechargeable USB-C power, and firmware that can adapt to multiple Bryston product families. It also includes a browser-based device manager for firmware updates and device diagnostics, reducing the need for dedicated desktop software or internal engineering tools.
This project was a full product-stack effort involving embedded hardware, firmware architecture, low-power design, user-interface behaviour, product compatibility, and customer-facing update tooling.
BR5 Remote Gallery
Product Context
Bryston has produced many generations of audio equipment, including preamplifiers, integrated amplifiers, DACs, CD players, digital players, and surround processors. The BR5 was designed to provide a single handheld controller that could operate many of these products through selectable device profiles.
The remote supports common control groups such as source selection, volume, mute, transport controls, balance, phase, DAC controls, preamp functions, and model/profile selection. A three-digit code entry system allows users or support staff to load specific product profiles, adjust backlight behaviour, change sleep timing, alter motion sensitivity, reset settings, and access diagnostic functions.
My Role
My work on the project spanned the embedded product stack, including hardware integration, firmware design, device behaviour, update tooling, and productization support.
Key areas included:
- ESP32-S3 firmware development
- Hardware bring-up and peripheral integration
- Keypad scanning and button-state handling
- IR command/profile architecture
- OLED display UI and status feedback
- Addressable RGB backlighting control
- Battery monitoring and low-power sleep behaviour
- Motion wake using an accelerometer
- Persistent configuration storage
- Serial JSON device-information protocol
- Browser-based firmware update and device manager tooling
- Support for multiple hardware revisions
- Product documentation and release support
Hardware and Electronics
The BR5 is built around an ESP32-S3 microcontroller and integrates several peripherals to support the user interface, power system, and remote-control functionality.
Major hardware features include:
- ESP32-S3 microcontroller
- USB-C charging and programming interface
- Rechargeable lithium battery system
- Battery charging, protection, and fuel-gauge circuitry
- Matrix keypad controller
- OLED configuration/status display
- Addressable RGB LEDs for per-zone button backlighting
- LIS3DH accelerometer for motion wake
- IR LED transmitter output
- Hardware support for multiple board revisions
The physical design required close coordination between the enclosure, button geometry, PCB layout, light pipes/backlighting, display placement, USB-C access, and handheld ergonomics. The result is a compact remote with a dense control layout while still preserving clear grouping and visual feedback.
Firmware Architecture
The BR5 firmware is written in C++ using the Arduino framework on PlatformIO. It follows a modular architecture where hardware and feature areas are separated into dedicated modules with a common setup/begin/loop lifecycle.
Major firmware modules include:
- Keypad handling
- IR transmission
- Display rendering
- Addressable LED backlighting
- Battery monitoring
- Accelerometer wake handling
- Sleep/deep-sleep management
- Persistent settings storage
- Device/profile management
- Serial communication
- Future Wi-Fi support groundwork
The firmware manages both real-time user interaction and long-term battery operation. Button presses are interpreted through a multi-state input system supporting press, hold, long-hold, and release behaviour. Device profiles translate those button events into the correct IR commands for different Bryston product families.
Persistent settings are stored in ESP32 non-volatile storage so the remote can remember product profiles, backlight preferences, brightness, sleep delay, hold timing, motion sensitivity, and other configuration options across power cycles and deep sleep.
IR Profile System
A major part of the firmware is the profile system used to support different Bryston products. Each profile maps the physical buttons and three-digit codes to the appropriate IR command set for a given product family.
Supported profile groups include:
- Bryston preamplifiers
- Integrated amplifiers
- Digital-to-analog converters
- CD players
- Digital players
- Legacy product families
This approach allowed the BR5 to act as a universal Bryston remote while still preserving product-specific behaviour.
Low-Power Behaviour
Because the BR5 is a rechargeable handheld device, low-power operation was an important design requirement.
The firmware uses configurable idle timeouts, deep sleep, motion-triggered wake, display shutdown, and backlight control to reduce power consumption when the remote is not in use. A battery fuel gauge reports voltage, percentage, and charging state to the firmware, which is then shown to the user through the display and the browser-based device manager.
The accelerometer allows the remote to wake when picked up, making the device feel responsive without needing to keep the display, LEDs, and processor fully active all the time.
Backlighting and User Feedback
The BR5 uses addressable RGB LEDs to provide configurable button backlighting. The LEDs are organized into functional zones so different sections of the remote can be visually grouped by purpose.
Backlighting features include:
- Per-zone colour control
- Brightness adjustment
- Toggleable white/colour zone modes
- Motion-activated illumination
- Configurable sleep behaviour
- Visual status feedback
The remote also includes a small OLED display used for profile information, code entry, battery status, settings, and firmware/device feedback. A larger text mode was implemented to improve readability.
Browser-Based Device Manager
In addition to the embedded firmware, the project includes a browser-based device manager and firmware update tool built with Vue 3 and the Quasar Framework.
The web app connects to the BR5 over USB using the browser Web Serial API. Once connected, it can read JSON-formatted device information from the remote and display useful status information, including:
- Current firmware version
- Battery voltage and percentage
- Charging state
- Backlight settings
- Brightness and colour-zone state
- IR and preamp profile selections
- Sleep and button timing settings
- Firmware update availability
Firmware releases are organized through a release catalog that defines supported devices, available versions, binary files, changelogs, release type, and ESP32 flash offsets. The updater can flash ESP32 firmware directly from a Chromium-based browser using esptool-js.
This makes firmware updates accessible through a support website rather than requiring a custom desktop application.
Firmware Update System
The firmware update flow was designed for both customer support and future field updates.
The update system includes:
- Browser-based USB serial connection
- Device identification
- Firmware version comparison
- Release catalog loading
- Changelog display
- Official and release-candidate firmware support
- ESP32 binary flashing at fixed memory offsets
- Progress feedback during updates
This provided a practical path for maintaining devices after release and made it easier to support firmware improvements over time.
Future Connectivity
The firmware includes groundwork for future Wi-Fi-enabled features. Wi-Fi is planned as a future capability once Bryston’s next-generation media software platform is available. For the initial BR5 release, the primary focus is reliable IR control, low-power handheld operation, USB configuration, and browser-based firmware updates.
Engineering Challenges
This project involved several overlapping constraints:
- Supporting a large range of legacy and current products
- Fitting a dense control layout into a handheld enclosure
- Managing RGB backlighting without excessive battery drain
- Preserving responsive wake and button behaviour
- Supporting multiple hardware revisions from one firmware codebase
- Making firmware updates practical for non-engineering users
- Providing useful diagnostics without specialized tools
- Balancing modern features with the simplicity expected from an IR remote
The most interesting part of the project was that the device had to feel simple to the user while hiding a fairly complex embedded system underneath.
Outcome
The result was a complete rechargeable remote-control platform with custom hardware, production firmware, configurable product profiles, motion-aware backlighting, display-based feedback, and a browser-based firmware update system.
The BR5 project demonstrates experience across embedded systems, product design, hardware/software integration, low-power firmware, web-based device tooling, and real-world product support infrastructure.
Skills Demonstrated
- Embedded C++ firmware development
- ESP32-S3 hardware integration
- PlatformIO build configuration
- Low-power embedded design
- Deep sleep and wake-source management
- I2C, SPI, GPIO, and USB serial integration
- Key matrix scanning
- IR protocol handling
- OLED display UI design
- Addressable RGB LED control
- Battery fuel-gauge integration
- Persistent settings storage
- Multi-profile product compatibility
- Browser-based firmware update tooling
- Vue 3 and Quasar web application development
- Web Serial API integration
- ESP32 firmware flashing with esptool-js
- Product documentation and customer-support workflow design