AudioSense-Pi is a RPi HAT based on a TI's stereo codec.
It is Open Source Harwdare Association (OSHWA) certified with UID - IN000007
This hardware provides audio input capabilities to the RPi.
The codec connects to the RPi's SoC through the I2S Bus.
The codec chosen, allows interfacing multiple audio I/O to the RPi.
Multiple I/O? Yes!
The following devices can be connected through a 3.5mm jack
- Line-In: Plain old audio in from mobile phones, PCs, etc.,
- Mic-In: Connect a microphone
- Line-Out: Connect the output to a speaker
- Headphones: Connect a Headphone w or w/o microphones
Simultaneous Inputs? Yes!
It supports the following combinations
- Two stereo Line-Inputs and a microphone
- One stereo Line-Input and two microphones
- Two stereo Line-Inputs, a microphone and one mono line-input (with h/w hack)
- One stereo Line-Input, two microphones and one mono line-input (with h/w hack)
Simultaneous Outputs? Yes!
Audio output can be routed to the headphones or speakers (with additional hardware)
Using the ALSA System on Chip (ASoC) layer we write a machine driver for the HAT.
With the following changes a new sound card by the name audiosense-pi
will appear
- A device tree overlay is added for hardware configuration.
- Changes to the configuration file (config.txt).
- ASoC machine driver, makefile and kconfig changes
- Minimal changes to the ASoC codec driver to handle deprecated APIs
- Order the BOM
- Send the gerber files to your nearest fab house
- Assemble the board, it should look something like this..
We have three ways to setup audiosense
- Get the prebuilt images, flash it into a SD card, fly away!
- Stay with the existing image you have, build the kernel yourself and flash only the kernel image
- Pull the raspberry pi kernel source
- Use this script to build and flash the kernel image to the SD card
- Edit/add the following lines to the
config.txt
in the boot partiton of the SD card
# Uncomment some or all of these to enable the optional hardware interfaces dtparam=i2c_arm=on dtparam=i2s=on dtparam=spi=on # Uncomment this to enable the lirc-rpi module #dtoverlay=lirc-rpi # Additional overlays and parameters are documented /boot/overlays/README dtoverlay=audiosense-pi # Enable audio (loads snd_bcm2835) dtparam=audio=on
- Boot the pi, run the command
aplay -l
you should see a new soundcardaudiosense-pi
- Get a kernel image that you want, merge the patches manually, build and flash the kernel image (for advanced kernel developers)
- Clone the kernel sources you want
- Apply the patches in the software directory (
git am
might not work owing to the large number of changes among the trees) - Use the script in step 2, apply the
config.txt
changes and boot the pi
- Open terminal, type in
alsamixer
. HitF6
and selectaudiosense-pi
from the list of soundcards Soundcard selection
- Soundcard widgets and control settings
- Plug in an audio-input to the board, a headphones and run
arecord -D hw:1 -c 2 -r 48000 -f S16_LE | aplay -D hw:1
- If you did everything right, you will be listening to your favourite song ;)
Hardware licensed under the CERN Open Hardware License version 1.2
Software licensed under the GNU GPLv2
Documentation licensed under CC0 1.0 Universal