Over the years I've built a few ADCs first with AK5394A and later with ES9822PRO. I've used them mostly in my measurement setup together with my DAC boards and USB-I2S boards. I never got to making a chassis for them so they have been laying naked on my desktop gathering dust and especially cat hair. Sometime ago another member asked if I had an AKM ADC for him to evaluate. This inspired me to finally put both my AK5394A and ES9822PRO ADCs in a box.
I've had good experience with Hammond 1455 series aluminium project boxes so I decided to use Hammond 1455K1201 box (120x78x43mm). My ADC boards are 100x50mm so using them together with an I2SUSB board and PSU (new SilentSwitcher) was a tight fit. I also had to make front and back panels for the box.
Here is a picture of both ADCs front and back. ES9822PRO on top and AK5394A below.
ES9822PRO version has more functionality so both front and back panels are slightly different.
Here is a picture of the PCBs inside the boxes.
From top: AK5394A ADC, ES9822PRO ADC, I2SUSB, SilentSwitcher. I2SUSB board and SilentSwitcher work with both ADC boards. ADC and I2SUSB boards are sandwiched together with a pin header.
Both ADC boards have similar circuits: AC coupled (DC coupling also possible), input stage buffer opamps followed by a differential opamp, low noise regulators for critical analog & digital supplies, buffered NZ2520SDA clocks with clock output for dac synchronization. External clock input is also possible. ES9822PRO version has also a mono switch and clipping indicators. On the bottom side of ADC boards are jumpers that short input capacitors for DC coupling.
Here are key specs:
ADCs boards require +/-15V for opamps and 5.5V for analog & digital circuits. I2SUSB board needs 5.5V but it can also be jumpered to use 5V from USB. So SilentSwitcher is a perfect fit for powering both boards. Both ADCs can be powered from a 5-12V DC source (e.g. USB PD powerbanks). To show how well the digital isolation (and SilentSwitcher) works in all following measurements ADC has been powered from a noisy computer USB port.
In the next posts I'll discuss the ADCs in more detail and also provide board schematics, gerbers, boms and FW for I2SUSB if someone wants to DIY these (not SilentSwitcher). BOMs have Mouser product codes with the exception to AK5394A (obsolete) and clocks that can be sourced from Digikey.
I've had good experience with Hammond 1455 series aluminium project boxes so I decided to use Hammond 1455K1201 box (120x78x43mm). My ADC boards are 100x50mm so using them together with an I2SUSB board and PSU (new SilentSwitcher) was a tight fit. I also had to make front and back panels for the box.
Here is a picture of both ADCs front and back. ES9822PRO on top and AK5394A below.
ES9822PRO version has more functionality so both front and back panels are slightly different.
Here is a picture of the PCBs inside the boxes.
From top: AK5394A ADC, ES9822PRO ADC, I2SUSB, SilentSwitcher. I2SUSB board and SilentSwitcher work with both ADC boards. ADC and I2SUSB boards are sandwiched together with a pin header.
Both ADC boards have similar circuits: AC coupled (DC coupling also possible), input stage buffer opamps followed by a differential opamp, low noise regulators for critical analog & digital supplies, buffered NZ2520SDA clocks with clock output for dac synchronization. External clock input is also possible. ES9822PRO version has also a mono switch and clipping indicators. On the bottom side of ADC boards are jumpers that short input capacitors for DC coupling.
Here are key specs:
- Input impedance 10kOhms
- Input voltage 0dBFS level is 4Vrms (fixed).
- AC or DC coupling.
- Full digital isolation (I2S, I2C, GPIO). No USB isolator.
ADCs boards require +/-15V for opamps and 5.5V for analog & digital circuits. I2SUSB board needs 5.5V but it can also be jumpered to use 5V from USB. So SilentSwitcher is a perfect fit for powering both boards. Both ADCs can be powered from a 5-12V DC source (e.g. USB PD powerbanks). To show how well the digital isolation (and SilentSwitcher) works in all following measurements ADC has been powered from a noisy computer USB port.
In the next posts I'll discuss the ADCs in more detail and also provide board schematics, gerbers, boms and FW for I2SUSB if someone wants to DIY these (not SilentSwitcher). BOMs have Mouser product codes with the exception to AK5394A (obsolete) and clocks that can be sourced from Digikey.
AK5394A ADC
As AK5394A has long been obsolete this ADC version is of interest to mainly those who already have a AK5394A chip. Prices of AK5394A have skyrocketed at eBay and aliExpress and quite likely most of chips sold at those sites are either fake or used. Diyaudio members may have AK5394As for sale so swap meet is a possible source.
Here is a picture of the internals of the ADC and a closeup of the ADC board.
There are 2 MMCX connectors for clock signal. The outside connector is for clock output. The clocks used on this ADC are 22M/24M which are divided down to 11M/12M for AK5394A but output clock is 22M/24M. The other MMCX connector is for clock input if external clock is used. External clock needs to be 11M/12M. When external clock is used the onboard clocks need to be disabled with a jumper.
Despite its age AK5394A has excellent performance. Here is noise at 192kHz.
For best performance (low THD and crosstalk) input level should be kept below -6dBFS. For measurements notch+LNA are beneficial. E.g. Cosmos APU works very well with AK5394A as the output level is a -11dBFS. Here is a measurement of my ES9039Q2M DAC using AK5394A together with Cosmos APU.
Attached are schematic, gerbers and BOM for AK5394A ADC board.
As AK5394A has long been obsolete this ADC version is of interest to mainly those who already have a AK5394A chip. Prices of AK5394A have skyrocketed at eBay and aliExpress and quite likely most of chips sold at those sites are either fake or used. Diyaudio members may have AK5394As for sale so swap meet is a possible source.
Here is a picture of the internals of the ADC and a closeup of the ADC board.
There are 2 MMCX connectors for clock signal. The outside connector is for clock output. The clocks used on this ADC are 22M/24M which are divided down to 11M/12M for AK5394A but output clock is 22M/24M. The other MMCX connector is for clock input if external clock is used. External clock needs to be 11M/12M. When external clock is used the onboard clocks need to be disabled with a jumper.
Despite its age AK5394A has excellent performance. Here is noise at 192kHz.
For best performance (low THD and crosstalk) input level should be kept below -6dBFS. For measurements notch+LNA are beneficial. E.g. Cosmos APU works very well with AK5394A as the output level is a -11dBFS. Here is a measurement of my ES9039Q2M DAC using AK5394A together with Cosmos APU.
Attached are schematic, gerbers and BOM for AK5394A ADC board.
Attachments
ES9822PRO
ES9822PRO is probably the best ADC chip for audio available currently. With 22M/24M clocks upto 384kHz sampling rate is possible. With 45M/49M clocks even 768kHz is possible. Noise floor is relatively flat upto 384kHz with a small bump above 100kHz. ES9822PRO suffers from the infamous ESS IMD hump so IMD sweep measurements may be slightly misleading.
ES9822PRO has some additional functionality missing from AK5394A such as mono operation and clipping indicators. In my ADC mono operation can be selected with a switch on the back panel. Front panel has a led indictor. Clipping indicators are based on ES9822PRO interrupts that are triggered if the input level goes above preset threshold. Clipping indicator stays on until new recording is started.
Here is a picture of the internals of the ADC and a closeup of the ADC board.
Onboard clocks can be either 22M/24M or 45M/49M. Clock can be selected with a jumper on the I2SUSB board. As with AK5394 ADC there are 2 MMCX connectors for clock signal. Output clock is either 22M/24M or 45M/49M depending on the onboard clocks. In case external clock is used it needs to be either 22M/24M or 45M/49M.
Here is noise at 384kHz with 22M/24M clocks and at 768kHz with 45M/49M clocks.
Here is the same measurement of my ES9039Q2M DAC as above using ES9822PRO together with Cosmos APU. Very similar to AK5394A measurement.
<es9039>
Here is a measurement of ES9039Q2M DAC playing 21kHz -60dBFS at 768kHz.
Attached are schematic, gerbers and BOM for ES9822PRO ADC board.
ES9822PRO is probably the best ADC chip for audio available currently. With 22M/24M clocks upto 384kHz sampling rate is possible. With 45M/49M clocks even 768kHz is possible. Noise floor is relatively flat upto 384kHz with a small bump above 100kHz. ES9822PRO suffers from the infamous ESS IMD hump so IMD sweep measurements may be slightly misleading.
ES9822PRO has some additional functionality missing from AK5394A such as mono operation and clipping indicators. In my ADC mono operation can be selected with a switch on the back panel. Front panel has a led indictor. Clipping indicators are based on ES9822PRO interrupts that are triggered if the input level goes above preset threshold. Clipping indicator stays on until new recording is started.
Here is a picture of the internals of the ADC and a closeup of the ADC board.
Onboard clocks can be either 22M/24M or 45M/49M. Clock can be selected with a jumper on the I2SUSB board. As with AK5394 ADC there are 2 MMCX connectors for clock signal. Output clock is either 22M/24M or 45M/49M depending on the onboard clocks. In case external clock is used it needs to be either 22M/24M or 45M/49M.
Here is noise at 384kHz with 22M/24M clocks and at 768kHz with 45M/49M clocks.
Here is the same measurement of my ES9039Q2M DAC as above using ES9822PRO together with Cosmos APU. Very similar to AK5394A measurement.
Here is a measurement of ES9039Q2M DAC playing 21kHz -60dBFS at 768kHz.
Attached are schematic, gerbers and BOM for ES9822PRO ADC board.
Attachments
I2SUSB
The I2SUSB bridge uses a 100-pin STM32F723 MCU. AFAIK this is the lowest level STM32 MCU with built in USB HS PHY. MCU is isolated from the ADC using digital isolators for I2S, I2C and GPIO. Board has a 2x3 pin header than can be used for settings.
The firmware is similar to the FW for STM32F723-DISCOVERY I posted a couple of years ago. FW runs on RTOS. Higher priority USB processing and lower priority processing (ADC I2C & GPIO) are decoupled using message queues. FW includes drivers for AK5394A and ES9822PRO.
Attached are schematic, gerbers and BOM for I2SUSB board.
The I2SUSB bridge uses a 100-pin STM32F723 MCU. AFAIK this is the lowest level STM32 MCU with built in USB HS PHY. MCU is isolated from the ADC using digital isolators for I2S, I2C and GPIO. Board has a 2x3 pin header than can be used for settings.
The firmware is similar to the FW for STM32F723-DISCOVERY I posted a couple of years ago. FW runs on RTOS. Higher priority USB processing and lower priority processing (ADC I2C & GPIO) are decoupled using message queues. FW includes drivers for AK5394A and ES9822PRO.
Attached are schematic, gerbers and BOM for I2SUSB board.
Attachments
Synchronization with DAC
The ADC clock output can be used for synchronization with a DAC. Synchronous DAC/ADC clock can be important in some types of measurements as it allows precise FFT of the measurement signal even without FFT windowing. For this to work DAC must support external clocks. AFAIK some USB-I2S boards have provision for external clocks.
The above ES9039Q2M measurements were made with synchronized ADC and DAC. My ES9039Q2M DAC has a setting for external clock which makes the setup easy. Here are couple of pictures of the setup.
The ADC clock output can be used for synchronization with a DAC. Synchronous DAC/ADC clock can be important in some types of measurements as it allows precise FFT of the measurement signal even without FFT windowing. For this to work DAC must support external clocks. AFAIK some USB-I2S boards have provision for external clocks.
The above ES9039Q2M measurements were made with synchronized ADC and DAC. My ES9039Q2M DAC has a setting for external clock which makes the setup easy. Here are couple of pictures of the setup.
Here is the FW source code for I2SUSB board. There are excellent license-free development tools for STM32 MCUs. For uploading the FW a STLink adapter is required. Most STM32 Nucleo boards can be used. Easiest is to use a board that has 6-pin SWD connector as I2SUSB board has same SWD pinout. E.g. this board
https://www.mouser.fi/ProductDetail/STMicroelectronics/NUCLEO-F072RB?qs=fK8dlpkaUMs07r2quh6QQw==
BTW the I2SUSB gerbers I posted above are slightly modified from the pictures as there were couple of minor fitment issues with ES9822 ADC.
https://www.mouser.fi/ProductDetail/STMicroelectronics/NUCLEO-F072RB?qs=fK8dlpkaUMs07r2quh6QQw==
BTW the I2SUSB gerbers I posted above are slightly modified from the pictures as there were couple of minor fitment issues with ES9822 ADC.
Attachments
No. Both the board and the FW are only for I2S input (ADC). High speed digital isolators are unidirectional so typically I2S input+output requires separate isolators. I do have another USBI2S design that has both isolated I2S input and output but that is a bit more complicated.
Attachments
I am sure if you are willing, a lot of people would be interested in a USB i2S interface for DACs.
😊
Patrick
😊
Patrick
For USB-I2S output only (i.e. DACs) I have this:a lot of people would be interested in a USB i2S interface for DACs.
https://www.diyaudio.com/community/attachments/usbi2s_1-jpg.1344408/
https://www.diyaudio.com/community/attachments/usbi2s_2-jpg.1344409/
Now the question is how to make this available. The FW by itself is of no use without the board. Not many have the tools or skills to assemble such board. Having these pre-assembled would make sense only if the number of boards is large enough (probably 100 minimum). E.g. JLCPCB does not have all the components.
Did you hand solder ?
I can do 0603 and 0.5mm pitch ic's.
0402 marginal, but not impossible.
Patrick
I can do 0603 and 0.5mm pitch ic's.
0402 marginal, but not impossible.
Patrick
I use a reflow oven so I haven't thought about how easy these are for hand soldering. Hand soldering is possible but for some components heat gun is a must. Especially the common mode filter / ESD protection (ECMF02-4CMX8) is a real PITA even with a reflow oven.
QFN's pretty much require proper solder stencil application of solder paste and an oven / hot-air rework station for confidence - if you are soldering a whole board you don't want to risk the entire board - so separate break-out boards can be very useful if you have a few high density SMT components to hand-solder, means you can reduce the cost of mistakes.
True, but if you don't hand-solder these devices every week, get a hot-air rework station or a toaster oven...
Hello bohrok2610,
All my congratulations for your amazing works !
I was looking for a long time now an USB/I2S solution with bidirectional ADC/DAC sampling, if possible open source.
As I understand, you interface allow 768kHz sampling, am I right ?
Any possibility to allow 1536 kHz ?
Regards.
FRex
All my congratulations for your amazing works !
I was looking for a long time now an USB/I2S solution with bidirectional ADC/DAC sampling, if possible open source.
As I understand, you interface allow 768kHz sampling, am I right ?
Any possibility to allow 1536 kHz ?
Regards.
FRex
In my USB-I2S bridge ADC is the I2S master so it provides the clock. Sampling at 768kHz is possible when ADC has a 49M clock and sampling at 1536kHz would require a 98M clock but I haven't tested that. My STM32H7 based bidirectional USB-I2S bridge running at 550MHz (in post #8) may well have enough juice for 1536kHz playback/recording.
I tested with my DSPStreamer in a loop back as 1.536Mhz & 32 Bit in mono mode.
But requires the USB-I2S bridge to split two samples as L+R with 2 x 768kHz (without any isolation).
IMHO, it will be a mayor task, to deal with the isolation chips with it's propagation delays
But requires the USB-I2S bridge to split two samples as L+R with 2 x 768kHz (without any isolation).
IMHO, it will be a mayor task, to deal with the isolation chips with it's propagation delays
Attachments
- Home
- Design & Build
- Equipment & Tools
- DIY ADCs