<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PDM microphone on nrf54l15</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/124062/pdm-microphone-on-nrf54l15</link><description>I am unable to read PDM microphone on my custom board or nrf54l15-dk. 
 
 My environment: 
 - nRF Connect SDK v3.0.2 
 - nrf54l15-dk 
 - custom board with Fanstel BM15C - nrf54l15 CPU 
 - T3902 PDM mic - setup as right channel. 
 
 Using the sample code</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 08 Sep 2025 07:06:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/124062/pdm-microphone-on-nrf54l15" /><item><title>RE: PDM microphone on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/548016?ContentTypeID=1</link><pubDate>Mon, 08 Sep 2025 07:06:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3e900b20-3c25-4e82-948a-4b484512b327</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi Marko,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m glad to hear you found the problem, thank you for the update. Yes, adding the&amp;nbsp;&lt;span&gt;nfct-pins-as-gpios&lt;/span&gt;&lt;span&gt;; property to the uicr node is the correct approach for now even though the 54l does not have a register for this in UICR like the 52/53 series did.&amp;nbsp; We are doing the same in our tests as you can see here:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1757314703224v1.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The&amp;nbsp;NRF_CONFIG_NFCT_PINS_AS_GPIOS flag will be set when you have the&amp;nbsp;&lt;span&gt;nfct-pins-as-gpios property defined in your devictree ensuring that this line is executed on every boot:&amp;nbsp;&lt;a href="https://github.com/zephyrproject-rtos/hal_nordic/blob/54f33f10a0b826174fb145f155afa61ce5a44b93/nrfx/mdk/system_nrf54l.c#L226"&gt;https://github.com/zephyrproject-rtos/hal_nordic/blob/54f33f10a0b826174fb145f155afa61ce5a44b93/nrfx/mdk/system_nrf54l.c#L226&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;Please refer to the pin assigments chapter of the nRF54l15 datasheet for more details:&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/chapters/pin.html"&gt;https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/chapters/pin.html&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;Vidar&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PDM microphone on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/547972?ContentTypeID=1</link><pubDate>Fri, 05 Sep 2025 20:23:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1ab58dad-a2ee-4fb5-8446-346fffdc94f4</guid><dc:creator>Marko_P</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p&gt;1. Well, I accidentaly managed to get my mic to work. The issue was that I used P1.03 pin as clock, and on nrf54l this pin is by default assigned to NFC. So adding this to my DTS file solved the problem:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;&lt;/span&gt;&lt;span&gt;uicr&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; nfct-pins-as-gpios&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Please confirm that this is the correct way to do this&amp;nbsp;&lt;/span&gt;&lt;span&gt;on nrf54l - the dts yaml file talks only about nrf52 and nrf53 chips.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;If so - are there any other pins that need this kind of &amp;quot;let me be normal gpio pin&amp;quot; treatment except for reset pin?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;2. I found the above setting while reading about UICR.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;- Is this setting persistent on nrf54l or does the appropriate startup code need to be executed every time?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;- Is there any high(er) level API for using FICR and UICR or are NRF_UICR and NRF_FICR structs the way to go?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;BR, Marko&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PDM microphone on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/547742?ContentTypeID=1</link><pubDate>Thu, 04 Sep 2025 11:27:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0ae39b8c-69d3-4d7a-9e4a-6370bff1a1ea</guid><dc:creator>Marko_P</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p&gt;Thank you for your response. I already spent a lot of time on this with no result - and the API seems pretty straightforward...&lt;/p&gt;
&lt;p&gt;So:&lt;/p&gt;
&lt;p&gt;- It seems I do not understand then how PDM works - constant low data signal will not produce -32000 and constant high data signal will not produce +32000. Do you know of any online explanation on this subject?&lt;/p&gt;
&lt;p&gt;- I connected logic analyzer to the DK PDM clock pin (running the previously attached sample) to confirm that it is ticking at 400 kHz. It is...&lt;/p&gt;
&lt;p&gt;- On custom board I cannot connect to clock or data pins. But I tried 3 samples of the same board, all behave the same.&lt;/p&gt;
&lt;p&gt;- Can you please confirm that the attached app correctly reads PDM microphone?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So, I need to find somebody able to connect an oscilloscope to traces on the custom board. The other thing I can do is get an evaluation board for the mic and connect it to DK to confirm that my app works.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;BR,&lt;br /&gt;Marko&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: PDM microphone on nrf54l15</title><link>https://devzone.nordicsemi.com/thread/547731?ContentTypeID=1</link><pubDate>Thu, 04 Sep 2025 09:27:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c62d5fd2-997c-463c-8f8f-9a30c251804d</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The reason you don&amp;#39;t see the full scale output (&lt;span data-teams="true"&gt;&amp;nbsp;-32768 or 32768) when tying the input to gnd or vdd is likely because of the decimation filter. I got the same result here as well. However, I think it may be more relevant to look at the output from the mic to understand why the sample value converges to&amp;nbsp;-320. This suggests that the output goes low and remains low. Are you able to confirm this with an oscilloscope or logic analyzer?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-teams="true"&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-teams="true"&gt;Vidar&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>