Stereo Boom Bonnet
Speaker separation Example
Quick installation guide to enable the I2S audio output on Ubuntu.
ODROID-C1+/C2
- Connect the stereo boom bonnet to ODROID-C1+/C2 using an I2S cable, attach a USB keyboard, USB mouse and HDMI monitor, then power up the system.
- Update the System:
- target
sudo apt update && sudo apt dist-upgrade
- To ensure that the stereo boom bonnet kernel modules are loaded on Terminal.
- target
odroid@odroid64:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ODROIDHDMI [ODROID-HDMI], device 0: I2S.27 dit-hifi-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0 odroid@odroid64:~$ odroid@odroid64:~$ sudo modprobe snd-soc-pcm5102 odroid@odroid64:~$ sudo modprobe snd-soc-odroid-dac odroid@odroid64:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ODROIDHDMI [ODROID-HDMI], device 0: I2S.27 dit-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: ODROIDDAC [ODROID-DAC], device 0: I2S.27 pcm5102-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 odroid@odroid64:~$
- Applications → Sound & Video → Sound → Hardware Tab & Output Tab select “ODROID-DAC”
If you have to load the driver every time whenever your ODROID-C1+/C2 starts, simply you can by registering the driver into /etc/modules
- target
odroid@odroid64:~$ su Password: /* root password is "odroid" */ root@odroid64:/home/odroid# echo "snd-soc-pcm5102" >> /etc/modules root@odroid64:/home/odroid# echo "snd-soc-odroid-dac" >> /etc/modules root@odroid64:/home/odroid# exit exit odroid@odroid64:~$
Reboot again.
Check it by “aplay -l”:
- target
odroid@odroid64:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ODROIDHDMI [ODROID-HDMI], device 0: I2S.27 dit-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: ODROIDDAC [ODROID-DAC], device 0: I2S.27 pcm5102-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 odroid@odroid64:~$
Boom bonnet sound test with sample wav file
- target
odroid@odroid64:~$ aplay -D hw:1,0 testfile.wav
Change default sound output
- check your sound device number
- The number zero means the boom bonnet output on C2 Ubuntu 18.04 mate.
- target
odroid@odroid64:~$ pactl list short sources 0 alsa_output.platform-odroid_dac.stereo-fallback.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED 1 alsa_output.platform-odroid_hdmi.stereo-fallback.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED 2 alsa_input.platform-odroid_hdmi.analog-mono module-alsa-card.c s16le 1ch 44100Hz SUSPENDED
- Set the default with the device number
- target
odroid@odroid64:~$ echo set-default-sink 0 | sudo tee -a /etc/pulse/default.pa
ODROID-C4
- Connect the stereo boom bonnet to ODROID-C4 using an I2S cable, attach a USB keyboard/mouse and HDMI monitor, then power up the system.
- To enable the sound card, you need to modify the config.ini file.
- target
root@odroid:~$ vi /media/boot/config.ini
- Change the config.ini file to apply the hifishield dtbo file.
- target
... overays="spi0 i2c0 i2c1 uart0 hifishield" ...
- Change the DTB file for sound card. Then reboot.
- target
root@odroid:~$ reboot
- You can see that the sound card is enabled.
- target
root@odroid:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ODROIDHDMI [ODROID-HDMI], device 0: SPDIF-dit-hifi dit-hifi-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0 card 1: ODROIDHiFi [ODROID-HiFi], device 0: TDM-B-pcm5102a-hifi multicodec-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0 root@odroid:~#
- To test, connect an amplifier to the 3.5mm or streo speaker on the boom bonnet, and then run:
- Applications → Sound & Video → Sound → Hardware Tab & Output Tab select “Stereo Output + Stereo Input”
Adding a RCA connector for Lineout
Stereo Boom Bonnet support
Android supports only 44.1.Khz/16bit output.
BLOCK DIAGRAM
Schematic
Power consumption
1Khz sine wave playback
Full scale with sound clipping : 6 Watt
Lowering output volume to minimize the clipping : 2 Watt
Pop-up noise
Speakers don't generate pop-up noise in power on and off process.
But Earphone output generates pop-up noise in the power-on process.
Normal power-off process doesn't make any noise.