PaulStoffregen
Well-known member
Edit: The audio board for Teensy3 is now available:
http://www.pjrc.com/store/teensy3_audio.html
Recently I've started working on audio for Teensy 3.0. It's still in the early stages. My hope is to make an alpha release in late September.
In the meantime, I'd like to start a conversation about possible audio interface hardware PJRC might sell. This is your chance to weigh in regarding features vs cost... what should I put on the board that you'd find really useful, and what should I leave off to keep the physical size small and the cost lower?
For projects where you only need moderate quality, like you'd get with Adafruit's Wave Shield on Arduino Uno, the option will be there to get it from Teensy3 using only resistors and capacitors on PWM and analog input pins.
For 16 bit stereo at 44.1 kHz (roughly CD quality sound), of course a CODEC or DAC is needed. I'm looking at several options. All have stereo line level output. Most have the ability to drive headphones (33 ohm load). Nearly all CODECs can accept a signal from a electret condenser microphone, the same type you'd plug into the pink audio jack on a PC. These are pretty much the baseline features.
The first big choice, where I'd really like your input, is connectors! Connectors increase the cost moderately, but of course the circuit board would become much larger than a Teensy3 if it had 4 RCA jacks for line in and out, a green headphone jack & pink mic jack, and big terminal blocks to wire up speakers. How important is small size? Should I keep the circuit board approximately the same size as a Teensy3, even if that means not bringing out every possible signal, or cramming stuff like line-level in/out to 0.1 inch spaced pads?
Another big question is how important are stereo line level inputs? Or microphone input? An output-only DAC or a CODEC with stereo output but mono-only input might really reduce the cost. Should I consider this, or is stereo input really an essential feature?
Another option which I personally think I'd use is a built-in amp capable of about 1 watt to an 8 ohm speaker. Sure, you can always build another board for the amp, or use amplified PC speakers. But for a Teensy-sized project running from three AA batteries or a 3.7V Lion battery, having a highly efficient (class-D) amp that can be power managed via the I2C seems pretty useful. But amplified speaker output does add a few dollars, and more if it's capable of 2 speakers. Is that worthwhile, or just an unnecessary expense?
Adafruit's shield has a nice volume knob. All solutions I'm considering have software controlled analog volume adjustment. But I could add a pot that connects to an analog input, so your program could periodically read the knob position and adjust the volume. Again, it's a matter of extra board size and extra cost... so is that worthwhile, or should I just leave it off?
Maybe there's other audio hardware I've not considered? I'm open to feedback. I'd like to make something that will really be useful, so I'd really like to hear your opinions, especially on the trade-offs between features, physical size, and cost?
http://www.pjrc.com/store/teensy3_audio.html
Recently I've started working on audio for Teensy 3.0. It's still in the early stages. My hope is to make an alpha release in late September.
In the meantime, I'd like to start a conversation about possible audio interface hardware PJRC might sell. This is your chance to weigh in regarding features vs cost... what should I put on the board that you'd find really useful, and what should I leave off to keep the physical size small and the cost lower?
For projects where you only need moderate quality, like you'd get with Adafruit's Wave Shield on Arduino Uno, the option will be there to get it from Teensy3 using only resistors and capacitors on PWM and analog input pins.
For 16 bit stereo at 44.1 kHz (roughly CD quality sound), of course a CODEC or DAC is needed. I'm looking at several options. All have stereo line level output. Most have the ability to drive headphones (33 ohm load). Nearly all CODECs can accept a signal from a electret condenser microphone, the same type you'd plug into the pink audio jack on a PC. These are pretty much the baseline features.
The first big choice, where I'd really like your input, is connectors! Connectors increase the cost moderately, but of course the circuit board would become much larger than a Teensy3 if it had 4 RCA jacks for line in and out, a green headphone jack & pink mic jack, and big terminal blocks to wire up speakers. How important is small size? Should I keep the circuit board approximately the same size as a Teensy3, even if that means not bringing out every possible signal, or cramming stuff like line-level in/out to 0.1 inch spaced pads?
Another big question is how important are stereo line level inputs? Or microphone input? An output-only DAC or a CODEC with stereo output but mono-only input might really reduce the cost. Should I consider this, or is stereo input really an essential feature?
Another option which I personally think I'd use is a built-in amp capable of about 1 watt to an 8 ohm speaker. Sure, you can always build another board for the amp, or use amplified PC speakers. But for a Teensy-sized project running from three AA batteries or a 3.7V Lion battery, having a highly efficient (class-D) amp that can be power managed via the I2C seems pretty useful. But amplified speaker output does add a few dollars, and more if it's capable of 2 speakers. Is that worthwhile, or just an unnecessary expense?
Adafruit's shield has a nice volume knob. All solutions I'm considering have software controlled analog volume adjustment. But I could add a pot that connects to an analog input, so your program could periodically read the knob position and adjust the volume. Again, it's a matter of extra board size and extra cost... so is that worthwhile, or should I just leave it off?
Maybe there's other audio hardware I've not considered? I'm open to feedback. I'd like to make something that will really be useful, so I'd really like to hear your opinions, especially on the trade-offs between features, physical size, and cost?
Last edited: