Arduino controlled dual mono AK4490 DAC

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I've not considered doing a discreet balanced-out stage, but it's something that I am now considering, since I really like the sound of our discreet SE output stage.

However, I have almost finished designing an at-least-decent balanced-out design with op-amps.

An AK4497 design is not in my immediate plans. Perhaps some time next year.

Dimitris,
thank you for update

when you already got a dual dacs It Is wise to think for native full balanced out

which Is arduino board to use and what Is user Interface to controll options

In future can we swap dacs to AK4497

I have noticed that after 20 min listening to DSD dacs I got tired - which Is case here
 
Last edited:
This project has dual mono dac, which meaning each dac corresponding to each channel.
At this time the nice discrete stage of this, is a SE stage, in the future the balanced version will be achieved, but it isn't the first priority for now.
If someone needs a balanced output for this project now, can be move with the transformer output stage that can be adapted to SE or Balanced setup.
We haven't tried with balanced setup, but the results will be fine and with this setup.
 
Dimitris,
thank you for update

when you already got a dual dacs It Is wise to think for native full balanced out

What lemon said - in my ears the SE discreet stage sounds so good that at least for the time being I'm not going to bother developing a balanced stage.

which Is arduino board to use and what Is user Interface to controll options

The truth is that the control is done by a tiny SMT32 board that plugs on to an adapter PCB that I designed in order to take care of signal isolation and easy connection to a 3.5" TFT:

STM32_MB_2-Small.jpg


Programming is done through the Arduino IDE, so it's very user friendly.

The controls include volume, filters, sound modes, Direct DSD, MCLK frequencies, etc.

Control is by rotary encoder and IR remote.

In future can we swap dacs to AK4497

The output stage is not particular to the 4490, so I suppose that you could. But I can not make any promises that I will develop an AK4497-based dac board. The existing dac board can not be upgraded to an AK4497 because it has a different footprint (and different programming needs).

I have noticed that after 20 min listening to DSD dacs I got tired - which Is case here

In my experience most of the SACD rips that are out there sound bad (to put it mildly). It's not a DAC thing - it's a mastering / converting thing.

There is also the issue of filtering needs for PCM vs. DSD. Most if not all analog stages are designed for PCM filtering (at ~100KHz) while DSD has totally different needs (at ~50KHz for DSD64). We've tried to take care of both of the scenarios by incorporating a switchable (by relay, see roughly middle of the board) DSD filter on the discreet stage, but it's not been tested (and measured) yet.

AK4490_Class_A_discreet-Small.jpg
 
Last edited:
Yesterday Salas was kind enough to have me and lemon over for an audition of our dual mono AKs (seen on the floor).

attachment.php


The two dacs are almost identical, with the exception of their output stages. Lemon's DAC (on the left) uses a pair of Lundahl transformers while mine (on the right) uses a discreet class A output stage.

The audition focused mainly on determining the differences between the two dac implementations but at the end of the audition we also had a brief listen to my Soekris build.

The conclusion was that both of the implementations were very good in SQ, with the transformer-based dac sounding a tad more natural while the one with the discreet stage had a wider sound stage and a more dynamic sound.

I'm sure Salas and Manolis (lemon) will do a better job than me at describing the sonics of the dacs.
 

Attachments

  • AK4490_at_Salas_18-10-2017_b.jpg
    AK4490_at_Salas_18-10-2017_b.jpg
    271 KB · Views: 660
diyAudio Chief Moderator
Joined 2002
Paid Member
My sum-up

The two AKM examples had a very rich flow of velvety detail. Well put tonally also. They showed a small but unmistakable difference in character. The one with the discrete ss output stage was more "monitor" at the lows and highs while the transformer coupled one was more "esoteric" in the mids but less firm at the extremes. Normal low vs high output impedance & medium complexity active vs good Tx stuff to expect in other words.

Dimdim's Soekris is closer to his AKM + SS version just little blanker staring where the AKM could be waxing bit more lyrical. Never listen critically to that ladder box before giving it the chance of half an hour's warm up time though.
 
Member
Joined 2015
Paid Member
Yesterday Salas was kind enough to have me and lemon over for an audition of our dual mono AKs (seen on the floor).

The two dacs are almost identical, with the exception of their output stages. Lemon's DAC (on the left) uses a pair of Lundahl transformers while mine (on the right) uses a discreet class A output stage.

The audition focused mainly on determining the differences between the two dac implementations but at the end of the audition we also had a brief listen to my Soekris build.

The conclusion was that both of the implementations were very good in SQ, with the transformer-based dac sounding a tad more natural while the one with the discreet stage had a wider sound stage and a more dynamic sound.

I'm sure Salas and Manolis (lemon) will do a better job than me at describing the sonics of the dacs.

Hello

Could you please post the picture, the link require some creds

Thanks
 
There is a link error at the DimDim's photo upload.

edit: Now its fixed in his post.

The two dacs are seem at the bottom of photo. They are made on wood boards for adjustment ease.
The usb custom receiver, AK board and controller are identical btw two dacs. The differences was at the pre-reg PSUs and the output stages.

I couldn't to describe better than Salas the listening differences btw these two dacs.
My English is at such a poor level that I am extremely limited in expressing...
 
Dimitris,
thank you for update
what did you use for source - xmos or spdif or both
does lemon dac got same receiver board / recklocking
what Is structure of your dac - are AK4490 In parallel

Both DACs had the same source, a custom Amanero-like design by Manolis clocked by the dac's on-board Si570 clock. An arduino-like controller takes care (among other things) of mclk selection according to incoming sampling rate.

The structure of the dac is two ak4490s, both fed the same i2s signal and the same mclk, each of them set up in mono operation. One is set up to output the left channel and the other one the right.

Their analog outputs are summed in the output stages.

Everything is DC coupled.
 
I thought I'd post some info regarding my own Arduino-controlled AK4490. No, it isn't dual mono, but it sounds quite good. It sounds much better than the Chinese AK4490 I previously used, and also better than my Chinese ES9018 before that. I used the DIYINHK AK4490 board and the DIYINHK multichannel XMOS-based USB-I2S board. Although I previously used a 6N16B tube-based output circuit, this time I chose solid state. More on the output circuit below.

I chose to float all the supplies, so I'm using lots of transformers. The AK4490 board joins its supply grounds in a sort of star ground arrangement under the DAC chip. The grounds are not as strictly separated as they are on the AK evaluation board, but it seems to sound ok anyway. The USB-I2S board and the Arduino UNO R3 are powered by a separate 5V supply, and its ground is cnneccted to the DAC digital ground. The output circuit ground is connected to the DAC analog 7.0V supply ground.

So far I've built separate analog and digital 3.3V supplies, but only one analog 7.0V supply. I'll separate the two channels with individual 7.0V supplies soon, then perhaps another for Vref.

My DAC power supplies are based on the old LM723, which the datasheet shows has pretty low noise with a 10uF Cref capacitor. I chose the LM723 because it is cheap and plentiful locally, easy for a DIYer to solder, not too bad performance, and supplies sufficient current. Schematics are attached. I might decide to experiment with better quality Cref capacitors and see whether I can hear any difference. I might also experiment with using LEDs as a reference instead of the internal zener. Since I don't have golden ears, I expect to hear no difference, but you never know. Note that Horowitz in Art of Electronics says that the production spread on Vref is 6.8 to 7.5 V. The 7.0 V regulator will not work with samples on the low end of that range. He, of course, suggests a solution. My samples were just fine.

I put my Arduino code at Arduino UNO R3 code for AK4490 DAC * GitHub. It implements a volume control using an optical rotary encoder. I tried to document the implementation in code comments. The code is an combination of stuff I've used for other projects, so it might not look so pretty. I use a 4 line LCD display, and I intend to use the two lower lines for selecting and displaying sound quality settings and filter settings. I have not figured out what sort of interface I want yet, so that code is not present.

The output circuit includes an adaptation of a circuit from Barbara Gerhold of TUBECLINIC that she calls a digital audio balun. It also includes an adaptation of the Moosefet amplifier, which is Copyleft licensed by Gregg van der Sluys. The original can be found here: DIY Audio Projects Forum • MooseFET Preamplifier. I modified the gain of the amp so that I get 2.1 Vrms out at 0 dBFS with 7.0 V analog and reference voltages on the AK4490. I'm not smart enough to find a way to eliminate the input coupling cap, though I'm quite sure it is possible. I've attached a schematic. I figured that if I didn't like the sound of this circuit, I could build a PASS BOZ.

I tried this setup with both the DIYINHK multichannel XMOS board and an older XMOS board from Weiliang in China. I got lots of ticks and pops between albums using the Weiliang board but none using the DIYINHK board. It's just a guess, but I suspect the DIYINHK board streams silence all the time when there is no music playing, whereas the Weiliang board does not. I use JRiver Media Center 21 as my player. I could not find a setting in JRiver to tell it to stream silence between albums.

I have not yet experimented with DSD.

I have a question regarding DIF 0-2 settings, which, according to the datasheet, control PCM mode. There are two I2S settings: 1) 24-bit I2S compatible, and 2) 32-bit I2S compatible. The latter requires a higher bit clock rate. I have chosen 24-bit sample width just because I have no 32-bit music. Is there any reason to chose 32-bit as Dimdim did in his sample code?

And one more question. I might decide to make this a multichannel DAC, but I don't want to multiply the number of transformers. I wonder if anyone has experience or recommendations with any Chinese transformer makers that might be able to wind a custom transformer for me that has multiple windings in small quantities at reasonable prices.

Dave
 

Attachments

  • lm723-3.jpg
    lm723-3.jpg
    35.2 KB · Views: 1,054
  • lm723-7.jpg
    lm723-7.jpg
    50.1 KB · Views: 1,041
  • Moosefet2.jpg
    Moosefet2.jpg
    88.3 KB · Views: 1,032
  • _U6K1390.jpg
    _U6K1390.jpg
    49.4 KB · Views: 1,030
  • _U6K1394.jpg
    _U6K1394.jpg
    45.9 KB · Views: 1,020
  • _U6K1408.jpg
    _U6K1408.jpg
    88 KB · Views: 478
I have a question regarding DIF 0-2 settings, which, according to the datasheet, control PCM mode. There are two I2S settings: 1) 24-bit I2S compatible, and 2) 32-bit I2S compatible. The latter requires a higher bit clock rate. I have chosen 24-bit sample width just because I have no 32-bit music. Is there any reason to chose 32-bit as Dimdim did in his sample code?

In my code I've set the dac up for 32bit input because my Amanero combo384 outputs 32bit I2S. It does that regardless of the bit depth of the music.

And one more question. I might decide to make this a multichannel DAC, but I don't want to multiply the number of transformers. I wonder if anyone has experience or recommendations with any Chinese transformer makers that might be able to wind a custom transformer for me that has multiple windings in small quantities at reasonable prices.

Dave

I don't have any experience with Chinese transformer makers, I have mine custom made by a local shop. They do a good job, have no minimum quantity for custom transformers and are very reasonably priced: Τ.Γιατράς Μετασχηματιστές - Toroidal Transformers
 
Hi,

I'm considering to design a AK4490 dac board specifically for use with a Beaglebone Black. So I'm reading about your experiences, thanks for sharing.

I'm considering if reclocking will improve SQ or not. At the beginning of the thread you wrote:

The measured (audio) jitter is very low in all of our tests and the funny thing is that it improves further when the reclockers are in the chain, even though we are getting the "glitches"..

I'm puzzling about the reason for this. Because if AKM are not stupid, then they will have added flipflops at the input of the dac which use the BICK to clock the rest of the I2S signals. The required setup times of the other signals before the BICK edge suggests such a setup.

So a slight jitter on the signals except BICK won't matter. Now the BICK itself is probably internally flipflop-tied again, this time to the MCLK. So to have a measureable effect, a disturbance must be strong enough to move the BICK edge to another edge of the MCLK. But as you do the external reclocking to the same MCLK, I don't see where the reclocking helps.

The quoted post above (and your measurement) were made before you found out about the clock domain problem. Wouldn't it be possible that the measured difference was just the same clock-domain problem, but materializing in a different way? If there is a very slight frequency difference between the clocks, this could either show up as a constant jitter without reclocking or as a clear base signal but with stronger jumps with reclocking.

Did you try to remove the reclocking stage after you changed to a single clock domain? Were the measurement results the same as before?

Thanks.
 
All the dac brands have the own de-jitter technology but none hasn't solve it yet.
From a practical view, we see that the re-clocking improves the SQ. Acoustic and lab observations tell the same thing, the re-clocking is a must.
At post 2, we said that the data eye-pattern was improved with the re-clocking method (oscilloscope observation).
 
All the dac brands have the own de-jitter technology but none hasn't solve it yet.
you use just a few standard logic gates. That is something AKM can easily build into their ICs.

From a practical view, we see that the re-clocking improves the SQ. Acoustic and lab observations tell the same thing, the re-clocking is a must.
But did you do a comparison after you fixed the clock domain problem?

At post 2, we said that the data eye-pattern was improved with the re-clocking method (oscilloscope observation).
But that are the digital signals going into the dac. If they have the same flipflops you have outside the dac also inside, the same improved eye pattern would be available to the next stage inside the dac.
 
Hi
Nice project
You may have a look at lynxaudio D78 design with the pdf file on their website (russian)
It s a inspirational masterpiece from digital to analog part...
Look at their reclocking and here again single clock domain on the dac side with usb slave is the way to go
 
Hi
First of all I want to thank to @Dimdim and @Lemon for sharing with us this nice project.

I didn't figure out how to set the Amanero board to work with AK4490 (on Windows) on DSD mode. Both AKMs get DML bit = 1, so if I disable DDM bit, there is a sound in the right channel only. If I set DDM bit = 1, there is no sond on any channel, of course. I've got DSD working with Amanero on Linux, but I didn't like how the system sounds (PCM is OK, but DSD...).
I tested with Slave CPLD with MCLK/2 and all the available main firmwares for Amanero board, but no success with DSD. All PCM sample rates sound excellent.

So, I took an old XMOS project I've made (Amanero like PCB and pinout) and I easily modified it in order to work in slave mode with Si570. Now all the sample rates work and the sound is absolutely amazing - I can compare it with another AK4490 software controlled project I have.
My PCB version is only 2 layer, because I intended to keep the price as low as possible. After some analyzes, I've found that the mirror placement is the best solution for 2 layers PCB.
Another modify I've made is the output analog filter. It is the filter from the AK4490 datasheet, except instead of monolithic opamp I choose a personal version of JE-990C with SSM2212.
I also made some pre-regulators with LT1085 for a wider power supply range. The trafos are 2x14VAC from TME whom I have made 2 more windings for 7VDC and 5VDC supplies.
Now it is time for the modules to go in a case.
AKM1.jpg AKM2.jpg AKM3.jpg AKM4.jpg
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.