I have three questions, I couldn’t resolve reading through the setup pdf:
1) what would be the scheme to connect I2SoverUSB v. III board to an ES9038 DAC in I2S mode using internal clock (configuration: J1: closed, J2: ?, J3, J4, B1-B5: open, according to configuration table), in the pdf there’s no specific scheme for this type of DAC. I have GND/LRCLK/DATA/BCLK to connect (no MCLK since I am using internal)
2) when I configure it for ES90XX DAC in I2S mode, can I still use the S/PDIF output (for this B1 and B3 should be closed according to the table)?
3) I remember, I read that I2S and S/PDIF is active in parallel. The board shows up in LibreELEC (Linux Distro) as JLSounds Analog and JLSounds S/PDIF, two options. I guess I have to use Analog for I2S?
So, I am a bit lost…
Attached for reference the setup PDF.
1) what would be the scheme to connect I2SoverUSB v. III board to an ES9038 DAC in I2S mode using internal clock (configuration: J1: closed, J2: ?, J3, J4, B1-B5: open, according to configuration table), in the pdf there’s no specific scheme for this type of DAC. I have GND/LRCLK/DATA/BCLK to connect (no MCLK since I am using internal)
2) when I configure it for ES90XX DAC in I2S mode, can I still use the S/PDIF output (for this B1 and B3 should be closed according to the table)?
3) I remember, I read that I2S and S/PDIF is active in parallel. The board shows up in LibreELEC (Linux Distro) as JLSounds Analog and JLSounds S/PDIF, two options. I guess I have to use Analog for I2S?
So, I am a bit lost…
Attached for reference the setup PDF.
Attachments
I normally jumper B1, B2, and B3. That gives both 22/24MHz and 45/29MHz clocks, and I2S output format.
Regarding device drivers, JL Sounds may have a separate driver listed in Windows for accessing it as a SPDIF device which is separate from accessing it as an ASIO and or WASAPI (Exclusive) device. I don't use the SPDIF device driver, but IIUC I2SoverUSB can only use one driver at a time. Also there are two physical SPDIF output pins on I2SoverUSB. Could be using the SPDIF driver routes the output on only one or the other of the two SPDIF output pins.
Regarding device drivers, JL Sounds may have a separate driver listed in Windows for accessing it as a SPDIF device which is separate from accessing it as an ASIO and or WASAPI (Exclusive) device. I don't use the SPDIF device driver, but IIUC I2SoverUSB can only use one driver at a time. Also there are two physical SPDIF output pins on I2SoverUSB. Could be using the SPDIF driver routes the output on only one or the other of the two SPDIF output pins.
According to the config document B1-B5 should be open for ES90xx type DACs. See pic.I normally jumper B1, B2, and B3. That gives both 22/24MHz and 45/29MHz clocks, and I2S output format.
Regarding device drivers, JL Sounds may have a separate driver listed in Windows for accessing it as a SPDIF device which is separate from accessing it as an ASIO and or WASAPI (Exclusive) device. I don't use the SPDIF device driver, but IIUC I2SoverUSB can only use one driver at a time. Also there are two physical SPDIF output pins on I2SoverUSB. Could be using the SPDIF driver routes the output on only one or the other of the two SPDIF output pins.
For S/PDIF B1 and B3 should be closed, see pic.
I don’t use Windows. I use a Rapi4 with LibreELEC. This reports the IF as two devices to chose from, an Analog and a S/PDIF device. See pic. From this it’s hard to tell which one does what and which one to chose and I didn’t find any info. Its a great product and the documentation has room for improvement…
Last edited:
Do you have a scope? That's the easy way to figure out what the jumper programming does.
Other than that, how exactly do you want to use the USB board? With ES9038Q2M operating in default I2S mode with its internal ASRC enabled and with the dac chip using its own dedicated clock module? If so, what frequency clock, 100MHz? What is the intended use for SPDIF, if any? Just a copy of the I2S output data but in SPDIF format?
Other than that, how exactly do you want to use the USB board? With ES9038Q2M operating in default I2S mode with its internal ASRC enabled and with the dac chip using its own dedicated clock module? If so, what frequency clock, 100MHz? What is the intended use for SPDIF, if any? Just a copy of the I2S output data but in SPDIF format?
Yes, I do have a scope and a logic analyser.Do you have a scope? That's the easy way to figure out what the jumper programming does.
Other than that, how exactly do you want to use the USB board? With ES9038Q2M operating in default I2S mode with its internal ASRC enabled and with the dac chip using its own dedicated clock module? If so, what frequency clock, 100MHz? What is the intended use for SPDIF, if any? Just a copy of the I2S output data but in SPDIF format?
I want the ES9038 to run in default I2S mode and I want to add a BT5.0 module with I2S output. In order to avoid a I2S switch board I was thinking of using the I2SoverUSB IF S/PDIF output. The ES9038 board I ordered has two S/PDIF inputs and a remote control to switch between different input sources, S/PDIf/Optical/Coax and I2S.
The DAC board has an internal 100MHz MCLK. I want to make sure I can use both options before I start soldering 0R resistors.
If there’s one thing I learned it is that nothing is going to work as you might think it should in the beginning, lol
Last edited:
Before we get too far along, do you have a link to the ES9038 board you will be using?
Its that probably I2SoverUSB will work for what you want to do according to the I2SoverUSB configuration document, or the way I usually install the jumpers (either way). There are some other issues that might give a preference to doing it one way or other, but it would help to know which dac board it is.
Its that probably I2SoverUSB will work for what you want to do according to the I2SoverUSB configuration document, or the way I usually install the jumpers (either way). There are some other issues that might give a preference to doing it one way or other, but it would help to know which dac board it is.
It’s the cheap eval version I ordered: https://www.aliexpress.com/item/1005003434397354.html
Once it works I will go with the pro version, either single https://www.aliexpress.com/item/1005003066782520.html
or dual https://www.aliexpress.com/item/1005003125647609.html
there’s not a lot of explanation, lots of things to figure out yourself. The ‘Pro’ versions, single/dual, have the I2S switch build-in. You can order them with USB and BT modules. But I already have the I2SoverUSB and the cheap version does not have a I2S switcher. Another option is to order a cheap I2S switcher: https://www.aliexpress.com/item/32988502695.html
Once it works I will go with the pro version, either single https://www.aliexpress.com/item/1005003066782520.html
or dual https://www.aliexpress.com/item/1005003125647609.html
there’s not a lot of explanation, lots of things to figure out yourself. The ‘Pro’ versions, single/dual, have the I2S switch build-in. You can order them with USB and BT modules. But I already have the I2SoverUSB and the cheap version does not have a I2S switcher. Another option is to order a cheap I2S switcher: https://www.aliexpress.com/item/32988502695.html
Last edited:
Okay. I think if you follow the I2SoverUSB config document you will at least get LRCK, BCLK, and DATA outputs activated in I2S format. If you jumper B1,B2, B3, you will get the same thing, plus both MCLK1 and MCLK2. That gives both 45/49MHz and 22/24MHz master clock signals at I2SoverUSB output terminals. Probably SPDIF will be available either way on one or both of the SPDIF output pins. Might want to check the SPDIF with a scope though.
Why would you want I2SoverUSB MCLK signals? In case you want to lower the higher order HD from the dac chip, you could use lower frequency master clocks. Higher order HD may be increased with higher clock frequencies. Also, the master clocks on I2SoverUSB may have lower jitter than the clocks that come on the dac boards.
However, perhaps useful to know the dac boards are not designed to interface directly with I2SoverUSB pinouts (particularly the PRO boards), so you will need to make some very short patch leads and figure out how to mount I2SoverUSB very close to the dac board. The dac boards are designed to directly interface with the pinout pattern of Amanero style USB boards. However if using an Amanero style USB board its best to modify it to run on clean +5v power, rather than USB power.
Probably better to connect the bluetooth module over SPDIF if possible, then connect the USB board via I2S.
Regarding all the dac boards you linked to, all of them could use some modification to sound better. A number of people in the forum have already done that with similar boards. In particular, the ES9038Q2M board has a rather poor voltage-mode output stage. It will not perform to ES9038Q2M datasheet level specifications that way.
Problems with the ESS PRO dac boards linked to may include reduced stereo separation due to using a single voltage regulator for AVCC_L and AVCC_R. They should have separate voltage regulators. LDO voltage regulators on the board for AVCC and for opamps may not produce the best SQ. Some people have replaced those.
Also, many people believe that ESS dac chips sound best if not operated in the default mode with ASRC enabled. Might be better to have it enabled for the BlueTooth module, but probably better to operate the dac fully synchronously for USB. In the latter case the master clock signals from I2SoverUSB would probably be very useful. Also, running the dac chip in a non-default mode requires programming some of the I2C registers in the dac chip (which is not so hard to do, actually).
Bottom line, the dac boards are compromised to keep manufacturing costs low, we could say they are designed to meet a price point. Quite a few people have ended up modifying them to get cleaner sound. OTOH, a few people have been satisfied with the boards as is. There seems to be a lot of variation in what different people find to sound acceptable to them. IMHO and IME, for the most part investing the same money a project like this costs into the best Topping dac you can afford will probably give better SQ with much less work. However, if its mainly for diy fun, then by all means have fun!
As an aside, it seems a bit incongruous to use the best available diy USB board, I2SoverUSB, with lesser quality dac boards. At least the USB board can be kept for use with future projects involving better dac boards.
Why would you want I2SoverUSB MCLK signals? In case you want to lower the higher order HD from the dac chip, you could use lower frequency master clocks. Higher order HD may be increased with higher clock frequencies. Also, the master clocks on I2SoverUSB may have lower jitter than the clocks that come on the dac boards.
However, perhaps useful to know the dac boards are not designed to interface directly with I2SoverUSB pinouts (particularly the PRO boards), so you will need to make some very short patch leads and figure out how to mount I2SoverUSB very close to the dac board. The dac boards are designed to directly interface with the pinout pattern of Amanero style USB boards. However if using an Amanero style USB board its best to modify it to run on clean +5v power, rather than USB power.
Probably better to connect the bluetooth module over SPDIF if possible, then connect the USB board via I2S.
Regarding all the dac boards you linked to, all of them could use some modification to sound better. A number of people in the forum have already done that with similar boards. In particular, the ES9038Q2M board has a rather poor voltage-mode output stage. It will not perform to ES9038Q2M datasheet level specifications that way.
Problems with the ESS PRO dac boards linked to may include reduced stereo separation due to using a single voltage regulator for AVCC_L and AVCC_R. They should have separate voltage regulators. LDO voltage regulators on the board for AVCC and for opamps may not produce the best SQ. Some people have replaced those.
Also, many people believe that ESS dac chips sound best if not operated in the default mode with ASRC enabled. Might be better to have it enabled for the BlueTooth module, but probably better to operate the dac fully synchronously for USB. In the latter case the master clock signals from I2SoverUSB would probably be very useful. Also, running the dac chip in a non-default mode requires programming some of the I2C registers in the dac chip (which is not so hard to do, actually).
Bottom line, the dac boards are compromised to keep manufacturing costs low, we could say they are designed to meet a price point. Quite a few people have ended up modifying them to get cleaner sound. OTOH, a few people have been satisfied with the boards as is. There seems to be a lot of variation in what different people find to sound acceptable to them. IMHO and IME, for the most part investing the same money a project like this costs into the best Topping dac you can afford will probably give better SQ with much less work. However, if its mainly for diy fun, then by all means have fun!
As an aside, it seems a bit incongruous to use the best available diy USB board, I2SoverUSB, with lesser quality dac boards. At least the USB board can be kept for use with future projects involving better dac boards.
Last edited:
Thank you for the info. Very useful.
My credo: I start affordable w/o too many compromises, I learn, I improve until I AM SATISFIED…
P.S. I’ll start without any solder bridges and see if I get a signal at one of the S/PDIF ports, if not, I’ll put in B1-B3.
My credo: I start affordable w/o too many compromises, I learn, I improve until I AM SATISFIED…
P.S. I’ll start without any solder bridges and see if I get a signal at one of the S/PDIF ports, if not, I’ll put in B1-B3.
JLSounds replied to my questions:
In order to operate I2SoverUSB with a ES90xx you have to:
If you use a Linux host (like LibreELEC), you’ll see two IF to chose from, the IF to select is:
In order to operate I2SoverUSB with a ES90xx you have to:
- J1 closed for I2S DSD channels correct, internal MCLK
- J2, B1, B3 closed for S/PDIF (J1 can left closed for parallel operation), internal MCLK
- with B5 closed I2SoverUSB expects MCLK at H3.3 (depending on H3.1 isolated or H1.4 non-isolated)
If you use a Linux host (like LibreELEC), you’ll see two IF to chose from, the IF to select is:
- JLSounds Analog for I2S - tbc.
- JLSounds S/PDIF for S/PDIF -tbc.
- Home
- Source & Line
- Digital Line Level
- JLSOUNDS I2S over USB v. III - use with ES9038Q2M