This is my first post so I hope that this doesn't come out as too forthright or undiplomatic. I have been reading this forum for quite some time now and I'm a big fan of the EEVBlog. I have never had much to contribute here until now. Background
: I am a EE with an interest in audio. I am currently employed by a fairly large manufacturer of professional audio equipment (power amps, powered speakers, mixers, etc..). We have been using the SigmaDSP line of chips from Analog Devices for a few years now. These chips are embedded in some of our products and take care of things such as limiting, EQing, filtering, etc. Although my main gig is the electronics manufacturing aspect of the company, I have recently started to get involved with product development and got my hands on an evaluation board for the ADAU1701 SigmaDSP and SigmaStudio. I am investigating the possibility of using that particular chip in a new product design.SigmaDSP and SigmaStudio
: I would consider myself a noob when it comes to DSP coding (I have never done it). My experience with embedded systems is with the usual PIC, AVR, ARM micros. With that said, I was thoroughly impressed by the (FREE!) SigmaStudio Graphical Development Tool
interface and how easy it is to create "code" for the DSP. Being able to simply grab some graphical blocks and string them together to create a signal processing path is a huge time-saver for a beginner like myself! It makes DSP seem easy.
This made me ponder on the idea of creating a real DSP shield for the Arduino platform. Although some such solutions already exist, none of them are particularly easy to use for beginners. They also lack power (because they rely on the AVR to do the heavy lifting) or are simply not flexible enough for anything more than basic algorithms. My hope is that this new shield would allow hobbyist and inquisitive minds to toy around with a 'real' DSP, giving them access to all the good stuff that comes along with that.Preliminary Design Idea
: This new DSP shield would integrate an ADAU1701
and interface with an Arduino via I2C for loading the DSP code (upon boot-up) and updating coefficients (i.e. parameters) in real-time. It would also work stand-alone if required, with an EEPROM on-board to run the shield in self-boot mode. The shield would utilize the ADAU1701's built-in ADC/DACs. That means 2 ADC channels and 4 DAC channels, giving us one stereo input and two stereo outputs, all on 3.5mm jacks. A breakdown of the main features are as follow:
- Minimal design to reduce build cost
- Shield or stand-alone operation
- On-board EEPROM for stand-alone operation (self-boot)
- All GPIO pins broken out to a header for experimentation
- GPIO pins can be configured for I2S I/O or user-interface I/O (pots, buttons, leds, ...)
- Stereo input via 3.5mm jack to the DSP's ADC
- Two Stereo outputs via 3.5mm jacks from the DSP's DACs
- The two stereo outputs will be able to drive 16 ohm headphones directly (via two LM4808)
- External power connector
- USBi port for connecting to ADI's own EVAL-ADUSB2EBZ. This would enable real-time tweaking of all parameters from within Sigma Studio
- Open Source (of course!)Why I am posting this here
: To open a constructive discussion with potential users of this shield. I would be grateful for some ideas on refining the feature set and design. Any comment is helpful. I want this to be as useful as possible to as many people as possible. Also, if you have any experience with the SigmaDSP chips and can point out the "traps for young players", please share.
I am sure that some of you will have questions (I certainly did not cover everything in this post) so please ask away.
Although I am mainly an Altium user, I will be doing the design in Eagle to keep things as accessible as possible. This will add quite a bit of time to the project since I have to learn a new tool from scratch. I hear that Eagle has a steep learning curve...
Any links to some good tutorials are appreciated.
If this project goes somewhere, I will consider doing a batch of boards and possibly putting it on kickstarter to make this commercially available.
Any feedback is welcome!