DIYstompboxes.com

DIY Stompboxes => Digital & DSP => Topic started by: alparent on January 10, 2011, 02:49:49 PM

Title: Arduino type DSP platform?
Post by: alparent on January 10, 2011, 02:49:49 PM
I'm having so much fun with my Arduino board that I was wondering it there is anything like it, but for the DSP world?
Title: Re: Arduino type DSP platform?
Post by: ExpAnonColin on January 11, 2011, 12:58:08 PM
It depends on what you're looking for (the short answer is no).  The mbed and leaflabs maple are both promising because they have I2S, but I have not gotten I2S fully working on the mbed yet.  Either would be capable of light DSP and especially good for loopers and other effects that require more complicated code (both are programmed in C++)  For more "traditional" DSP (filters, chorus, etc), Mark Seel's DSP board looks promising, although you'd need to learn DSP in assembly.

-Colin
Title: Re: Arduino type DSP platform?
Post by: markseel on January 12, 2011, 10:56:19 PM
I looked at that mbed module - that looks really nice :icon_biggrin:
I was excited to see that it has I2S ports.
But from what I could tell the I2S ports on the ARM chip aren't brought out to pins on the DIP.
Is that true?
I agree, could be a nice platform for delay-based effects (loopers, echos, etc).
What compiler do you use? is there a free one?
Title: Re: Arduino type DSP platform?
Post by: ExpAnonColin on January 13, 2011, 12:37:44 PM
Quote from: markseel on January 12, 2011, 10:56:19 PM
I looked at that mbed module - that looks really nice :icon_biggrin:
I was excited to see that it has I2S ports.
But from what I could tell the I2S ports on the ARM chip aren't brought out to pins on the DIP.
Is that true?
I agree, could be a nice platform for delay-based effects (loopers, echos, etc).
What compiler do you use? is there a free one?

As I understand it, there are two I2S ports on the LPC1768, and one of them is accessible by the DIP.  Something is funny about it though and I think you can only use the mbed as slave, I2S chip as master (not a big deal though I don't think - and I'm not 100% sure it's true, it's just something that's been mentioned on the forums there).  The mbed has a nice online compiler, which is free, but I think it can also be programmed with some of the open source ARM toolchains.  The leaflabs maple also looks really nice but is much less mature.  The LPCXpresso is also an LPC1768 board, there are a bunch out there.  I think the LPC1768 is plenty powerful for any simple effect, and also effects which require routing.  Probably not pitch shifting, but easily some simple distortions, chorus, etc.

-Colin
Title: Re: Arduino type DSP platform?
Post by: mhelin on January 21, 2011, 05:12:44 AM
Quote from: alparent on January 10, 2011, 02:49:49 PM
I'm having so much fun with my Arduino board that I was wondering it there is anything like it, but for the DSP world?


Sure there is something like, at least hardwarewise. Software tools are common problem. Either they cost too much, or the free versions are too limited. Also considering DSP most affordable platforms support oly fixed-point arithmetics.

Anyway, you could try dsPIC's, though the DIP versions don't actually have proper audio ADC. You can use SPI to interface ADC quite simply at least in mono mode which should be ok for stompbox style, follow this link:

http://focus.ti.com/mcu/docs/litabsmultiplefilelist.tsp?sectionId=96&tabId=1502&literatureNumber=slaa449a&docCategoryId=1&familyId=342

It says I2S but actually it means  left aligned mode which many converters support.

Now, if you are ready to going for SMD some of these boards would be a better choice:
http://members.cox.net/ebrombaugh1/synth/index.html

for an example:
http://members.cox.net/ebrombaugh1/synth/dsPICfun/index.html
(expansion header for converters)

http://members.cox.net/ebrombaugh1/synth/dsPIC_sp/index.html
(codec on board)

Texas Instruments have cheap USB Dongle for their TMS320C5515 DSP (16-bit fixed):

http://focus.ti.com/docs/toolsw/folders/print/tmdx5515ezdsp.html

It comes with on board codec.

Then regarding the floating point support there are inexpensive modules from Texas Instruments containing C2000 series MCU with some DSP support /w floating point support, MAC etc.

http://focus.ti.com/mcu/docs/mcuprodtoolsw.tsp?familyId=916&sectionId=95&tabId=2655&toolTypeId=1

See the controlCARD's and controlCARD Evaluation/Experimenters Kits for Piccolo:

http://focus.ti.com/docs/toolsw/folders/print/tmdxdock28069.html

That docking station features built-in JTAG so you don't need to buy XDS100 or other one.

There is the McBSP port for I2S and other audio codec interfaces.


Title: Re: Arduino type DSP platform?
Post by: ExpAnonColin on January 21, 2011, 12:34:48 PM
Quote from: mhelin on January 21, 2011, 05:12:44 AM
Software tools are common problem. Either they cost too much, or the free versions are too limited.

This is the key - there are hundreds of ways (many of which are cheap) to get into DSP programming, but unless they have a less-than-10-minute start time, a huge user community, and a library which does most things that take a while to program for you, they don't compare at all to the Arduino.  And there's nothing like that out there for DSP yet, to my knowledge.

-Colin
Title: Re: Arduino type DSP platform?
Post by: petemoore on February 19, 2011, 08:13:16 PM
  Biased review:
  Having too much fun with Arduino, Motorshield [dunno why I got that yet], and modshield board.
  Having read only a little here and there...
  The MAC and Linux might be interesting reads if they weren't large downloads...like the Arduino...to get started understanding anything.
  So...me picked Arduino, and hafta say after off and running [first bootup was exacerbatedly lengthy...]
  Once it started comming with my laptop, off and running with:
  Blinky LED
  INky Blinky LED's [one off/other on
  Fade and fading LED's
  Barberpole phasing LED LFO
  Light theremin.
  Various servo and motor controls.
  Digital input I/O using various stimuli [LDR/Mic...PIR very interesting.
  Hall Effect and IR sensors arriving next week.
  I can't really see any insurmountable barriers, considering the boards can be linked in countless variety of ways [see fireflies], the trick is to figure out what to actually apply him or them to...to say it's not too hard to buck up where my programming mastery fades out...instead of making 1 board multi-multi task...get the other board and tell it what to do simply, as a way of avoiding controller board limitation..what will inevitably be encountered: conflicting user instructions ! ! !