BBB Audio Cape RevB Getting Started

From eLinux.org
Revision as of 12:01, 16 May 2014 by Hieuduong (talk | contribs)
Jump to: navigation, search

This guide is intended to walk through the basic instructions on how to get your Audio Cape working. If you have any question, please email support@circuitco.com.


To purchase the Audio Cape please visit BoardZoo.com

To purchase the BeagleBone Black please visit BeagleBoard.org


The instructions below are performed under following kernel and may vary for different kernel versions.

   root@beaglebone:~# uname -a
   Linux beaglebone 3.8.13-bone47 #1 SMP Fri Apr 11 01:36:09 UTC 2014 armv7l GNU/Linux

Load the device tree file

Ensure your BBB is connected to the internet. Download the provided device tree file and decompress it. You may end up doing something like this:

   root@beaglebone:~# wget http://elinux.org/images/1/10/BB-BONE-AUDI-02-00A0.zip
   root@beaglebone:~# unzip BB-BONE-AUDI-02-00A0.zip

If you don't have unzip installed. Run as root:

   root@beaglebone:~# apt-get update
   root@beaglebone:~# apt-get install unzip

Compile the device tree file and move it to /lib/firmware:

   root@beaglebone:~# dtc -O dtb -o BB-BONE-AUDI-02-00A0.dtbo -b 0 -@ BB-BONE-AUDI-02-00A0.dts
   root@beaglebone:~# mv BB-BONE-AUDI-02-00A0.dtbo /lib/firmware

Since this Audio Cape uses the same audio signal from the onboard HDMI interface, you need to disable the audio portion of the HDMI by edit the uEnv.txt at /boot/uboot. Add this line to the uEnv.txt file:

   optargs=capemgr.disable_partno=BB-BONELT-HDMI

Reboot your BBB. Log in and check the capemgr:

   root@beaglebone:~# cat /sys/devices/bone_capemgr*/slots
       0: 54:PF--- 
       1: 55:PF--- 
       2: 56:PF--- 
       3: 57:PF--- 
       4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
       5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
       6: ff:P-O-L Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN

Note that the "virtual cape" BB-BONELT-HDMIN is loaded instead of the BB-BONELT-HDMI. The difference between the two "capes" is that the BB-BONELT-HDMIN does not include the audio portion. Now load the DT file for Audio Cape:

   root@beaglebone:~# echo BB-BONE-AUDI-02 > /sys/devices/bone_capemgr*/slots
   root@beaglebone:~# cat /sys/devices/bone_capemgr*/slots
       0: 54:PF--- 
       1: 55:PF--- 
       2: 56:PF--- 
       3: 57:PF--- 
       4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
       5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
       6: ff:P-O-L Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
       7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-BONE-AUDI-02

The Audio Cape is now loaded.


Play Audio Files

Before playing an audio file, you may need to set the volume and configuration of the codec. Download the asound.state file to /etc/var/alsa.

   root@beaglebone:~# cd /var/lib/alsa
   root@beaglebone:~# wget https://raw.githubusercontent.com/CircuitCo/BeagleBone-Audio/files/asound.state

You may need to reboot your BBB (and load the Audio Cape DT file again if required).

Play a WAVE file

To play a WAVE file (say sample.wav), run:

   root@beaglebone:~# aplay sample.wav

Record an audio input

To record an audio input, you can use a male-to-male audio cable to connect from an audio source (phone, lapotp, etc) to the audio input connector on the Audio Cape. Run the command below

   root@beaglebone:~# arecord -r 441000 -f S16_LE input.wav

Play the recorded file:

   root@beaglebone:~# aplay input.wav