freeDSP - an open source 2-in 4-out digital crossover board

Still no standalone DACs on board, just the ones inside ADAU1701. It's on a roadmap, but not sure if it will fit the 10x10cm pcb. It might be AD1955 or PCM1794.

Those are I-out D/A's, atleast the PCM1794.
To have ok quality but minimize boardspace, maybe something like WM8740?
Though I'm not sure they are still available from farnell, mouser etc?

I think there's volume control in one of the later firmwares for the Audio-Widget, experimental branch on github IIRC.
 
quick question:
because I did refuse to read the manual :) I did plug the cy7c68013a mini board in my pc and it did not find any drivers, normal I thought.


Then I tried locating thre inf file but windows 7 is refusing to take it as a driver location for thedevice.
Then I startet reading the manual, which states the mini board should be attached to the pc without the jumper, which of course i did not do, I also already treid plugging it to my freedsp master, the classic version, but i had forgotten to solder the5V rail, so nothing working no voltages etc.

Ok now I cannot get my system to find the stupid usb cypress device, why is that so? did I already break it without blowing it up, I assume attaching it to the pc cannot destroy anything regardless the jumper.

Next step I try to delete the usb reg edit in windows, so I can kind of simulate it never has been attached befor, or is windows not supposed to recognize it anyway? and only sigma studio does the magic??
feel free to help, I highly appreciate this, since I assume there are only a couple of us out here whth the device close to running.

thanks
 
Member
Joined 2004
Paid Member
Here's the latest version, I added back Arduino Nano. Yes, it's ADAU1701. I am thinking about adding two more DACs, so that I can get 6 analog outputs from single ADAU1701.

I'll be posting the DesignSpark files for this 2-input, 6-output board on Audiodevelopers.com. It's the standard ADI reference circuit with a WM1824 DAC for the two extra outputs. It's also got a 35V to 5V switching regulator and a footprint for the Teensy-LC or Teensy 3.2 controllers. Plus, there is a 3.3 to 5V converter for using a Nextion display. There is also an FTDI chip for an extra serial input to control the DSP from an application such as ASD (Active Speaker Designer).

This board is a lot more interesting than the basic ADAU1701 boards because the on-board micro has the software to calculate the coefficients for the ADAU1701 biquads for implementing high-level crossovers. So you can "dial-a-crossover" from the touch screen display. The display is described in this thread at PE: LCD Display for DSP - Techtalk Speaker Building, Audio, Video Discussion Forum.

xover.jpg


The next version will have the same capabilities but be much easier to build (and it will be lower cost). And you will be able to select the crossover frequencies and slopes from your Android cell phone!
 
FggULlootmZmZUpVeLYsFCxYsMVr+H4ucjxNbXLTJAAAAAElFTkSuQmCCAA==


I test the picture, dont know if that simple copy paste is working?!
For those not capable of the easy german language it states:
device working properly, I did all the steps on another computer, the device seems to respond now, but it is stil not detected in sigmastudio.
However if I do the simple crossover example, the USBi is in green, I suppose that means sigmastudio is detecting my USBprogrammer succesfully, but if I clikc on Link Compile Download it says it has no connection, but I gotta say there is no freedsp classic board attached yet, but I assumed this is for the usb testing not neccessary? Will try it with the board in couple of hours.

The driver of the USB is strangly not exactly at the direction I pointed it to, the freedsp download folder with all the drivers including the sigmadelta usbdriver file: ADI_USBi.spt copied into my win7 64bit folder.
So I guess, theoretically everything is just as desired by the program and by the manual now, but still no success.

Any clues whats wrong?
Thanks a lot, help is still highly appreciated.
cheers

Update#1:
Ok further testing: If I disconnect the USB cable, in the sigmastudio the USBi patch switches from green to red, so proof that sigma studio is detecting my usbi or at least something that has to do with it :)
Next I did switch the USB interface pull down menus, normally it did say I2C(0x68) to ADAU1701 and I2C(0xA0) to E2PROM, I assume those are the I2C slave adresses?
With I2C it always says Comms failed when clicking : link compiled download.
I switched that to SPI and then it did work, also the SPI led is lighting up on the pcb attached to the cyppress miniboard, so this seems to work too, honestly I got no clue why the not attached SPI is at least saying it works when the not attached I2C says it failed, how can that happen when both options have nothing attached to it???
Anyway I do know that the freedsp classic will be programmed via I2C so I have to get that one working.

And I attached a picture its in png format around 500kB big, a screenshot, seems not to work properly, I simply copy and pasted it in, since you can only give online pictures is that correct?
 
Last edited:
error solved

glad to tell you, I solved my minor errors and did get the crossover demo up and running,
thanks for no help at all :) just kidding.
But I gotta say the response in this forum ist kind of nothing, it doesnt matter to me all that much since I know most of my problems simply get solved by writing it down and by time spend debugging, but anyway I wanna tell you what I did:

I realized I probably put the driver file into the 64bit folder instead of the x86 ( 32 bit folder) although I know that x86 stands for 32bit for whatever reason that is :) well after that my board at home also got recognized by the sigmastudio.

I2C is not responding as long as no freedsp is attached to the programmer board.

Then I traced a couple of supply voltages , mainly power supply external 5 V in 3V after the regulator, and 5V from the USB, oh and of course the CPU 1,8V core

A little strange my 5V voltage form the USB drops down maybe to 4,6V and that is before the protection diode in series, 3V3 is well acurate.
When I am using the external pwoer supply its dead stable, so I guess either my Laptop USB power is not capable of high enough current or something else oddly is happening.

Anyway I tested both ways and the code also runs when only powered by the USB.

Another point that wondered me a bit, in the crossover example dac1 goes to one single ( mono ) out and the dac2 goes to the other single mono out, so when using a stereo cable its kind of tricky.
I had a tascam mono 8 channel inbetween, so I could easily test the seperate mono inputs and simply test it in this way, no problems here.

Another maybequestion: I can real time manipulate the filter crossover function in sigma studio and hear the changes. But sometimes I think, gotta retest that tonight, I did loose control over the board, maybe this is when choosing another filterfunction, like going from bessel to cheb or clicking something else besides the crossover frequencies. But this doesnt hit me as an error more like it simply is that way that one has to reload the dsp when changing something dramatic.

So I got 3 boards built up also 3 programmer PCB and 10 of each in stock, in case someone is in desperate need :) feel free to contact me.
I think next I gonna play around with some more complex functionality and in the end I read something that one can script events and load them by setting IO pins via an microcontroller to high and low, I wanna give that a try, that sound interesting, or at least gives some real functionality to the dsp device.

cheers
 
Those are I-out D/A's, atleast the PCM1794.
To have ok quality but minimize boardspace, maybe something like WM8740?
Though I'm not sure they are still available from farnell, mouser etc?

I think there's volume control in one of the later firmwares for the Audio-Widget, experimental branch on github IIRC.

Thanks for the tip, I happen to have few WM8740 in the drawer;)
 
I'm sorry if this has already been asked in the thread.
How would one go about wiring a pot(lin/log?) to the GPIO-header to get volume control in the LF of a two-way crossover? Both physically and "virtual" (SigmaStudio).

I did have my FreeDSP classic(let's call it board1 as I have two fully populated) working in the main system apart from Left HF. The left HF issue is not related to the DSP, but is the old PIO's having died on my in the physical crossover between the Dayton Reference 7" alu mid and B&G Neo 8 HF.
I have new caps for both channels on the way from Hifi-collective. I went with the JB JFX series of MKP caps, simply because they're affordable and supposedly good.
With any luck I'll get them this week, if so I can re-cap the crossovers and get on with integrating the FreeDSP Classic in to the main system.

Until I get a good DAC working as a slave to the ADAU1701, I'm thinking I'll use a DIY Y-cable to split the signal from the preamp, sending the mids/highs straight to the amp and the LF to FreeDSP and then on to amp.
Letting the FreeDSP handle LF crossover and dipole compensation only to begin with.

But since I don't have a windows PC close enough to the stereo, I'd need to disconnect stuff before adjusting the level to match the mids/highs. Having some sort of HW-volume for the LF would make things alot easier.
 
Interesting :)
What are the dimensions of the board?
Did you allow for I²S out?
Last but not least, congrats on the success!

Thanks;) Yes, the board can be used as Audio Widget standalone with I2S output, or FreeDSP standalone with I2S input. I made two small mistakes in the PCB layout which can be easily corrected. I have few boards left that I can offer with ADAU1701 and AT32UC3A3256 already soldered, and also with two low jitter Microchip ClockWorks clocks. PM me if interested.

I will try to implement some volume control next, can probably be done either on AT32 or in ADA.
 
Thanks;) Yes, the board can be used as Audio Widget standalone with I2S output, or FreeDSP standalone with I2S input. I made two small mistakes in the PCB layout which can be easily corrected. I have few boards left that I can offer with ADAU1701 and AT32UC3A3256 already soldered, and also with two low jitter Microchip ClockWorks clocks. PM me if interested.

I will try to implement some volume control next, can probably be done either on AT32 or in ADA.

You should be able to do SW volume on at32, experimental branch of audio-widget.
HW is possible on ADA, trying to figure that one out myself.
By I²S out, I meant from the ADA, allowing for other DAC's.
How did you do the sigmastudio connectivity? USBi or Arduino?
 
You should be able to do SW volume on at32, experimental branch of audio-widget.
HW is possible on ADA, trying to figure that one out myself.
By I²S out, I meant from the ADA, allowing for other DAC's.
How did you do the sigmastudio connectivity? USBi or Arduino?

Both USBi and Arduino are there. I did not test the Arduino yet.

There is usual expansion connector for ADA with all GPIO ports exposed. It could be used for I2S output and hardware volume control, I guess.