Atom Feed - Twisted Pear Audio Support - Topic:NEW! Arduino class library for the ES9028/38 chip - 20Twisted Pear Audio Support - Atom Feedurn:twistedpearaudio-com:AtomFeed:TwistedPearAudioSupport:Topic:NEW!ArduinoclasslibraryfortheES9028/38chip-20:1Copyright 2024 Twisted Pear Audio Support2024-03-29T04:55:12Zhttp://www.twistedpearaudio.com/forum/Images/YAFLogo.pngForum Adminhttp://www.twistedpearaudio.comfeedback@twistedpearaudio.comjbjbjbjbjbhttp://www.twistedpearaudio.com/forum/profile/27253-jbjbjbjbjbjbjbjbjbjbhttp://www.twistedpearaudio.com/forum/profile/27253-jbjbjbjbjbPossumhttp://www.twistedpearaudio.com/forum/profile/25416-PossumPossumhttp://www.twistedpearaudio.com/forum/profile/25416-Possumjbjbjbjbjbhttp://www.twistedpearaudio.com/forum/profile/27253-jbjbjbjbjbPossumhttp://www.twistedpearaudio.com/forum/profile/25416-Possumjbjbjbjbjbhttp://www.twistedpearaudio.com/forum/profile/27253-jbjbjbjbjbPossumhttp://www.twistedpearaudio.com/forum/profile/25416-Possumbrankohttp://www.twistedpearaudio.com/forum/profile/1718-brankobrankohttp://www.twistedpearaudio.com/forum/profile/1718-brankocdevezahttp://www.twistedpearaudio.com/forum/profile/26654-cdevezaPossumhttp://www.twistedpearaudio.com/forum/profile/25416-Possumcdevezahttp://www.twistedpearaudio.com/forum/profile/26654-cdevezacdevezahttp://www.twistedpearaudio.com/forum/profile/26654-cdevezacdevezahttp://www.twistedpearaudio.com/forum/profile/26654-cdevezaPossumhttp://www.twistedpearaudio.com/forum/profile/25416-Possumcdevezahttp://www.twistedpearaudio.com/forum/profile/26654-cdevezacdevezahttp://www.twistedpearaudio.com/forum/profile/26654-cdevezaPossumhttp://www.twistedpearaudio.com/forum/profile/25416-Possumcdevezahttp://www.twistedpearaudio.com/forum/profile/26654-cdevezaPossumhttp://www.twistedpearaudio.com/forum/profile/25416-PossumYetAnotherForum.NETurn:twistedpearaudio-com:ftPosts:st1:meid26290:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer_Alt" width="100%"><tr><td>Thanks for all the useful info. I already use Home Assistant so this might work very well.<br /><br />Unfortunately the DiyinHK board I'm after is out of stock. I'm half wondering about hacking a Topping DM7, but should probably resist the urge.</td></tr></table>2023-02-28T09:11:26-07:002023-02-28T09:11:26-07:00jbjbjbjbjb<table class="content postContainer_Alt" width="100%"><tr><td>Thanks for all the useful info. I already use Home Assistant so this might work very well.<br /><br />Unfortunately the DiyinHK board I'm after is out of stock. I'm half wondering about hacking a Topping DM7, but should probably resist the urge.</td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid26289:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer" width="100%"><tr><td>PS: I usually use the WeMos D1 R2 WiFi ESP8266 board, or the WeMos mini if space is an issue - don't bother with the Arduino WiFi shields - they're a bodge.</td></tr></table>2023-02-27T21:11:30-07:002023-02-27T21:11:30-07:00Possum<table class="content postContainer" width="100%"><tr><td>PS: I usually use the WeMos D1 R2 WiFi ESP8266 board, or the WeMos mini if space is an issue - don't bother with the Arduino WiFi shields - they're a bodge.</td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid26288:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer_Alt" width="100%"><tr><td>for remote control I use the MQTT protocol, as there are cool apps like MQTT Dash and Home Assistant that make creating a user interface easy.<br /><br />You will need an MQTT server tho. A Raspberry Pi will do the job. I run it on my Synology NAS.<br /><br />You can instead use HTTP ReST as the protocol, but MQTT Dash won't work with it. MQTT has the advantage of being able to publish out events as well as receive them - so the DAC can, say, publish out the fact the attenuation changed when you turn the volume knob and the app will magically reflect this. HTTP can't do this. You must instead continually poll the device to detect any changes.<br /><br />If you want to use MQTT I can share some implementation code with U that you can mod to suit your purposes. It does a lot more than volume control - e.g.: power, filter selection, mute, etc <br /><br />My library most certainly allows you to set each channels attenuation individually, but be mindful there is a master mode that sets channel 1 as master for all other channel attenuation. My implementation code uses this, but you do not want this enabled if you want individual control of each channel.<br /><br />Don't forget the isolator - e.g.: <a target="_blank" rel="nofollow" href="https://www.tme.eu/en/details/mikroe-1878/add-on-boards/mikroe/i2c-isolator-click/" title="https://www.tme.eu/en/details/mikroe-1878/add-on-boards/mikroe/i2c-isolator-click/">https://www.tme.eu/en/de...kroe/i2c-isolator-click/</a><br /><br />Twisted Pear is in the process of shutting down, so you might want to ping me your email if you want some assistance, as I don't know how long Brian intends to maintain this support forum for.<br /><br /></td></tr></table>2023-02-27T21:00:46-07:002023-02-27T21:00:46-07:00Possum<table class="content postContainer_Alt" width="100%"><tr><td>for remote control I use the MQTT protocol, as there are cool apps like MQTT Dash and Home Assistant that make creating a user interface easy.<br /><br />You will need an MQTT server tho. A Raspberry Pi will do the job. I run it on my Synology NAS.<br /><br />You can instead use HTTP ReST as the protocol, but MQTT Dash won't work with it. MQTT has the advantage of being able to publish out events as well as receive them - so the DAC can, say, publish out the fact the attenuation changed when you turn the volume knob and the app will magically reflect this. HTTP can't do this. You must instead continually poll the device to detect any changes.<br /><br />If you want to use MQTT I can share some implementation code with U that you can mod to suit your purposes. It does a lot more than volume control - e.g.: power, filter selection, mute, etc <br /><br />My library most certainly allows you to set each channels attenuation individually, but be mindful there is a master mode that sets channel 1 as master for all other channel attenuation. My implementation code uses this, but you do not want this enabled if you want individual control of each channel.<br /><br />Don't forget the isolator - e.g.: <a target="_blank" rel="nofollow" href="https://www.tme.eu/en/details/mikroe-1878/add-on-boards/mikroe/i2c-isolator-click/" title="https://www.tme.eu/en/details/mikroe-1878/add-on-boards/mikroe/i2c-isolator-click/">https://www.tme.eu/en/de...kroe/i2c-isolator-click/</a><br /><br />Twisted Pear is in the process of shutting down, so you might want to ping me your email if you want some assistance, as I don't know how long Brian intends to maintain this support forum for.<br /><br /></td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid26287:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer" width="100%"><tr><td>fantastic. I'll get the board and have a go. Might need some pointers at some point.</td></tr></table>2023-02-27T15:54:44-07:002023-02-27T15:54:44-07:00jbjbjbjbjb<table class="content postContainer" width="100%"><tr><td>fantastic. I'll get the board and have a go. Might need some pointers at some point.</td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid26286:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer_Alt" width="100%"><tr><td>If the board has I2C to connect arduino then YES it is absolutely possible. <br /><br />You must use an isolator circuit tho as arduino injects too much noise.<br /><br /><br />I have a smartphone app that lets me control everything remotely </td></tr></table>2023-02-27T10:24:34-07:002023-02-27T10:24:34-07:00Possum<table class="content postContainer_Alt" width="100%"><tr><td>If the board has I2C to connect arduino then YES it is absolutely possible. <br /><br />You must use an isolator circuit tho as arduino injects too much noise.<br /><br /><br />I have a smartphone app that lets me control everything remotely </td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid26285:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer" width="100%"><tr><td>Hi Possum, <br />I wonder if this is still active?<br /><br />I'm considering purchasing this- <br /><br /><a target="_blank" rel="nofollow" href="https://www.diyinhk.com/shop/audio-kits/167-2047-8-channels-384khz-32bit-es9038pro-pcm-dxd-dsd-audio-dac.html#/33-dac-xmos_and_dac_pcb/144-fifo_option-8ch_reclock_pcb" title="https://www.diyinhk.com/shop/audio-kits/167-2047-8-channels-384khz-32bit-es9038pro-pcm-dxd-dsd-audio-dac.html#/33-dac-xmos_and_dac_pcb/144-fifo_option-8ch_reclock_pcb">https://www.diyinhk.com/...o_option-8ch_reclock_pcb</a><br /><br /> - and I'm hoping that I'll be able to use your code to program it.<br /><br />I'd like to be able to control each channel's volume individually for a coffee-table-slider-remote project. Is this possible with your code, and would the modifications be feasible?<br /><br />with thanks and hope...<br />james<br /><br /></td></tr></table>2023-02-27T10:04:41-07:002023-02-27T10:04:41-07:00jbjbjbjbjb<table class="content postContainer" width="100%"><tr><td>Hi Possum, <br />I wonder if this is still active?<br /><br />I'm considering purchasing this- <br /><br /><a target="_blank" rel="nofollow" href="https://www.diyinhk.com/shop/audio-kits/167-2047-8-channels-384khz-32bit-es9038pro-pcm-dxd-dsd-audio-dac.html#/33-dac-xmos_and_dac_pcb/144-fifo_option-8ch_reclock_pcb" title="https://www.diyinhk.com/shop/audio-kits/167-2047-8-channels-384khz-32bit-es9038pro-pcm-dxd-dsd-audio-dac.html#/33-dac-xmos_and_dac_pcb/144-fifo_option-8ch_reclock_pcb">https://www.diyinhk.com/...o_option-8ch_reclock_pcb</a><br /><br /> - and I'm hoping that I'll be able to use your code to program it.<br /><br />I'd like to be able to control each channel's volume individually for a coffee-table-slider-remote project. Is this possible with your code, and would the modifications be feasible?<br /><br />with thanks and hope...<br />james<br /><br /></td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25724:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: cdeveza <a href="/forum/posts/m25721-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25721"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25720-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25720"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote>Will try to find time this evening<br /><br /><br />I could get the I2S to work, playing DSD files, and PCM files, however, if I have an SPDIF(my Toslink) plugged in with signal, with PCM on the I2S, then it would not work?? but if its DSD, then it works even with Toslink with signal plugged in? Strange.<br /></div></div><br /><br /><br />So are you saying the DAC plays the SPDIF signal even when the input is set to serial and there is a PCM signal?<br /><br /><br />PS: the library has all you need to get the sample rate - use dac.dpllNumber and clock = 10:<br /><br />long sampleRate = (dpllNumber()*clock)/42940; see Dim Dim's code to print the actual sample rate</td></tr></table>2019-07-26T23:08:43-07:002019-07-26T23:08:43-07:00Possum<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: cdeveza <a href="/forum/posts/m25721-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25721"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25720-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25720"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote>Will try to find time this evening<br /><br /><br />I could get the I2S to work, playing DSD files, and PCM files, however, if I have an SPDIF(my Toslink) plugged in with signal, with PCM on the I2S, then it would not work?? but if its DSD, then it works even with Toslink with signal plugged in? Strange.<br /></div></div><br /><br /><br />So are you saying the DAC plays the SPDIF signal even when the input is set to serial and there is a PCM signal?<br /><br /><br />PS: the library has all you need to get the sample rate - use dac.dpllNumber and clock = 10:<br /><br />long sampleRate = (dpllNumber()*clock)/42940; see Dim Dim's code to print the actual sample rate</td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25723:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer" width="100%"><tr><td>Hi,<br /><br />@cdeveza <br /><br />would you mind to post your actually working code, as it is nearly the one I would need. So I could try a start or to compare?<br /><br />thx<br /><br />Branko</td></tr></table>2019-07-23T18:07:49-07:002019-07-23T18:07:49-07:00branko<table class="content postContainer" width="100%"><tr><td>Hi,<br /><br />@cdeveza <br /><br />would you mind to post your actually working code, as it is nearly the one I would need. So I could try a start or to compare?<br /><br />thx<br /><br />Branko</td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25722:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer_Alt" width="100%"><tr><td>Nice to follow this conversation and to see how it comes to success!<br /><br />After being distracted from hobby due to lack of time I would like to start over again.<br /><br />My goal is also a stereo BIIIpro se with one I2s and two (maybe 3) spdif inputs. Inputs should be changed by push button (cycle through) and maybe ir-remote.<br /><br />Last goal would be a Display (LED-Matrix) to show input NAME and SAMPLING RATE<br /><br />Will use an Arduino Due and Dimdims shield for isolation reasons.<br /><br />I fear I will need a lot of help :((<br /><br />Thank you so much for your code Possum<br /><br />BR<br /><br />Branko<br /><br />btw: as I do not have offer any usable knowledge. I s there a way to spend you some beer (or a wine maybe)</td></tr></table>2019-07-27T21:29:52-07:002019-07-27T21:29:52-07:00branko<table class="content postContainer_Alt" width="100%"><tr><td>Nice to follow this conversation and to see how it comes to success!<br /><br />After being distracted from hobby due to lack of time I would like to start over again.<br /><br />My goal is also a stereo BIIIpro se with one I2s and two (maybe 3) spdif inputs. Inputs should be changed by push button (cycle through) and maybe ir-remote.<br /><br />Last goal would be a Display (LED-Matrix) to show input NAME and SAMPLING RATE<br /><br />Will use an Arduino Due and Dimdims shield for isolation reasons.<br /><br />I fear I will need a lot of help :((<br /><br />Thank you so much for your code Possum<br /><br />BR<br /><br />Branko<br /><br />btw: as I do not have offer any usable knowledge. I s there a way to spend you some beer (or a wine maybe)</td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25721:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25720-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25720"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote>Will try to find time this evening<br /><br />PS: You should check your personal mailbox more often :-)</div></div><br /><br />Sorry possum, I did not know about this PM here, how dumb of me, I am so sorry. But thanks anyways, dimdim gave me a copy of the datasheet. BTW, I am still struggling to get my controller to work the way I wanted it.<br /><br />I could get the I2S to work, playing DSD files, and PCM files, however, if I have an SPDIF(my Toslink) plugged in with signal, with PCM on the I2S, then it would not work?? but if its DSD, then it works even with Toslink with signal plugged in? Strange.<br /><br />Its a good thing, I mostly listen to I2S, but I use my Toslink sometimes. I use it for watching movies on TV.<br />Got any ideas, how to fix this problem? I looked at Russ code and its almost identical, as far as which regs to set.<br /><br />Regards,<br />Alex</td></tr></table>2019-07-23T07:29:02-07:002019-07-23T07:29:02-07:00cdeveza<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25720-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25720"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote>Will try to find time this evening<br /><br />PS: You should check your personal mailbox more often :-)</div></div><br /><br />Sorry possum, I did not know about this PM here, how dumb of me, I am so sorry. But thanks anyways, dimdim gave me a copy of the datasheet. BTW, I am still struggling to get my controller to work the way I wanted it.<br /><br />I could get the I2S to work, playing DSD files, and PCM files, however, if I have an SPDIF(my Toslink) plugged in with signal, with PCM on the I2S, then it would not work?? but if its DSD, then it works even with Toslink with signal plugged in? Strange.<br /><br />Its a good thing, I mostly listen to I2S, but I use my Toslink sometimes. I use it for watching movies on TV.<br />Got any ideas, how to fix this problem? I looked at Russ code and its almost identical, as far as which regs to set.<br /><br />Regards,<br />Alex</td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25720:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer_Alt" width="100%"><tr><td>Will try to find time this evening<br /><br />PS: You should check your personal mailbox more often :-)</td></tr></table>2019-07-21T06:06:48-07:002019-07-21T06:06:48-07:00Possum<table class="content postContainer_Alt" width="100%"><tr><td>Will try to find time this evening<br /><br />PS: You should check your personal mailbox more often :-)</td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25719:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25711-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25711"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br />Sure, I'll add sample rate. I don't have displays on my builds, but I am adding IoT support using MQTT messaging so I can control and view status via an android app - so I will have a means to display sample rate myself :-)<br /></div></div><br /><br />Hi Possum,<br /><br />Did you get a chance to work on the Sample Rate issue. It would be nice if we can get this information.<br /><br />Thanks,<br />Alex<br /><br /></td></tr></table>2019-07-19T05:47:49-07:002019-07-19T05:47:49-07:00cdeveza<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25711-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25711"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br />Sure, I'll add sample rate. I don't have displays on my builds, but I am adding IoT support using MQTT messaging so I can control and view status via an android app - so I will have a means to display sample rate myself :-)<br /></div></div><br /><br />Hi Possum,<br /><br />Did you get a chance to work on the Sample Rate issue. It would be nice if we can get this information.<br /><br />Thanks,<br />Alex<br /><br /></td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25718:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: cdeveza <a href="/forum/posts/m25717-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25717"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25716-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25716"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br /><br />oK, got you, one question, do you happen to have a copy of the ES9038 datasheet? I am trying to learn as much as I can how these things work.<br /><br />Alex</div></div><br /><br />Just found out, its illegal to get datasheets from ESS. Dont know why, just asking information for a product. Well, thats it for that.<br /><br />Regards,<br />Alex<br /><br /></td></tr></table>2019-07-17T23:09:12-07:002019-07-17T23:09:12-07:00cdeveza<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: cdeveza <a href="/forum/posts/m25717-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25717"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25716-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25716"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br /><br />oK, got you, one question, do you happen to have a copy of the ES9038 datasheet? I am trying to learn as much as I can how these things work.<br /><br />Alex</div></div><br /><br />Just found out, its illegal to get datasheets from ESS. Dont know why, just asking information for a product. Well, thats it for that.<br /><br />Regards,<br />Alex<br /><br /></td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25717:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25716-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25716"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote>No idea what dop is. Some other protocol the dac can decode.<br /><br />By analog power I .mean dac analog power <br /><br />I've never used the is valid functions so you're on your own :there -)<br /><br />Happy programming </div></div><br /><br />oK, got you, one question, do you happen to have a copy of the ES9038 datasheet? I am trying to learn as much as I can how these things work.<br /><br />Thanks,<br />Alex</td></tr></table>2019-07-17T09:47:35-07:002019-07-17T09:47:35-07:00cdeveza<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25716-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25716"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote>No idea what dop is. Some other protocol the dac can decode.<br /><br />By analog power I .mean dac analog power <br /><br />I've never used the is valid functions so you're on your own :there -)<br /><br />Happy programming </div></div><br /><br />oK, got you, one question, do you happen to have a copy of the ES9038 datasheet? I am trying to learn as much as I can how these things work.<br /><br />Thanks,<br />Alex</td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25716:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer_Alt" width="100%"><tr><td>No idea what dop is. Some other protocol the dac can decode.<br /><br />By analog power I .mean dac analog power <br /><br />I've never used the is valid functions so you're on your own :there -)<br /><br />Happy programming </td></tr></table>2019-07-17T07:00:46-07:002019-07-17T07:00:46-07:00Possum<table class="content postContainer_Alt" width="100%"><tr><td>No idea what dop is. Some other protocol the dac can decode.<br /><br />By analog power I .mean dac analog power <br /><br />I've never used the is valid functions so you're on your own :there -)<br /><br />Happy programming </td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25715:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer" width="100%"><tr><td>BTW, in your codes, there is a method called dopValid(), what does "dop" means, what is it used for? <br /><br />One thing I dont quite understand is that, i2sValid() will tell you whether the signal is coming from I2S, right? but dsdValid(), I guess will tell me if its DSD and if its not, then its PCM, does that make sense? so I guess, check for i2sValid() first, then if it succeed, then check if its dsd or not?? is that right?<br /><br />Alex<br /></td></tr></table>2019-07-17T03:50:22-07:002019-07-17T03:50:22-07:00cdeveza<table class="content postContainer" width="100%"><tr><td>BTW, in your codes, there is a method called dopValid(), what does "dop" means, what is it used for? <br /><br />One thing I dont quite understand is that, i2sValid() will tell you whether the signal is coming from I2S, right? but dsdValid(), I guess will tell me if its DSD and if its not, then its PCM, does that make sense? so I guess, check for i2sValid() first, then if it succeed, then check if its dsd or not?? is that right?<br /><br />Alex<br /></td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25714:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25713-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25713"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br /> I have also accidentally powered analog directly with 5v from the DIYINHK with no ill effects :-) (and it still sounded better than the AVCC SR regulator running off of VC) - so the dac analog stage doesn't seem too fussy about the voltage<br /></div></div><br /><br />When you say, analog stage, do you mean the I/V stage? I did not mentioned it, but I am not using TP's I/V's stage, I build my own tube I/V stage, it is physically big, but incredible sound.<br /><br /><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25713-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25713"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br />Clock power is the 3.3v XO input (the middle trident). Clean power to the clock can give a noticeable improvement to imaging.<br /></div></div><br /><br />So the one feeding the XO is just one 3.3v, from DIYINK, is that right?<br /><br />Did you say you have separate DIYINK supply to the left and to the right? Both supply feeding the AVCC that goes into the DAC? dont think I follow.<br /><br />"Is there a way to check whether the incoming signal is SPDIF, PCM or DSD?"<br /><br /><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25713-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25713"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br />Yes spdifValid(), i2sValid() and dsdValid() (see caveat on the last function)<br /></div></div><br /><br />Great, excellent. Please let me know when you get done with the implementation of the Sample Rate. I think that<br />should be it.<br /><br /><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25713-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25713"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br />Alternatively, turn off AutoSelect in all cases and use InputSelect to explicitly switch between the 3 options (and you can even add other SPDIF sources if you wish using the spare GPIO pins or an OTTO II for multiple I2S/DSD) - then use automuted() to check whether there is a valid corresponding signal<br /></div></div><br /><br />I have actually have 3 sources. 1 SPDIF and 2 I2S/DSD. I am using OTTO II to switch between the 2 I2S/DSD.<br />My I2S/DSD sources are from my SDTrans384 sd player and from Raspberry pi. The best sound so far that I found<br />is from the SDTrans384. Nobody believes me when I say that a ripped Wav file from a CD into an SD Card and <br />played through my SDTrans384, sounded better than the actual CD or SACD played through my SONY 5400 player.<br /><br />I have been looking for a CD/SACD player that has an I2S/DSD output, but could not find one. That would be great.<br /><br />Thanks again for all your help,<br />Alex<br /></td></tr></table>2019-07-17T02:58:11-07:002019-07-17T02:58:11-07:00cdeveza<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25713-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25713"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br /> I have also accidentally powered analog directly with 5v from the DIYINHK with no ill effects :-) (and it still sounded better than the AVCC SR regulator running off of VC) - so the dac analog stage doesn't seem too fussy about the voltage<br /></div></div><br /><br />When you say, analog stage, do you mean the I/V stage? I did not mentioned it, but I am not using TP's I/V's stage, I build my own tube I/V stage, it is physically big, but incredible sound.<br /><br /><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25713-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25713"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br />Clock power is the 3.3v XO input (the middle trident). Clean power to the clock can give a noticeable improvement to imaging.<br /></div></div><br /><br />So the one feeding the XO is just one 3.3v, from DIYINK, is that right?<br /><br />Did you say you have separate DIYINK supply to the left and to the right? Both supply feeding the AVCC that goes into the DAC? dont think I follow.<br /><br />"Is there a way to check whether the incoming signal is SPDIF, PCM or DSD?"<br /><br /><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25713-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25713"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br />Yes spdifValid(), i2sValid() and dsdValid() (see caveat on the last function)<br /></div></div><br /><br />Great, excellent. Please let me know when you get done with the implementation of the Sample Rate. I think that<br />should be it.<br /><br /><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25713-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25713"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote><br />Alternatively, turn off AutoSelect in all cases and use InputSelect to explicitly switch between the 3 options (and you can even add other SPDIF sources if you wish using the spare GPIO pins or an OTTO II for multiple I2S/DSD) - then use automuted() to check whether there is a valid corresponding signal<br /></div></div><br /><br />I have actually have 3 sources. 1 SPDIF and 2 I2S/DSD. I am using OTTO II to switch between the 2 I2S/DSD.<br />My I2S/DSD sources are from my SDTrans384 sd player and from Raspberry pi. The best sound so far that I found<br />is from the SDTrans384. Nobody believes me when I say that a ripped Wav file from a CD into an SD Card and <br />played through my SDTrans384, sounded better than the actual CD or SACD played through my SONY 5400 player.<br /><br />I have been looking for a CD/SACD player that has an I2S/DSD output, but could not find one. That would be great.<br /><br />Thanks again for all your help,<br />Alex<br /></td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25713:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer" width="100%"><tr><td>"So, this is more like, a dual regulator? DIYINK regulates the supply and the regulated supply is fed into another regulator, AVCC? is that right?"<br /><br />Yep - but I have also accidentally powered analog directly with 5v from the DIYINHK with no ill effects :-) (and it still sounded better than the AVCC SR regulator running off of VC) - so the dac analog stage doesn't seem too fussy about the voltage<br /><br />Clock power is the 3.3v XO input (the middle trident). Clean power to the clock can give a noticeable improvement to imaging.<br /><br /><br />"Is there a way to check whether the incoming signal is SPDIF, PCM or DSD?"<br /><br />Yes spdifValid(), i2sValid() and dsdValid() (see caveat on the last function)<br /><br />Alternatively, turn off AutoSelect in all cases and use InputSelect to explicitly switch between the 3 options (and you can even add other SPDIF sources if you wish using the spare GPIO pins or an OTTO II for multiple I2S/DSD) - then use automuted() to check whether there is a valid corresponding signal</td></tr></table>2019-07-16T10:02:32-07:002019-07-16T10:02:32-07:00Possum<table class="content postContainer" width="100%"><tr><td>"So, this is more like, a dual regulator? DIYINK regulates the supply and the regulated supply is fed into another regulator, AVCC? is that right?"<br /><br />Yep - but I have also accidentally powered analog directly with 5v from the DIYINHK with no ill effects :-) (and it still sounded better than the AVCC SR regulator running off of VC) - so the dac analog stage doesn't seem too fussy about the voltage<br /><br />Clock power is the 3.3v XO input (the middle trident). Clean power to the clock can give a noticeable improvement to imaging.<br /><br /><br />"Is there a way to check whether the incoming signal is SPDIF, PCM or DSD?"<br /><br />Yes spdifValid(), i2sValid() and dsdValid() (see caveat on the last function)<br /><br />Alternatively, turn off AutoSelect in all cases and use InputSelect to explicitly switch between the 3 options (and you can even add other SPDIF sources if you wish using the spare GPIO pins or an OTTO II for multiple I2S/DSD) - then use automuted() to check whether there is a valid corresponding signal</td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25712:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25711-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25711"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote>I can recommend the DIYINHK regulators (its what I use). Get the LDO regulator of course. It contains 2 5v/3.3v regs on the one board. You can power left and right separately (this is what ESS recommend to achieve best results)</div></div><br /><br />I am not sure if you are familiar with this SD player, called SDTrans384, from japan, this is my main I2S music source. I actually got it powered by one of those DIYINK power supply with the 5v/3.3v, just like you said, that is why I mentioned it, just not sure if they are good enough for the DAC. Anyways, so if I understand you correctly, its the regulator on top of the ESS9038 chip, right? if so, I noticed that russ spec them at 3.6v not 3.3v.<br /><br /></div></div>I would also recommend separate clean power to the clock</div></div><br /><br />I am not sure where this is?<br /><br /></div></div><br />I use a DIYINHK dual reg with its own dual winding toroid xformer with one 3.3V reg powering the clock and the other reg at 5V powering a modified TP AVCC SR which has its input pins connected to the DIYINHK 5V reg instead of the DAC board<br /></div></div><br /><br />So, this is more like, a dual regulator? DIYINK regulates the supply and the regulated supply is fed into another regulator, AVCC? is that right?<br /><br /></div></div><br />Sure, I'll add sample rate. I don't have displays on my builds, but I am adding IoT support using MQTT messaging so I can control and view status via an android app - so I will have a means to display sample rate myself :-)<br /></div></div><br /><br />Is there a way to check whether the incoming signal is SPDIF, PCM or DSD? does that make sense? then display its sample rate. This will be very good to have. If it can be done.<br /><br /></div></div><br />As your source is DSD you will need to use setDpllBandwidthDSD (just set both Serial and DSD to the same value - this is what Russ's firmware does)</div></div><br /><br />Noted<br /><br />Thanks for all the tip possum. I am still working on my controller, the power supply will be next.<br /><br />Regards,<br />Alex<br /><br /></td></tr></table>2019-07-16T08:35:10-07:002019-07-16T08:35:10-07:00cdeveza<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Originally Posted by: Possum <a href="/forum/posts/m25711-NEW--Arduino-class-library-for-the-ES9028-38-chip#post25711"><img src="/forum/Themes/GreyGrey/icon_latest_reply.png" title="Go to Quoted Post" alt="Go to Quoted Post" /></a></span><blockquote>I can recommend the DIYINHK regulators (its what I use). Get the LDO regulator of course. It contains 2 5v/3.3v regs on the one board. You can power left and right separately (this is what ESS recommend to achieve best results)</div></div><br /><br />I am not sure if you are familiar with this SD player, called SDTrans384, from japan, this is my main I2S music source. I actually got it powered by one of those DIYINK power supply with the 5v/3.3v, just like you said, that is why I mentioned it, just not sure if they are good enough for the DAC. Anyways, so if I understand you correctly, its the regulator on top of the ESS9038 chip, right? if so, I noticed that russ spec them at 3.6v not 3.3v.<br /><br /></div></div>I would also recommend separate clean power to the clock</div></div><br /><br />I am not sure where this is?<br /><br /></div></div><br />I use a DIYINHK dual reg with its own dual winding toroid xformer with one 3.3V reg powering the clock and the other reg at 5V powering a modified TP AVCC SR which has its input pins connected to the DIYINHK 5V reg instead of the DAC board<br /></div></div><br /><br />So, this is more like, a dual regulator? DIYINK regulates the supply and the regulated supply is fed into another regulator, AVCC? is that right?<br /><br /></div></div><br />Sure, I'll add sample rate. I don't have displays on my builds, but I am adding IoT support using MQTT messaging so I can control and view status via an android app - so I will have a means to display sample rate myself :-)<br /></div></div><br /><br />Is there a way to check whether the incoming signal is SPDIF, PCM or DSD? does that make sense? then display its sample rate. This will be very good to have. If it can be done.<br /><br /></div></div><br />As your source is DSD you will need to use setDpllBandwidthDSD (just set both Serial and DSD to the same value - this is what Russ's firmware does)</div></div><br /><br />Noted<br /><br />Thanks for all the tip possum. I am still working on my controller, the power supply will be next.<br /><br />Regards,<br />Alex<br /><br /></td></tr></table>urn:twistedpearaudio-com:ftPosts:st1:meid25711:1NEW! Arduino class library for the ES9028/38 chip<table class="content postContainer" width="100%"><tr><td>I can recommend the DIYINHK regulators (its what I use). Get the LDO regulator of course. It contains 2 5v/3.3v regs on the one board. You can power left and right separately (this is what ESS recommend to achieve best results)<br /><br />I would also recommend separate clean power to the clock<br /><br />I use a DIYINHK dual reg with its own dual winding toroid xformer with one 3.3V reg powering the clock and the other reg at 5V powering a modified TP AVCC SR which has its input pins connected to the DIYINHK 5V reg instead of the DAC board<br /><br /><br />Sure, I'll add sample rate. I don't have displays on my builds, but I am adding IoT support using MQTT messaging so I can control and view status via an android app - so I will have a means to display sample rate myself :-)<br /><br />As your source is DSD you will need to use setDpllBandwidthDSD (just set both Serial and DSD to the same value - this is what Russ's firmware does)</td></tr></table>2019-07-16T00:56:15-07:002019-07-16T00:56:15-07:00Possum<table class="content postContainer" width="100%"><tr><td>I can recommend the DIYINHK regulators (its what I use). Get the LDO regulator of course. It contains 2 5v/3.3v regs on the one board. You can power left and right separately (this is what ESS recommend to achieve best results)<br /><br />I would also recommend separate clean power to the clock<br /><br />I use a DIYINHK dual reg with its own dual winding toroid xformer with one 3.3V reg powering the clock and the other reg at 5V powering a modified TP AVCC SR which has its input pins connected to the DIYINHK 5V reg instead of the DAC board<br /><br /><br />Sure, I'll add sample rate. I don't have displays on my builds, but I am adding IoT support using MQTT messaging so I can control and view status via an android app - so I will have a means to display sample rate myself :-)<br /><br />As your source is DSD you will need to use setDpllBandwidthDSD (just set both Serial and DSD to the same value - this is what Russ's firmware does)</td></tr></table>