<?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>SPI Always consume about 1 mA on ble</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/41816/spi-always-consume-about-1-ma-on-ble</link><description>Hi!! 
 I changed the example of SDK14.0.0&amp;#39;s ble_app_uart and I am doing low power consumption. 
 I used timer interruption and now I am driving with power consumption of 1.2 ~ 1.4 mA. 
 But my goal is to drive the sensor at around 300 μA. 
 Consumed current</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 09 Jan 2019 10:29:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/41816/spi-always-consume-about-1-ma-on-ble" /><item><title>RE: SPI Always consume about 1 mA on ble</title><link>https://devzone.nordicsemi.com/thread/164677?ContentTypeID=1</link><pubDate>Wed, 09 Jan 2019 10:29:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1248b7ac-eba8-4b4f-a1b8-75b36f162d5e</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;For wakeup times, please refer to this site:&lt;br /&gt;&lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52832.ps.v1.1%2Fpower.html&amp;amp;cp=2_1_0_17_9_1&amp;amp;anchor=unique_744469603"&gt;http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52832.ps.v1.1%2Fpower.html&amp;amp;cp=2_1_0_17_9_1&amp;amp;anchor=unique_744469603&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regarding your current consumption, how did you run your power_manager()? Can I see the bottom of your main() function? Does it go directly into&amp;nbsp;nrf_pwr_mgmt_run() in a for (;;) loop in your main?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;How did you set up your timers? The timers also draw a bit of current, depending on what sort of timer it is.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPI Always consume about 1 mA on ble</title><link>https://devzone.nordicsemi.com/thread/164645?ContentTypeID=1</link><pubDate>Wed, 09 Jan 2019 09:11:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:17eb9220-957a-46d7-8d2d-2143559ea40f</guid><dc:creator>Kaito</dc:creator><description>&lt;p&gt;thank you for your reply!&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;I was able to lower it to 400 &amp;mu;A as a result of taking the average consumed current several times using timer interrupt and power_manager (). But constantly&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;However, we constantly consume about 200 &amp;mu;A of current. Is there any good plan as a way to lower this current consumption?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;what is the rise time from system off mode? Also, is there anything that shows the rise time from system off mode?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;best regards!!&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPI Always consume about 1 mA on ble</title><link>https://devzone.nordicsemi.com/thread/163360?ContentTypeID=1</link><pubDate>Wed, 02 Jan 2019 08:43:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1da89b34-3525-417a-9cca-03b88ecf2cd0</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Yes. It is possible to put the nRF in deep sleep to save some power. Note that this is like turning the chip off, and it will start from the top of your main() function when it wakes up. Also, to wake it up, you need an external interrupt. That is either by a pin interrupt, power on cycle, or an NFC interrupt. You can&amp;#39;t have any timers running while in deep sleep, so you can&amp;#39;t wake up on a timer interrupt.&lt;/p&gt;
&lt;p&gt;It does take some time to wake up from deep sleep, and you have to enable the peripherals, so if you are transmitting every 8ms, I don&amp;#39;t think this would be beneficial.&lt;/p&gt;
&lt;p&gt;If you want to lower your current consumption, you should use the&amp;nbsp;power_manage() function that is used in the ble_app_uart example to make the device go to &amp;quot;not deep&amp;quot; sleep. Then you can wait for timer timeout events.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPI Always consume about 1 mA on ble</title><link>https://devzone.nordicsemi.com/thread/162971?ContentTypeID=1</link><pubDate>Tue, 25 Dec 2018 04:40:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:786d6704-6dcd-4ce9-9f5f-b9be037bf34c</guid><dc:creator>Kaito</dc:creator><description>&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;For low power consumption, I am considering putting it in deep sleep mode when data transmission is not done by SPI communication.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;However, the data transmission interval is as short as 8 milliseconds, during which deep sleep mode is entered. I want to wake up before sending the data and send the next data&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;How long will it take to enter deep sleep mode and get up?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Is it possible to reduce power consumption considerably by putting it in deep sleep mode?&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;best regards!!!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPI Always consume about 1 mA on ble</title><link>https://devzone.nordicsemi.com/thread/162969?ContentTypeID=1</link><pubDate>Tue, 25 Dec 2018 04:23:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:edd99a5b-ae82-4582-8213-c7b5426b9a78</guid><dc:creator>Kaito</dc:creator><description>&lt;p&gt;thank you for your reply!&lt;/p&gt;
&lt;p&gt;sorry,&lt;span lang="en"&gt;I wanted to ask if UART should be stopped :(&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;I put a function to stop the UART before the main loop.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;Even though I do not use UART, UART was enabled.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;In that case, I was able to lower the average current consumption to about 350 &amp;mu;A.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;thank you for your advice!!&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPI Always consume about 1 mA on ble</title><link>https://devzone.nordicsemi.com/thread/162820?ContentTypeID=1</link><pubDate>Fri, 21 Dec 2018 10:57:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1ad43e08-ff26-4167-8c6a-92d68c6ac54b</guid><dc:creator>Edvin</dc:creator><description>[quote user=""]Should UART be overcome for low power consumption?[/quote]
&lt;p&gt;What do you mean with this?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user=""]However, data transmission was not completed.[/quote]
&lt;p&gt;&amp;nbsp;So does the application stop there? Does it continue? Do you receive the SPI data on the other side of the link? Do you receive parts of it?&lt;/p&gt;
&lt;p&gt;Can you check the return values of&amp;nbsp;nrf_drv_spi_transfer()?&lt;/p&gt;
&lt;p&gt;err_code = nrf_drv_spi_transfer();&lt;br /&gt;APP_ERROR_CHECK(err_code);&lt;/p&gt;
&lt;p&gt;This also applies when you initialize the SPI.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The SPI shouldn&amp;#39;t consume this amount of current.&lt;/p&gt;
&lt;p&gt;How do you measure the current consumption?&lt;/p&gt;
&lt;p&gt;Can you try to disable the SPI (not initialize it at all, and don&amp;#39;t use it),&amp;nbsp; does the current consumption go down then? Or could it be something else drawing power? Does your application go to sleep?&lt;/p&gt;
&lt;p&gt;I also see that you use a lot of&amp;nbsp;nrf_delay_us(). This is not really lucky when you are using the softdevice. It can cause asserts if the softdevice misses a time critical event. This could also be the cause of your &amp;quot;data transmission was not completed&amp;quot; issue.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;My main suggestion is to check the return values of the functions that return,&amp;nbsp; such as your spi functions. Also, if the application &amp;quot;stops working&amp;quot;, &amp;quot;crashes&amp;quot;, &amp;quot;freezes&amp;quot;, or &amp;quot;stops advertising&amp;quot;, please define DEBUG in your preprocessor definitions, and watch the log. It is probably an APP_ERROR_CHECK() catching an err_code != NRF_SUCCESS.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>