<?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 Reduce Current with UART?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/69102/how-to-reduce-current-with-uart</link><description>Hello Guys, 
 
 I&amp;#39;m developing the battery based device. It consisted of nRF52833 and a UART device. 
 The UART device send 512 bytes each second to nRF52833. 
 
 The project is based of ble_peripheral/ble_app_uart. It used NUS. Anyway It works good.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 11 Dec 2020 09:34:06 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/69102/how-to-reduce-current-with-uart" /><item><title>RE: How to Reduce Current with UART?</title><link>https://devzone.nordicsemi.com/thread/284457?ContentTypeID=1</link><pubDate>Fri, 11 Dec 2020 09:34:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:293b6b36-9e89-4e53-be59-868c887a9cd3</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi HyunSuk&lt;/p&gt;
&lt;p&gt;Sounds good, just let me know when you have more questions.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to Reduce Current with UART?</title><link>https://devzone.nordicsemi.com/thread/284284?ContentTypeID=1</link><pubDate>Thu, 10 Dec 2020 10:32:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3757a7cc-2db7-42ee-a809-045c8fdda6fb</guid><dc:creator>HyunSuk</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks for your guide.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll try things.&amp;nbsp; It will take a few days and ask again.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;HyunSuk Lee&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to Reduce Current with UART?</title><link>https://devzone.nordicsemi.com/thread/284254?ContentTypeID=1</link><pubDate>Thu, 10 Dec 2020 08:49:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:713ca70d-3724-4117-93b6-cc753bc547cd</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
[quote user="HyunSuk"]It&amp;#39;s mean that call &lt;em&gt;sd_power_dcdc_mode_set()&lt;/em&gt; after the call to ble_stack_init(). Is it right?&amp;nbsp;[/quote]
&lt;p&gt;Yes, you can use this function to enable the DCDC regulator.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please be aware that you need a couple of additional passive components on your board in order to use the DCDC.&amp;nbsp;&lt;/p&gt;
[quote user="HyunSuk"]Can both inputs come in at the same time for RX operation in the RX disable mode - GPIO and UART RX of nRF52?[/quote]
&lt;p&gt;No, it will take some time for the nRF device to enable the UART, so the interrupt pin should be set some time before you start sending data over the UART.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Exactly how much before is hard to say, you need to do some testing to see what works, but I expect somewhere in the 10us to 100us range should work OK.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Also, I would not recommend disabling and enabling the UART directly through the register. The UART driver you are using should have its own functions to disable and enable the UART.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to Reduce Current with UART?</title><link>https://devzone.nordicsemi.com/thread/283929?ContentTypeID=1</link><pubDate>Wed, 09 Dec 2020 00:15:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8edfbc24-1864-42b1-97cc-95ab7337fcde</guid><dc:creator>HyunSuk</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;In order to reduce it further you might want to enable the DCDC regulator,&amp;nbsp;...&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It&amp;#39;s mean that call &lt;em&gt;sd_power_dcdc_mode_set()&lt;/em&gt; after the call to ble_stack_init(). Is it right?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The code below is pseudo code for enable/disable UART.&amp;nbsp; The external UART device set high to the specific gpio before sending data. Can both inputs come in at the same time for RX operation in the RX disable mode - GPIO and UART RX of nRF52?&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;void uart_rx_disable(void)
{
    NRF_UART0-&amp;gt;TASKS_STOPRX = 1;
}

void uart_tx_disable(void)
{
    NRF_UART0-&amp;gt;TASKS_STOPTX = 1;
}

void uart_tx_data(uint8_t *p_data, uint16_t length)
{
    NRF_UART0-&amp;gt;TASKS_STARTTX = 1;
    // Send Data Code ...
}

void interrupt_gpio_for_uart_rx(void)
{
    NRF_UART0-&amp;gt;TASKS_STARTRX = 1;
}&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;HyunSuk Lee&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to Reduce Current with UART?</title><link>https://devzone.nordicsemi.com/thread/283892?ContentTypeID=1</link><pubDate>Tue, 08 Dec 2020 16:31:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c59af31d-ec08-46f2-954a-4f7ce17de678</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;If you comment out uart_init() in the main function of the ble_app_uart example you should see the average current consumption drop by a significant amount.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In order to reduce it further you might want to enable the DCDC regulator, and to increase the BLE advertising interval.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you use the &lt;a href="https://devzone.nordicsemi.com/nordic/power/w/opp/2/online-power-profiler-for-ble"&gt;Online Power Profiler&lt;/a&gt; you can see how much average current you should expect based on the advertising interval of the Bluetooth stack.&amp;nbsp;&lt;/p&gt;
[quote user="HyunSuk"]1) Is it the best &lt;span&gt;consumption&amp;nbsp;&lt;/span&gt;1mA in NUS example ?[/quote]
&lt;p&gt;If you keep the UART enabled then the current consumption will be somewhere above 1mA, yes. As I mentioned above it should be less if you disable the UART.&amp;nbsp;&lt;/p&gt;
[quote user="HyunSuk"]2) Is it possible to disable UART part with TX and RX in the ADV mode? Just enabling UART parts on running each TX or RX.[/quote]
&lt;p&gt;I am not sure what you mean. You mean you want to wait enabling UART until you establish a Bluetooth connection with a device?&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to Reduce Current with UART?</title><link>https://devzone.nordicsemi.com/thread/283673?ContentTypeID=1</link><pubDate>Mon, 07 Dec 2020 23:22:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bc65ad23-b924-46fb-aa32-d393e5df10c5</guid><dc:creator>HyunSuk</dc:creator><description>&lt;p&gt;Hi &lt;span&gt;Torbj&amp;oslash;rn&lt;/span&gt;,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not using flow control and have not interrupt pin.&lt;/p&gt;
&lt;p&gt;I want to know what is the best consumption of current.&lt;/p&gt;
&lt;p&gt;The NUS example(ble_app_uart) had consumed 1.1 mA the average.&amp;nbsp; You say that the average current could reduce 100uA, when disabled RX of UART.&amp;nbsp; I&amp;#39;ll try it with a interrupt pin and thanks for letting me know.&amp;nbsp; &amp;nbsp;Are there another things for reducing the current?&amp;nbsp; My device is using a&amp;nbsp; CR2032 battery.&lt;/p&gt;
&lt;p&gt;The beacon example&amp;#39;s consumption is 20~30uA,&lt;/p&gt;
&lt;p&gt;1) Is it the best &lt;span&gt;consumption&amp;nbsp;&lt;/span&gt;1mA in NUS example ?&lt;/p&gt;
&lt;p&gt;2) Is it possible to disable UART part with TX and RX in the ADV mode? Just enabling UART parts on running each TX or RX.&lt;/p&gt;
&lt;p&gt;Please let me advice more.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;HyunSuk Lee&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to Reduce Current with UART?</title><link>https://devzone.nordicsemi.com/thread/283520?ContentTypeID=1</link><pubDate>Mon, 07 Dec 2020 11:40:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6253020c-b79c-4ded-938b-1eb56341d2b9</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Are you using flow control for the UART, or some kind of interrupt pin to inform the nRF5 device that data is about to be sent from the connected device?&lt;/p&gt;
&lt;p&gt;Whenever the UART is active in RX mode it will draw quite a lot of current, definitely more than 100uA, so unless you have some way to disable the UART RX when there is no data to be received then the average current consumption will easily be 1mA or more.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>