A bluetooth-based amplifier iterating on the Opossum project, written primarily C/C++ for a specific hardware platform comprised of:
- Nordic nRF52832 Bluetooth 5.2 SoC
- Infineon Technologies MA12070P Integrated Audio Amplifier
- Cirrus Logic CS5343 Stereo A/D Converter
- Cirrus Logic CS4344 Stereo D/A Converter
This project is the 2nd gen evolution of a bluetooth stereo audio amplifier with a spetral-based automatic gain control. The 1st generation was concieved and started at a point before I had access to an online streaming service such as Spotify, who normalizes track levels across albums and artists. When playing back music without that normalization it often frustrated me when a quiet track would follow a loud track, or vice versa, and the playback volume would thus jump substantially in one direction or the other.
A bluetooth-connected amplifier utilizing a microcontroller continuously analyzing the audio spectrum and adjusting the playback amplifier volume accordingly, solves the issue!
All 1st generation features maintained, plus the 2nd generation of this will platform will:
- Streamline the platform from a hardware design perspective
- unified BT+DSP system
- digital audio volume control (no predefined gain steps)
- custom PCBA minimizes size and increases reliability over 1st gen dev board solution
- project is much more easily replicated
- Add line-in/line-out functionality
- Possibly add a display for displaying system and/or playback information
- Expand EQ and DSP options beyond simple on/off functionality
- Bring up hardware hardware system
- power control
- GPIO
- mute
- line-in
- line-out
- amplifier
- mute
- I2C/SPI
- amplifier
- bluetooth radio
- establish BT connection
- establish audio streaming
- I2S audio system
- ADC
- DAC
- Amplifier
- display (not yet defined)
- establish connectivity
- display text
- display images
- route basic DSP (steel thread)
- BT/line-in audio is routed to amplifier
- BT/line-in audio is routed to DAC
- ADC audio is selected over BT audio if
- Line input is active
- BT connection/A2DP is either not established or audio is not streaming
- port User Experience from Opossum to use as a starting point
- port DSP processing (automatic gain control)
- port User Interface
- Buttons
- Volume Control
- LED Control
(C) 2021-2021, Winry R. Litwa-Vulcu