• These commercial threads are for private transactions. diyAudio.com provides these forums for the convenience of our members, but makes no warranty nor assumes any responsibility. We do not vet any members, use of this facility is at your own risk. Customers can post any issues in those threads as long as it is done in a civil manner. All diyAudio rules about conduct apply and will be enforced.

Input and switch boards for Soekris DAM1021 DAC

You've been a busy man, normundss. Very interesting. Are you suffering from the DAM serial port locking up (sorry, couldn't resist that)?

I have butchered glt and Dimdim's code to get an Arduino Uno to do the volume control via the Apple remote and it works fine until the DAM serial port locks up so I'm looking forward to this weekend!! Not least to get rid of the MAX232 IC. Am working(slowly) on a 0.96 OLED to read the DAM serial out to do simple volume and sample rate display.

I prefer to keep the RPi strictly for processing the music so I went the microcontroller route but I'm suffering from the Atmega 328's 32K limit - Dimdim's OLED sketch is 28K alone. I guess that's one advantage of utilizing the Pi for the display but I can't bring myself to add anything other than music processing to the Pi.

Also, I'm using the Pi's I2S directly into the DAM, no USB board, so don't have the option of the simple reading of the USB board's sample rate pins. That's not a big issue as I can read the DAM's serial port output on sample rate change to update the display. Now I know why Dimdim used the Due.

Nice work!
 
DAM serial port locking up is supposed to be a feature, not a bug! :)
I think the DAM serial port was really meant to be a diagnostic interface. There are other issues with DAM serial processing besides port shutting down, that make it ill suited for DAC control. But lets see what the update will bring.

Technically I don't see much point in using Arduino if you use RPi as audio source. There is of course the matter of controller software (or lack of it for Raspberry Pi). And Arduino is more robust.

I also use direct I2S from RPi into DAM. USB is connected to a second I2S input. The I2S inputs are switched using a 74HC257 mux which is controllable by RPI/Arduino/mechanical switch/etc .
 
I have butchered glt and Dimdim's code to get an Arduino Uno to do the volume control via the Apple remote and it works fine until the DAM serial port locks up so I'm looking forward to this weekend!! Not least to get rid of the MAX232 IC. Am working(slowly) on a 0.96 OLED to read the DAM serial out to do simple volume and sample rate display.

I prefer to keep the RPi strictly for processing the music so I went the microcontroller route but I'm suffering from the Atmega 328's 32K limit - Dimdim's OLED sketch is 28K alone.

If you can live with smaller fonts, that should bring down my code's memory footprint substantially..

Btw, I too am considering developing a "lite" version of my code for use with the Soekris and a small OLED display. To be exact, I'm considering adapting my Universal USB to I2S Interface Indicator code to support display of SR and control of the Soekris.
 
DAM serial port locking up is supposed to be a feature, not a bug! :)
I think the DAM serial port was really meant to be a diagnostic interface. There are other issues with DAM serial processing besides port shutting down, that make it ill suited for DAC control. But lets see what the update will bring.

Technically I don't see much point in using Arduino if you use RPi as audio source. There is of course the matter of controller software (or lack of it for Raspberry Pi). And Arduino is more robust.

I also use direct I2S from RPi into DAM. USB is connected to a second I2S input. The I2S inputs are switched using a 74HC257 mux which is controllable by RPI/Arduino/mechanical switch/etc .

A feature not a bug!! Nearly choked on my morning coffee.

But yes, I think you're correct re it's intended purpose. And yes, it's only the purist streak in me that shies away from combining the control with the RPi's music processing. Let's see what Soren has in store for us.
 
Last edited:
If you can live with smaller fonts, that should bring down my code's memory footprint substantially..

Btw, I too am considering developing a "lite" version of my code for use with the Soekris and a small OLED display. To be exact, I'm considering adapting my Universal USB to I2S Interface Indicator code to support display of SR and control of the Soekris.

Are you referring to smaller fonts on the .096" OLED Universal Interface or to the TFT project? Thanks for posting the code, by the way.

My objective was exactly what you describe in your last paragraph - a Lite version of the ArDAM and Universal Indicator for a Uno-sized uC. I liked that OLED, unobtrusive and classy.

Initially I only went for remote volume control (which is working) and volume and sample rate display on change of either (which I put aside due to the Universal Indicator sketch size). I don't need input switching at this point. Going to spend some time away from the beach this weekend and look at the display - any pointers to getting it to fit in about 14K greatly appreciated...

Might mean I get to the beach as well :)
 
Are you referring to smaller fonts on the .096" OLED Universal Interface or to the TFT project? Thanks for posting the code, by the way.

I'm referring to the OLED code.. the TFT project has plenty of memory to spare (uses up about 300K out of the DUE's 512K).

My objective was exactly what you describe in your last paragraph - a Lite version of the ArDAM and Universal Indicator for a Uno-sized uC. I liked that OLED, unobtrusive and classy.

Initially I only went for remote volume control (which is working) and volume and sample rate display on change of either (which I put aside due to the Universal Indicator sketch size). I don't need input switching at this point. Going to spend some time away from the beach this weekend and look at the display - any pointers to getting it to fit in about 14K greatly appreciated...

Might mean I get to the beach as well :)

I can think of two ways to decrease memory use:

1) Use smaller fonts, and
2) Use an IR library with a smaller footprint. HiFiDuino's IR implementation should take up a lot less memory. I only went with the "big" IR library because I wanted to support all different kinds of IR remotes.

Btw, I feal really bad that we are hijacking this GB thread. We should probably take this discussion to a new thread.
 
Hi everyone,

This is a reminder to please use the Google sheet to sign up as described in the first post of this thread. You can also post on the thread if you like, but the spreadsheet is what I will use for orders. I have added all the users to the spreadsheet who only posted a message on the thread, but there is no guarantee that I have not missed someone.

So when signing up, please make sure to add yourself here: https://docs.google.com/spreadsheets/d/1ARNwCxgBt8wAq6oHEUNPATnMsTOnYQita-9MakpxR7E/edit?usp=sharing
 
Now that the firmware update has been released, input board production can continue.

There will be some adjustments to the initial layout I posted awhile ago, most notably to support dual-DAM balanced setup.

If everything goes well, I expect to have test prototypes ready in about two weeks. At that time I will finalize the pricing and start sending out Paypal invoices. By that time Soeren will probably release the final V1 firmware, so hopefully I should be able to test with it.

Please send me your Paypal ID (the email address used for Paypal login) by PM.

Once the prototypes have been tested, it will take 2-4 weeks to produce the production batch.

A new production run of updated DAM1021 hardware is expected to be available in August. I will confirm with Soeren if there are any relevant changes to connector layout, but I don't expect any compatibility issues.
 
Could you make it compatible for the WaveIO board too? I know a lot of people prefer that board to Amanero or DiYinHK.

WaveIO USB could be used already, but it will require some wiring. It will not directly fit onto the input board due to its physical size. However, I will look into adding a dedicated connector for hooking up WaveIO J6 header using a single 10-wire ribbon cable.
 
Muting module

In addition to the input boards, I am also working on a muting module that will stack directly onto DAM1021 analog outputs. Muting is done by shorting analog output with a relay, similar to what Soekris recommends in post #3362.

Planned features:
  • Stacks directly onto DAM1021 analog output connectors.
  • Muting of unbuffered outputs
  • (optional) muting of buffered balanced outputs
  • (optional) muting of dual-dam1021 true balanced setup
  • (optional) Alternative SE-BAL buffer based on DRV134/THAT1646 ICs
  • Works from dam1021 U37 pin18 control signal
  • (optional) Another muting control signal can also be used.
  • Can be powered from DAM1021 +5V supply or from an external power source
  • Optocoupler input to maintain power supply isolation

For those interested, I have added a field for muting module in the GB signup sheet. I will provide expected price when the design details are worked out.

The V2 input board design is nearly finalized. I still need to test true balanced operation with dual dam1021 setup and perhaps make some adjustments for easier WaveIO connectivity.
 
For everything else, if I don't want to connect it directly to the Soekris I'd need a 12 x 2 ribbon cable and a 10 x 2 ribbon cable as well as the 5 x 2 ribbon cable required to connect to the input switch board, right?

If you want to use the input board V2, there are no ribbon cables required for basic usage. It plugs directly into DAM1021 connectors.

To attach the switch board, a 10 wire (2x5) ribbon cable is needed. It will be included with the switch board.

To connect WaveIO, if I manage to squeeze a dedicated connector onto the input board, a similar 10 wire (2x5) ribbon cable would be needed.
 
Yes, but the chassis layout I have at the moment doesn't allow for that. I doubt it'll make any difference but it's possible with the right headers soldered on, right?

g9IYEBN.png
 
Last edited:
Yes, but the chassis layout I have at the moment doesn't allow for that. I doubt it'll make any difference but it's possible with the right headers soldered on, right?

Ok, you could attach the input board to DAM with ribbon cables, although that is not optimal. Keep the cables as short as possible.

It will require a 26-pin (2x13) cable for DAM J3 connector. If you use standard female connectors on the input board, you will need a male-female terminated ribbon cable (as opposed to common female-female). Or, you could use male pinheaders on the input board. Note that the new input board will use SMD parts for this connector.
If you are building a dual DAM balanced setup, you will need two such cables.

There are only 2 wires actually needed from DAM J2 connector (PWR A+ and PWR +1.2), so I suggest to use "Dupont wires" for that. These only need to be connected to one DAM board, not to both.