DSP Module compatible MOTU 8A - 624

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hello!

I d like to share with our diyaudio community a project I m working on, to evaluate interrest for a Group Buy and to get help in regards to further software developments, and to get feedback for extension or integration in other projects.

CONTEXT
The original intent was to use a MOTU 8A AVB Audio device as a multi-channel crossover solution, and I realized that its internal DSP doesn't provide enough flexibility for filtering nor to perform serious equalization. So I decided to reverse engineer a bit, especially the internal connector with I2S signals, to see if I could plug another DSP inside.

the MOTU 8A and MOTU 624 share the same computing board based on TI OMAP processor and Spartan FPGA. This board is connected to a specific DAC/ADC board using two 2x18 connector soldered on a little PCB as a bridge. Idea was to replace this little PCB by a complete DSP board including the same 2 connectors.

PURPOSE:
This DSP board is intended to provide filtering and cross over functions on the 8 analog output including minimum phase IIR and linear phase FIR filters. But the DSP treatment can also be inserted either between the MOTU processor and the 8 DAC channels or between the 8 ADC channels and MOTU processor, or as a kind of loop to the MOTU processor so that extra DSP treatment is made available between the computer host and/or to the SPDIF or ADAT connected devices. Using the powerfull mixing and aux-bus feature of the MOTU software, this should create a highly configurable and standalone solution for any multi-channel configuration.

HARDWARE:
The board is a 4 layer PCB, 50x70mm ish and includes:
- SigmaDSP ADAU1467 capable of 24000 taps for FIR or 3000 IIR at 48khz. it includes 8 stereo ASRC to handle all clock domain differences.
- 1MBIT serial eeprom for storing DSP program and filter coefficients
- 1 differential transmiter/receiver to simplify connexion to an isolated SPDIF (coax, aes or toslink) input and output.
- 1 DC/DC down converter to produce the onboard 3.3volt from the main 15V DC supply of the MOTU without draining any current from the MOTU internal regulators.

Five connectors with 2.54mm pitch including:
- 2x5 pins header for SPDIF I/O including I2C and 2 Multipurpose pins for switching up to 4 SPDIF inputs trough standard 4:1 mux like 74HC4052
- 1x10 pins header to connect an extra front panel with encoder or potentiometer, an I2C screen and IR remote sensor (TSOPxx)
- 2x5 pins header for programing the DSP with a standard USBi interface (SPI) or a clone board (usualy I2C).
- 1x6 pins header for connecting up to 4 analog control or potentiometer directly interacting with the the DSP program (eg loudness control or bass-trebble pots).
- 2x13 pins connectors for adding an external ADC or DAC board, pinout compatible with Okto Research DAC8, including 3 multipurpose pins and I2C for potential hardware volume management or external trigger functions. This gives the possibility to manage a total of 16 analog output and 8 analog Input with the MOTU thus enabling 3 way crossover for front and center channels and equalization for surrond and LFE, for example.

last but not least the board accept a wemos D1 mini as a piggy back daughter control board on a 2x8 pin header, so the DSP could be programmed directly with its usb-serial connector or with wifi using TCPIP protocol supported natively by SigmaStudio. The wemos includes an ESP8266 which can provide control for an extra front panel (LCD, Encoders, IR...) and other I/O using I2C. the DSP is connected to the ESP8266 in SPI with 4 dedicated GPIO.

The pinout of the dual 2x18 connectors (2mm pitch) is made to be plug&play compatible with the MOTU I2S I/O, but obviously this module could be used in any other ADC/DAC projects.
Here is below a drawing of the module building bocks, a picture of the component and top layer of the board, and the MOTU 8A connector pinout.

STATUS:
2 prototypes are under construction and I will provide progress on the testing and devlopement on this thread. If their is interest I could organize a group buy at an attractive price.

LICENSE
in the same spirit of the freedsp, this design is subject to Creative Commons Attribution Share-Alike 4.0 license, so the Schematics and component placement will be available on git hub soon to exhaust your creativity.

SOFTWARE:
when it comes to software and DSP configuration tools,
the DSP can be programmed straight with SigmaStudio, by connecting the DSP board to the computer with an USBi interface (available at digikey).
But my intent is to develop some software for the ESP8266 (with arduino IDE) so that a wemos D1 board can be used as a wifi bridge between the DSP and sigmaStudio TCPIP soket. There are source code available in python from hifiberry and in C from bocreate projects available on github.
I also plan to make a basic framework for driving an I2C screen and to handle a volume and source selection with an encoder and a remote control. I might need further help on this.

Also a python program can be developed for linux/windows/osx, in order to send commands to the ESP8266 over its usb-serial interface to program the DSP memory and filter coefficients or TAP with a predefined set of command or from a text or xml file.
here the intend is to devlop a first script which would read a signaStudio file (produced at compile) and send the HEX codes to the DSP memory over serial.

Another python program can also be written to read the XML files produced by miniDSP plugins (like 2x4HD) and send the data of the filters and other DSP functions down to the DSP memory by using a simple adress translation table. in this case a basic and standardized DSP configuration will be needed to reproduce the flow of a miniDsp 2x4HD or nanosharc 2x8. The goal here is obviously not to hack anything but to benefit from the excellent work done by MiniDsp for the user interface of their plugin. (when you switch for one of the 4 configuration, the xml file is saved, enabling a detection and update of our remote DSP board).

here we go this is the projet, with the goal to ultimately solve a multi channel installation and to learn a lot and have fun. any thoughts or contribution is more than welcome !

pinout of the MOTU connector
uc


module building block
uc


module top layer and component side (nothing on bottom side)
uc


GitHub repository (work in progress):
GitHub - fabriceo/MOTU_DSP: A DSP module compatible with MOTU 8A or MOTU 624
 
Last edited:
hi jjs62, good to hear we can get support here :) in the meantime I ve just realized that SigmaStudio 4.2 is not yet compatible with the TCPIP transport for the chosen ADAU1467... so the priority might be a usb-serial bridge to SPI within the ESP and a python script to interface with the host
 
hi guys, for information, I ve received a great quote from Elecrow for 2 prototypes, all inclusive, I feel I ll go forward with them and give this a try. Any experiences here ?
I ve also bought an oven controller (controleo3 tested here Controleo3 DIY reflow oven) to build my own reflow oven but this morning I m concerned with the learning curve to handle qfn84 type of package and couple of 0402...
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.