<?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>How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/120889/how-to-achieve-nrf52840-esb-maximum-data-rate</link><description>As part of a university project I am trying to read an analog signal and transmit it at the maximum data rate over ESB. But I cant seem to get above 1700kbps without any of my payload writes failing. I have disabled acking, I am using the highest bitrate</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 06 Aug 2026 08:42:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/120889/how-to-achieve-nrf52840-esb-maximum-data-rate" /><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/569954?ContentTypeID=1</link><pubDate>Thu, 06 Aug 2026 08:42:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6f094435-6cd1-4c44-8132-7c12a2f1c9fb</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi Stefan,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank you so much, I will look into your ticket.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/569953?ContentTypeID=1</link><pubDate>Thu, 06 Aug 2026 08:26:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1ffe869c-9f62-4022-b52e-c0bb8979a494</guid><dc:creator>Stefan Schmidt</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;H&amp;aring;kon,&lt;/p&gt;
&lt;p&gt;I have opened a new ticket:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/128890/esb---net-datarate-with-2-mbit-s-on-air-data-rate"&gt;ESB - net datarate with 2 MBit/s on-air data rate&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Stefan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/569801?ContentTypeID=1</link><pubDate>Mon, 03 Aug 2026 12:22:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:44ba8004-b8a6-43bd-be8b-5d4b67c641cd</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi Stefan,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user="Stefan Schmidt"]&amp;quot;I am seeing&amp;nbsp;219240 byte per second, which is&amp;nbsp;1753920 bit/s (1712 kBit/s).&amp;quot;[/quote]
&lt;p&gt;This test-case is with 2 MBit/s on-air data rate (on a nRF52840), as nRF54-series devices are the only ones that supports 4 Mbit mode.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I measured approx. 3.2 MBit/s with 4 Mbit on-air data rate.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Stefan Schmidt"]Do you still have the configuration and the code for this?[/quote]
&lt;p&gt;No, unfortunately. However; it should not be a large problem to recreate this scenario. You will need to disable logging and serial, try to use boolean flags instead of mutex/semaphores for less overhead, and continuously call the esb_write_payload() function.&lt;/p&gt;
&lt;p&gt;I use a simple counter incremented for each received/sent payload, and a 1 second timer that checks this byte/payload counter based on the previous state.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can you please create a dedicated thread with your issue, and please share your test-case scenario in this dedicated thread?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/569796?ContentTypeID=1</link><pubDate>Mon, 03 Aug 2026 11:49:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1fba8505-8a20-4e62-8cb3-6d9822706834</guid><dc:creator>Stefan Schmidt</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I am setting&amp;nbsp;&lt;/p&gt;
&lt;div style="background-color:#121314;color:#bbbebf;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;tx_payload&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.pipe &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;0&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;tx_payload&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.length &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;sizeof&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;audio_message_t&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;tx_payload&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.noack &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;true&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;before I use this structure here&lt;/p&gt;
&lt;div style="background-color:#121314;color:#bbbebf;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#8b949e;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* Send package. */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#d2a8ff;"&gt;memcpy&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;tx_payload&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.data, &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;message&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;, &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;sizeof&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;audio_message_t&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff7b72;"&gt;int&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;rc&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d2a8ff;"&gt;esb_write_payload&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;tx_payload&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I will go through the raw bit calculation once again. I was just wondering that I need the 4 MBit air-bitrate to push over my&amp;nbsp;1.536.000 (plus a my sequence counter and the header stuff) to the receiver.&lt;/p&gt;
&lt;p&gt;In a response above you mentioned:&lt;br /&gt;&amp;quot;I am seeing&amp;nbsp;219240 byte per second, which is&amp;nbsp;1753920 bit/s (1712 kBit/s).&amp;quot;&lt;/p&gt;
&lt;p&gt;Do you still have the configuration and the code for this?&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Stefan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/569794?ContentTypeID=1</link><pubDate>Mon, 03 Aug 2026 11:41:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3a2c4c7-d115-4583-9d89-4d30af515a31</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please see the very first response on how to&amp;nbsp;setup the .noack functionality:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/120889/how-to-achieve-nrf52840-esb-maximum-data-rate/532352"&gt;RE: How to achieve NRF52840 ESB Maximum data rate&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;H&amp;aring;kon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/569793?ContentTypeID=1</link><pubDate>Mon, 03 Aug 2026 11:30:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:94088249-225c-4aa6-b85c-f1b294a8d112</guid><dc:creator>Stefan Schmidt</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;H&amp;aring;kon,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;thank you for your response. I chose to extend this thread as it fitted perfectly to what I was looking for. I hate to jump from post to post (sometimes they are not even linked) to find an answer.&lt;/p&gt;
&lt;p&gt;I tried to enable TX only by setting&lt;/p&gt;
&lt;div style="background-color:#121314;color:#bbbebf;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; esb_config.mode &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; ESB_MODE_PTX;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;in the configuration. What else should I do to disable any RX and acknowledging?&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Stefan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/569786?ContentTypeID=1</link><pubDate>Mon, 03 Aug 2026 09:02:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d1a10a45-0d79-48db-958c-77cc41c1b115</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi Stefan,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Looks like you are using auto-ACKing, which will be a TX-&amp;gt;RX transition, which will take a bit more time on-air.&lt;/p&gt;
&lt;p&gt;TX timing is approx. 40 + 2*(66 + ~10 bytes overhead) -&amp;gt; 192 us, so 320 us in total is not that farfetched, especially if you are using ACK payload as well.&lt;/p&gt;
&lt;p&gt;Try testing with a larger on-air payload, ie. 66*3 bytes, and see if you get a more acceptable overall throughput.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;PS: you have posted in a older thread. If you still see issues,&amp;nbsp;I would recommend that you create a dedicated thread on this matter.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/569422?ContentTypeID=1</link><pubDate>Thu, 23 Jul 2026 15:10:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6268b70b-c7df-4709-8c85-25b105dedbd3</guid><dc:creator>Stefan Schmidt</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;could you please provide the prj.conf for those tests? I am using a nRF54L15dk, sending 66 bytes every 320&amp;micro;s and this is pretty much all I can achieve.&lt;/p&gt;
&lt;p&gt;This is my prj.conf:&lt;/p&gt;
&lt;div style="background-color:#121314;color:#bbbebf;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_NCS_SAMPLES_DEFAULTS&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_ESB&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_DK_LIBRARY&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_CLOCK_CONTROL&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_ESB_MAX_PAYLOAD_LENGTH&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=252&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_ESB_TX_FIFO_SIZE&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=2&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_ESB_RX_FIFO_SIZE&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#8b949e;"&gt;#CONFIG_ESB_NEVER_DISABLE_TX=y&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#8b949e;"&gt;# Gdb related configs&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_DEBUG_INFO&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_DEBUG_THREAD_INFO&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#8b949e;"&gt;# gcc setting&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_DEBUG_OPTIMIZATIONS&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_LOG_MODE_DEFERRED&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#ff7b72;"&gt;CONFIG_ESB_MAX_PAYLOAD_LENGTH&lt;/span&gt;&lt;span style="color:#bbbebf;"&gt;=66&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When I enable&amp;nbsp;CONFIG_ESB_NEVER_DISABLE_TX=y the transmission crashes immediately.&lt;br /&gt;&lt;br /&gt;This is my esb_init&lt;/p&gt;
&lt;div style="background-color:#121314;color:#bbbebf;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff7b72;"&gt;struct&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;ESB_DEFAULT_CONFIG&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#8b949e;"&gt;&amp;nbsp; &amp;nbsp; /* PTX Mode, only send. */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;protocol&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; ESB_PROTOCOL_ESB_DPL;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;mode&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff;"&gt;ESB_MODE_PTX&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;bitrate&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; ESB_BITRATE_4MBPS;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;crc&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; ESB_CRC_OFF;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;use_fast_ramp_up&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;true&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;payload_length&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;sizeof&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;audio_message_t&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#8b949e;"&gt;&amp;nbsp; &amp;nbsp; /* No Ack, no retransmit. */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;retransmit_count&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;0&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;retransmit_delay&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;0&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;selective_auto_ack&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;true&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#8b949e;"&gt;&amp;nbsp; &amp;nbsp; /* TX mode. */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;tx_mode&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#79c0ff;"&gt;ESB_TXMODE_AUTO&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;event_handler&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d2a8ff;"&gt;event_handler&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;rc&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d2a8ff;"&gt;esb_init&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;esb_config&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;and this is the feeding of data into the esb:&lt;/p&gt;
&lt;div style="background-color:#121314;color:#bbbebf;font-family:Consolas, &amp;#39;Courier New&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#d2a8ff;"&gt;k_sem_take&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;tx_sem, K_FOREVER);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style="color:#8b949e;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* Send package. */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#d2a8ff;"&gt;memcpy&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;tx_payload&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;.&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;data&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;, &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;message&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;, &lt;/span&gt;&lt;span style="color:#569cd6;"&gt;sizeof&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#4ec9b0;"&gt;audio_message_t&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#ff7b72;"&gt;int&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;rc&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;=&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d2a8ff;"&gt;esb_write_payload&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;tx_payload&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c586c0;"&gt;if&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; (&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;rc&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#d2a8ff;"&gt;dk_set_led&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;PACKET_HANDOVER_ERROR&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;, &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;1&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &lt;/span&gt;&lt;span style="color:#c586c0;"&gt;else&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c586c0;"&gt;if&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; (&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;packets_handed_over&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;%&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;2&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#d2a8ff;"&gt;dk_set_led&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;PACKET_HANDOVER&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;, &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;0&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &lt;/span&gt;&lt;span style="color:#c586c0;"&gt;else&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#d2a8ff;"&gt;dk_set_led&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;(&lt;/span&gt;&lt;span style="color:#569cd6;"&gt;PACKET_HANDOVER&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;, &lt;/span&gt;&lt;span style="color:#b5cea8;"&gt;1&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#c9d1d9;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;packets_handed_over&lt;/span&gt;&lt;span style="color:#d4d4d4;"&gt;++&lt;/span&gt;&lt;span style="color:#c9d1d9;"&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Can you see anything stupid here?&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Stefan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/533858?ContentTypeID=1</link><pubDate>Mon, 05 May 2025 07:49:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1a981561-02e0-4f9a-a8fa-d41066ac3f45</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Great to hear!&lt;/p&gt;
&lt;p&gt;I see approx. the same throughput with 4 MBit mode.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/533736?ContentTypeID=1</link><pubDate>Fri, 02 May 2025 10:55:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53f04e53-8a00-4e5e-82ad-7db3d6c3195b</guid><dc:creator>JamieHartshorne</dc:creator><description>&lt;p&gt;Just to follow this up, after some very quick testing on the new boards with 4MBIT&amp;nbsp; i could achieve&amp;nbsp;3224 kbps&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/532780?ContentTypeID=1</link><pubDate>Thu, 24 Apr 2025 10:17:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80153c42-1e3a-4d4b-b0ff-92b7b450f2b1</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Happy to help out!&lt;/p&gt;
&lt;p&gt;nRF54L15 can do 4 MBit, so this should help wrt. the overall throughput you need.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/532638?ContentTypeID=1</link><pubDate>Wed, 23 Apr 2025 14:36:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:39f3c177-425a-4c93-8333-619690eb25a9</guid><dc:creator>JamieHartshorne</dc:creator><description>&lt;p&gt;Thanks Hakon, at least I have a sanity check on my results. I have ordered an NRF54L15 which I hope will give me faster rates.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/532635?ContentTypeID=1</link><pubDate>Wed, 23 Apr 2025 14:28:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a7f2c730-5f98-4003-8c45-b084ca900c2a</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Remember that there is processing that is required here as well, in terms of executing ISRs/setting up timers, etc.&lt;/p&gt;
&lt;p&gt;I setup a test, with a 1 second timer interrupt, where I count the amount of bytes sent.&lt;/p&gt;
&lt;p&gt;I am seeing&amp;nbsp;219240 byte per second, which is&amp;nbsp;1753920 bit/s (1712 kBit/s).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A bit less than you report.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/532569?ContentTypeID=1</link><pubDate>Wed, 23 Apr 2025 11:04:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a63ec427-052c-416e-bce8-d13c2d7b9036</guid><dc:creator>JamieHartshorne</dc:creator><description>&lt;p&gt;Hi Hakon, I dont currently have a way to measure the dynamic current, using a regular multimeter and a chopped up usb c able with the XIAO nrf52840 ptx board, i get a current of 19mA at a DC voltage of 5.12V, but i will look into the oscilloscope method listed in the docs, at the moment the maximum data rate is 1727.7kbps when the DK and SEED XIAO nrf52840 are quite close together 5cm? At 1m the data rate drops below 1500kbps. This is still using a 4 byte address.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/532400?ContentTypeID=1</link><pubDate>Tue, 22 Apr 2025 13:59:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e9aede67-f394-428a-955b-46687e769fbb</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="JamieHartshorne"]a friend has been able to achieve rates of 1650kbps using an NRF24L01[/quote]
&lt;p&gt;Yes, but in this case you need to really really fine-tune the setup, by holding the nRF24 in TX for several milliseconds before the carrier drifts (open loop radio design in 24L-series).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you ramp up/down the radio with each TX, you will get approx. 130 is + time-on-air-for-32-byte-user-payload (4 us per byte =&amp;gt; 160 us for 40 bytes),&amp;nbsp;where 900 kBit then is expected.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Just to avoid any confusion around this subject:&lt;/p&gt;
&lt;p&gt;In your current test-case, you need to use nRF52-series or newer devices on both PRX and PTX. With fast ramp-up, you are not backwards compatible with older nRF51- and nRF24-series devices.&lt;/p&gt;
[quote user="JamieHartshorne"]&lt;p&gt;Doing some quick maths, 252 payload + crc byte + 4 prefix/address bytes = 257bytes&lt;/p&gt;
&lt;p&gt;at 2000kbps on air time = 1010.5us, with 40us ramp up, this becomes 1050.5us period or 0.952khz&lt;/p&gt;
&lt;p&gt;0.952*252*8=1919.2 kbits per second theoretically, I am just trying to see where i could find the extra 200 or 100kbps to squeeze every last bit out of the protocol. Again I appreicate your help, I am an embedded novice so I could easily be doing something very simple wrong.&lt;/p&gt;
&lt;p&gt;My code is based on the PRX and PTX examples and has addresses as follows so maybe I am just making the addresses too long?&lt;/p&gt;[/quote]
&lt;p&gt;The full data format will look like this:&lt;/p&gt;
&lt;p&gt;preamble 1 byte + RF address + PCF (packet control field)&amp;nbsp;11&amp;nbsp;&lt;strong&gt;bit&lt;/strong&gt; + user_payload + crc.&lt;/p&gt;
&lt;p&gt;That gives approx. 259 bytes, -&amp;gt; 1036 + 40 us -&amp;gt; 1076 us (0.92937 kHz).&lt;/p&gt;
&lt;p&gt;.92937*252*8 = ~1873 kBit/s.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;That is your theoretical max throughput, provided that your configuration works as you describe.&lt;/p&gt;
&lt;p&gt;What is the range between your prx and ptx? This should be kept approx. 1 meter for testing purposes.&lt;/p&gt;
&lt;p&gt;Have you checked the dynamic current consumption of your PTX device? This should show more-or-less &amp;quot;TX-current&amp;quot; all the time.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/532374?ContentTypeID=1</link><pubDate>Tue, 22 Apr 2025 13:22:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:396d41f8-b842-4cee-9401-92aaf40f08a8</guid><dc:creator>JamieHartshorne</dc:creator><description>&lt;p&gt;Hi Hakon, thanks for your reply. I set .noack equal to 1 before each esb write and I have selective auto ack enabled on the PRX aswell, when i was troubleshooting the issue i tried using 32 byte packets and sending them faster, a friend has been able to achieve rates of 1650kbps using an NRF24L01 and an FPGA with 32 byte packets, but I could only send around 900kbps with that packet size&amp;nbsp;so I&amp;#39;m wondering if the issues are with my configuration/code or if it is just the difference in overhead between the old and new devices. Please let me know if there is any information i can give you to help.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Doing some quick maths, 252 payload + crc byte + 4 prefix/address bytes = 257bytes&lt;/p&gt;
&lt;p&gt;at 2000kbps on air time = 1010.5us, with 40us ramp up, this becomes 1050.5us period or 0.952khz&lt;/p&gt;
&lt;p&gt;0.952*252*8=1919.2 kbits per second theoretically, I am just trying to see where i could find the extra 200 or 100kbps to squeeze every last bit out of the protocol. Again I appreicate your help, I am an embedded novice so I could easily be doing something very simple wrong.&lt;/p&gt;
&lt;p&gt;My code is based on the PRX and PTX examples and has addresses as follows so maybe I am just making the addresses too long?&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;	uint8_t base_addr_0[4] = {0xE7, 0xE7, 0xE7, 0xE7};
	uint8_t base_addr_1[4] = {0xC2, 0xC2, 0xC2, 0xC2};
	uint8_t addr_prefix[8] = {0xE7, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8};&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to achieve NRF52840 ESB Maximum data rate</title><link>https://devzone.nordicsemi.com/thread/532352?ContentTypeID=1</link><pubDate>Tue, 22 Apr 2025 12:52:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:05ce5087-4fa6-4d33-98b3-55beb9287e9f</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You will never reach the throughput equal to the on-air data rate, as there will be overhead in general (addressing, ramp-up etc).&lt;/p&gt;
&lt;p&gt;When you setup your ESB configuration, this needs to match on both PRX and PTX.&lt;/p&gt;
&lt;p&gt;Have you set the .noack member to the struct esb_payload variable that you&amp;#39;re using? To enable noack, you need to set this in the tx_payload variable:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;tx_payload.noack = true;
err = esb_write_payload(&amp;amp;tx_payload);
...&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>