nanoAvr/USB Streamer Expansion Project

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

I thought I'd post my next project since there might be some information that proves useful. This thread is intended as a build thread and place to answer/ask technical questions that may arise with this particular implementation.

Background
I have a 4-way active system but wanted distributed bass in the room as well. What products support this? There are a few but I wanted to have only 1 digital to analog conversion and no ADC. Most products that do this are too expensive for me :).

Project Outline
1. Expand active speaker channels beyond stereo 4-ways. If successful we are looking at 32 channels of active control using the nanoAVR, minisharc and USB streamer modules. I don't have any relation with miniDSP but I don't want to write DSP code as I'm short on development tools.

2. Simpl Custom DAC to test major system workings. Will start with PCM5242 and then implement ES9038PRO or ES9028PRO modules.

3. HDMI, USB and TOSLINK input. Hopefully we get them all.

4. Maybe get DIRAC working with this setup.

5. Remote control and display. I can't give up my remote volume control. Since the project is already large we will be using the DAC volume controls or nanoAVR IR volume control.

Quick particulars
I've not started this project so progress will be painfully slow. I intend to start the nanoAVR/miniSharc mainboard right now. System will consist of:

- nanoAVR/(miniSharc x4)/USB streamer/ TOSLINK board. 1 PCB. nanoAVR or USB streamer as MASTER, the 4 miniSharcs as SLAVES.

- DAC using PCM5242 x4. Each DAC PCB will be 8 channels and plug into the minisharc units expansion headers.

- Controller board. This will control all the DACs volume, display, IR, power sequencing ect. This board will be housed next to the nanoAVR mainboard.

Power supply and other topologies as well as all other particulars TBD. This will be a great project or epic failure!!!
 
nanoAVR mainboard

Hopefully we can get the I2S signals out of the nanoAVR and into the miniSharc units. If that doesn't work we will be using the USB streamer or TOSLINK as the input. We will have PCB space so it is only an extra header. Might as well shoot for it. The USB streamer has TOSLINK input but it might be nice to have this unit work like more of a preAmp instead of having to mess with the PC input mappings when changing between TOSLINK and USB.

Main Points for the Mainboard
- Header for USB Streamer.
- Header for nanoAVR.
- Space allocated for 4 miniSharc units. DACs will rest onTop of the miniSharcs.
- Separate TOSLINK receiver from the USBStreamer.
- Buffered I2S lines from USB streamer and nanoAVR.
- Electronics switches to allow controller to switch between USB Streamer, TOSLINK and nanoAVR as the input.
- Electronic switches to allow for CH1 and CH2 to be plumbed into all the channels OR have separate CH1 through CH8 going to the miniSharcs. Could be used for home theatre application if we get the nano working.

I'm short on time for testing the individual units together for compatibility. We will be going straight to SCH and PCB layout. If the nano doesn't work out, the mainboard will still satisfy most of my goals but the PCB will cost a bit more (fingers crossed)!!
 
Some progress......95% done the mainboard. Final dimensions are 2.95 inches by 12.4 inches. That is large enough of to mount 4 miniSharc units side by side. Needed 4 layers because of the I2S routing :(. Added PCB manual switch bank for TOSLINK options. Also USB switch was added so we can cycle through the 4 miniSharc USBs. This will allow for changing the data without having to unplug each unit. Will use the 4 config settings to keep track of different sharc configs.

Starting the controller board this weekend.
 

Attachments

  • image1.jpg
    image1.jpg
    110.7 KB · Views: 350
Some progress........95% done the controller. Ended up being roughly 4.5 by 2.5 inches. Managed to get done on 2 layers. Will be able to:

1. IR remote. NEC generic and Apple remote.
2. 2 Displays from New Haven. NHD-0216SZW-BB5.
3. Encoder.
4. Control for 4 DAC boards.
5. Control for expansion Mainboard.

Hopefully this will fit inside a normal 2U case? Will have to see. Internal ribbon cables to connect everything. Still have to determine how power will be distributed.
 

Attachments

  • image2.jpg
    image2.jpg
    124.5 KB · Views: 309
Some progress........95% done the DAC board.

- 8 Channel PCM5242 DAC from TI.
- Optically isolated from the miniSharc. miniSharc running as MASTER.
- Same width as miniSharc boards. Roughly 2.95 by 3.4 inches.
- 4 Layer PCB.
- Plugs into controller board via ribbon cable.
- Digital isolators powered through ribbon cable. External power supplied on DC end. Decided to splurge on LT3045 regulators as AVDD reference.
 

Attachments

  • image3.jpg
    image3.jpg
    107.9 KB · Views: 277
Some Progress........100% done PCB layouts. Ended up with a 4 board solution. I have need of the controller for another project as well. Build will be:

1. Mainboard - Take in nanoAVR, USB Streamer, TOSLINK, 4 miniSharc, 4 eight channel DACs.

2. Controller board as outlined above. Added a relay to control power to the expansion board.

3. 8 Channel DAC boards. They plug into the miniSharc boards. Powered by separate transformer or power supply board.

4. Power Supply board.

These will fit into 1 largish case. Later I plan on upgrading the DAC boards so I've opted for:

SL1925 from sunemall/suntec enclosure.

Should have enough room for all the connectors for the back panel. Will be using mini XLR for fully balanced outputs. If there is room I might run single ended outputs to RCA on the back panel as well; however, this takes up a lot of real-estate.

Going to order the PCBs this weekend (from PCBway) and must start the controller code. The biggest questions are LCD cutouts? Might have to look at outsourcing a machined cut out.

Also I was not able to find a bezel for this LCD - NHD-0216SZW-BB5 from newHaven. Does anyone have any mechanical ideas for this to make it look decent?

Thanks for all/any input! This project is coming together faster than anticipated. Was thinking this system will be ok for a BeoLab 90 inspired or shaded Line-Array application as well. 16 channels per side.

Hoping to finish this in a reasonable timeframe.
 
Last edited:
I was pondering using the nanoAVR in a build, but I have not seen the board to know if there is even a header that can be used. I was figuring that the base nanoAVR is the same in the NanoAVR HD and the HDA. The HDA just has the 8 channel DAC attached. I think that your idea of feeding the minisharc's is interesting. I could get by with 16 channels (3 way fronts, 4 subs, surrounds, center, and SB's). Do you have the miniDSP boards on hand?
 
Hi wcwc,

I have the nanoAVR HD and the nanoAVR HDA on hand as well as a miniSharc. I've scoped the header of the nanoAVR HD and it seems like it outputs some signals on the header that I assume plugs into the miniDAC8.

Since the miniDAC8 must use the same header hardware config as the miniSharc (it plugs into the minisharc) I'm assuming the headers match up; however, I did notice that the nanoAVR HD might have a different MCLK pin allocated. It seems to be 1 pin over. That said I will be cutting that MCLK header pin before I install the boards.

This should not be a problem as the miniSharc performing as a slave input does not use the MCLK pin. Seems like the MCLK pin is always an output. This should also be ok because the miniSharc claims the I2S input uses the SRC before performing the DSP calculations.

The reason for a custom DAC is 2 fold. I'm not sold on the noise floor of the nanoAVR HDA (I have some efficient tweeters) and I wanted some isolation between the DAC and DSP.
 
So are the HD and the HDA board units the same, except for the DAC8 board being added for the HDA?

I believe they are as I'm able to upgrade the HD by buying a miniDAC and putting it in a new case. There is an upgrade link on the minidsp website that I can't seem to find right now.

I'll report back later when I've opened them again but I've loaned out the HD and the HDA is in use till I get the PCBs back.
 
PCBs arrived from the shop! Lots of Soldering and Code to do! Cases are going to be tough. Have to order some miniSharcs. Getting expensive now, hope everything works ok! Might try to run the 4 DACs without the minisharc to make sure the DACs and controller code is working before spending the extra $$$.
 

Attachments

  • IMG_20180305_161004.jpg
    IMG_20180305_161004.jpg
    40.2 KB · Views: 51
  • IMG_20180305_160857.jpg
    IMG_20180305_160857.jpg
    44 KB · Views: 130
  • IMG_20180305_160810.jpg
    IMG_20180305_160810.jpg
    42.9 KB · Views: 137
  • IMG_20180305_160702.jpg
    IMG_20180305_160702.jpg
    55.6 KB · Views: 142
Some Progress. Controller is populated and processor alive! The DACs are taking a long time to populate by hand. Even with the integrated output drivers 32 channels are a lot!!

Display is alive and working on PCM5242 I2C interface. Hopefully will get volume and filter selection working soon.
 

Attachments

  • IMG_20180309_080316.jpg
    IMG_20180309_080316.jpg
    42.1 KB · Views: 55
  • IMG_20180309_080338.jpg
    IMG_20180309_080338.jpg
    31.6 KB · Views: 51
Quick update.

Seems like most of the PCBs are working correctly. Just ordered the miniSharc units so waiting on them to arrive. Need to confirm the DACs are working correctly but I2S routing, controller, LCD, IR remote and Power supply board are all working. Stuck coding right now. Coding time was underestimated. Need to verify I2C is working across isolation boundary and a number of other things.

Hopefully when the miniSharcs arrive I will be able to confirm the I2S routing from the nanoAVR to the miniSharc (Slave). DACs will not be using the MCLK line. Some software intervention needed to set that up properly.
 
Update:
- miniSharcs have arrived!
- nanoAVR board taken out of case.
- Ribbon cable installed on the I2S connector. Runs to the "expansion" board that has a buffer, analog switches and routes I2S lines to the 4 minisharcs.

Results:
- Power up is ok.
- USB working.
- I2S routing working. The lines look like the signals get routed to the correct places.
- **** inputs to the miniSharc looks like burst noise every second or so :(.

Since I have a nanoAVRHDA will have to scope the lines to the AK4440 to make sure the I2S lines from the header are ok. Since the AVR is a black box I'm hoping it is some other problem. Might be signal integrity problems but will take some time to work through. Any suggestions? miniSharc should be in slave input mode as the LRCLK and BCLK when not connected are pinned high and not switching. Pins 6 and 8 are shorted on the second header of the miniSharcs to put the unit into slave mode.

Questions:
1. The IDLE I2S line level looks "high" is this normal? I suspect yes but if anyone can answer that would be great.
2. Why the burst noise showing at the miniSharc input stream when connected through USB? Any insight anyone?

If all else fail we will move onto the USBstreamer integration but I'd really like to get the AVR routed correctly to the miniSharcs. Will have to spend some more time debugging......:scratch2:
 
Hi,
I'd like to distribute about 4 subs around the room and be able to EQ and control the phase. Nothing new but following the Geddes and others randomly spaced subs and EQ approach to excite as many modes as possible. The limited testing I've done with 4 randomly spaced low frequency sources does seem to smooth out the bass over multiple seats/wider area.

The multiple low frequency sources seems to have less of a boomy presentation than 2 sources sealed but more energy or impact than 2 open baffle sources (h-frame GW-1858). That is with both eqed to roughly the same amplitude response but the amplitudes were not 100% matched so maybe I'm hearing the difference in amplitude response only? Regardless it seem to have a positive result in my room with more usable extension and the presentation I like so it was a positive. It also opened up a bit more flexibility in mains choice size :).
 
Hi,
I'd like to distribute about 4 subs around the room and be able to EQ and control the phase. Nothing new but following the Geddes and others randomly spaced subs and EQ approach to excite as many modes as possible. The limited testing I've done with 4 randomly spaced low frequency sources does seem to smooth out the bass over multiple seats/wider area.

The multiple low frequency sources seems to have less of a boomy presentation than 2 sources sealed but more energy or impact than 2 open baffle sources (h-frame GW-1858). That is with both eqed to roughly the same amplitude response but the amplitudes were not 100% matched so maybe I'm hearing the difference in amplitude response only? Regardless it seem to have a positive result in my room with more usable extension and the presentation I like so it was a positive. It also opened up a bit more flexibility in mains choice size :).

I was wondering more of HOW you were going to distribute the signal(s). Are you running wires, or somehow doing wireless audio to the subs?
 
Sorry hehe. Yes wires. There will be lots of wires. I was thinking latency might be an issue for video application so wanted to reduce it as much as possible.

Do you know of good wireless product that can integrate with i2s bus and not compress to aac or MP3 like format for transmission? That is an interesting thought. Would be nice to get working to cut down on wires.

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