This Shield brings sound in through a Maxim MAX4468 microphone pre-amp, sends it straight to a Spin Semiconductor FV-1, and then out through an ON Semiconductor NCS2211 speaker amplifier.
There are several applications one could use this Shield for in an Arduino project:
- Wearable/portable voice changer
- Musical instrument effects unit
- Portable personal stereo
I'm sure others can come up with other ideas. (My personal pet project is a wearable voice changer, but I also plan to make this Shield as broadly applicable as I can.)
The FV-1's settings are controlled via a Maxim MAX11312 I2C controller. That same controller also operates an ON Semiconductor NCS2211 data switch, which serves as an electronic DPDT switch. The same signal that operates the switch changes the 24LC32 EEPROM chip from its normal connection to the FV-1, storing "external" programs as a Read-only chip, to a Write-capable chip connected directly to the I2C bus so those external programs can be loaded onto it. The switch connects the EEPROM to the FV-1 when in Read-Only mode, or to the main I2C bus when in Write-Capable mode.
There's also an option for adding a Bluetooth Low Energy (BLE) capability to a project, via Adafruit's BLE SPI Friend. The header for this connects the Friend's pins to the GPIO pins used in the breakout's provided sample code (as shown in the Wiring section of its tutorial). If you don't want to use the Friend for any reason, just don't connect it.
One of the MAX11312's ports controls the MAX4468's Shutdown function; another is connected to the Friend's DFU (Device Firmware Update) pin.
A Microchip MCP4652 digital rheostat -- with a separate I2C address -- controls the speaker volume.
There are three ways that the audio signal can leave the board. The "normal" way is through a 3.5mm TRRS audio jack (the four leads carrying IN+, OUT-, OUT+, and IN- respectively). In case the user is building something with the mike and speaker in the same enclosure as the Shield, there's also a pair of two-lead right-angle headers to connect them.
Finally, should the user want to process a signal through more than one FV-1, a pair of Picoblade connectors allow the user to connect the output of one directly to the input of the other. While the MAX11312 is capable of up to eight I2C addresses, the selection on this board is limited to four; it's highly unlikely anyone will want more than two.
(For those who might want to connect the mike and speaker through separate mono audio jacks or bare-wire connectors, a separate version of this will feature those options in place of the TRRS jack and right-angle headers. That's why the board is labeled Sound Processing Shield 1; the other one will be Sound Processing Shield 2. That will be the only difference, so all sketches should work equally well with both.)
As a bonus, there's also a Qwiic connector... because, well, you can never have too many Qwiic connectors.
This Shield is designed to be usable with either an electret or piezoelectric microphone. By default, it's set up for an electret; to use it with a piezo, connect the "Piezo" solder jumper on the underside.
The 1MΩ Pull-Up resistors, on the other hand, are connected by default. If you have other I2C boards with their own Pull-Up resistors, you may want to disconnect these by opening the solder jumpers next to them.
Two other sets of solder jumpers control the I2C addresses for the MAX11312 and MCP4652; these will be discussed in more detail under Programming.
For most purposes, you'll have to devise your mike/speaker combo yourself; few, if any, devices exist that would be compatible with this TRRS plug configuration (though some are close). This is also true if you use one of the other methods of audio input/output.
The BLE SPI Friend connection is here so the user can control this Shield's functions via Bluetooth without having to add a separate Bluetooth Shield (thus increasing the device's...Read more »