Been working on making I2S dacs work on the Orange Pi Zero, after reading on a few pages i got crazy and almost gave up and then i did some playaround and managed to make it work! And this is how i did!
I am using examples from the topic here, as it was well written until i had to figure things out myself because of that stupid wifi_enable on PA20 which also is the data out on the OPI zero
Thread: https://forum.armbian.com/topic/759-i2s-on-orange-pi-h3/
First up it requires a bit of soldering, removing the R69 and adding a small wire is required to access the DIN(data in) or so called PA20. What i did was just simply adding a header so i can just connect it there as shown
After you have added the resistor it is time to wire up the device. For my example im using the PCM5102 board as example. You can buy it really cheap on Aliexpress and ebay!
Afterwards it is time to configure the device. Start by entering the script file
cd /boot
sudo bin2fex script.bin script.fex
sudo nano script.fex
Then we'll have to change the following
[twi1]
twi_used = 1
to
[twi1]
twi_used = 0
and
[pcm0]
daudio_used = 0
to
[pcm0]
daudio_used = 1
Then the part that i have discovered
Because of the PA20 is used to enable the wifi it would not work with the sound card unless you change the PA20 to another pin so now we'll have to do the following
Find the following and change it:
That should be it! Save your file and run the last command needed!
sudo fex2bin script.fex script.bin
You can test the audio by using the following command
speaker-test -twav -c2 -Dhw:1
I am still working on figuring out how to change the default audio device to the I2S. I am a noob in Linux, i am more a hardware man than a software man
I hope you guys manage to make it work!
Question
Stefan Huus Gregersen
Hello folks,
Been working on making I2S dacs work on the Orange Pi Zero, after reading on a few pages i got crazy and almost gave up and then i did some playaround and managed to make it work! And this is how i did!


I am using examples from the topic here, as it was well written until i had to figure things out myself because of that stupid wifi_enable on PA20 which also is the data out on the OPI zero
Thread: https://forum.armbian.com/topic/759-i2s-on-orange-pi-h3/
First up it requires a bit of soldering, removing the R69 and adding a small wire is required to access the DIN(data in) or so called PA20. What i did was just simply adding a header so i can just connect it there as shown
After you have added the resistor it is time to wire up the device. For my example im using the PCM5102 board as example. You can buy it really cheap on Aliexpress and ebay!
Afterwards it is time to configure the device. Start by entering the script file
Then we'll have to change the following
[twi1] twi_used = 1
to
[twi1] twi_used = 0
and
[pcm0] daudio_used = 0
to
[pcm0] daudio_used = 1
Then the part that i have discovered
Because of the PA20 is used to enable the wifi it would not work with the sound card unless you change the PA20 to another pin so now we'll have to do the following
Find the following and change it:
Change it to
Find
Change it to
Then there is another SMC_Para hidden, the only difference is that it is SMC_USED = 0 where the other is SMC_used =
And to
That should be it! Save your file and run the last command needed!
sudo fex2bin script.fex script.bin
You can test the audio by using the following command
speaker-test -twav -c2 -Dhw:1
I am still working on figuring out how to change the default audio device to the I2S. I am a noob in Linux, i am more a hardware man than a software man
I hope you guys manage to make it work!
Link to comment
Share on other sites
33 answers to this question
Recommended Posts