<?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>Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/34013/power-consumption-custom-board-ble</link><description>Hi all, I&amp;#39;m developing a project based on nrf52832 and a custom board, what I want to know is if it&amp;#39;s correct the actual power consumption. 
 The custom board has the following sensors: 
 Accelerometer gyroscope and magnetometer (BMX055 from Bosch: datasheet</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 09 May 2018 12:11:54 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/34013/power-consumption-custom-board-ble" /><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131503?ContentTypeID=1</link><pubDate>Wed, 09 May 2018 12:11:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:03f85537-6d89-4db2-8e27-1ccf98da10e4</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/adrisecmotic"&gt;adrisecmotic&lt;/a&gt;: This multimeter is not accurate enough, you need a DMM that can accuratly average over 1uA to 15mA range.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I recommend that you either get your hands on our &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.tools/dita/tools/power_profiler_kit/PPK_user_guide_Intro.html?cp=5_6"&gt;nRF Power Profiler Kit&lt;/a&gt; or a high-end multimeter/ lab multimeter/Power analyzer.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131489?ContentTypeID=1</link><pubDate>Wed, 09 May 2018 11:41:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f943a16-6137-4e43-927b-1633a1797ac5</guid><dc:creator>adrisecmotic</dc:creator><description>&lt;p&gt;This multimeter:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.electrodh.com/catalogo/ver-item.action?id=2887&amp;amp;d=1"&gt;https://www.electrodh.com/catalogo/ver-item.action?id=2887&amp;amp;d=1&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131464?ContentTypeID=1</link><pubDate>Wed, 09 May 2018 09:27:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:45b08eae-2789-4fb4-bde5-536665c8fc2f</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;That does not sound right at all. Enabling the DCDC should significantly reduce the RADIO TX/RX currents,&amp;nbsp;not lead to an increase of 5,7mA.&lt;/p&gt;
&lt;p&gt;Which multimeter specifically? Do you have a link to the specs of the DMM?&amp;nbsp; Is the dynamic range of the&amp;nbsp;DMM is wide enough to give accurate measurements from 1 µA&lt;br /&gt;to 15 mA?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131459?ContentTypeID=1</link><pubDate>Wed, 09 May 2018 08:58:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a4eab46b-bbdf-4c2e-8eb4-2f407fdd2b1f</guid><dc:creator>adrisecmotic</dc:creator><description>&lt;p&gt;Enabling DCDC mode consumption increase up to 8mA&lt;/p&gt;
&lt;p&gt;I&amp;#39;m measuring the current with a multimeter&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131458?ContentTypeID=1</link><pubDate>Wed, 09 May 2018 08:57:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c2c7035c-5385-4c0b-9b62-636217861aa1</guid><dc:creator>adrisecmotic</dc:creator><description>&lt;p&gt;EASY_DMA are both disabled, and yes, nRF52 goes to sleep when power_manage()&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131320?ContentTypeID=1</link><pubDate>Tue, 08 May 2018 08:59:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:465781e9-3025-49e1-ba28-54c11484b467</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/hmolesworth"&gt;hmolesworth&lt;/a&gt;: Yes, enabling the DCDC will lower the RADIO TX and RX currents.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/adrisecmotic"&gt;adrisecmotic&lt;/a&gt;: How are you measuring the current consumption, i.e. whats your setup?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131253?ContentTypeID=1</link><pubDate>Mon, 07 May 2018 15:23:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da50e814-179a-482e-8a51-a6e4ebc3365c</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;If not already doing so - and the default in examples is not - switch from the LDO regulator to the DC-DC convertor, assuming of course you have the correct external components fitted (or are using a module such as Rigado BMD-350 which has these). This may give you the improvement you require; also note that using the internal DC-DC (which generates 1.3 volts) you may no longer require an external regulator and can connect Vdd direct to a coin cell provided the peripherals share Vdd or have level shifters.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;   // DC-DC power supply enable, saves about xmA at 2.7 volts battery over using intenal LDO regulator
   nrf_power_dcdcen_set(true);
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131242?ContentTypeID=1</link><pubDate>Mon, 07 May 2018 14:57:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ab4c28fd-3067-43cb-ae36-82170cdaecdf</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Ok, you&amp;#39;ll just have to keep those functions in.&amp;nbsp; I can&amp;#39;t see any thing in the&amp;nbsp;interrupt_init() function would lead to a 2.3mA current consumption.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Are you using the TWI and SPI peripherals with DMA, i.e. you have checked&amp;nbsp;SPIx_USE_EASY_DMA or TWIx_USE_EASY_DMA 0 ? See,&amp;nbsp; &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/33957/easydma-current-consumption/130524#130524"&gt;devzone.nordicsemi.com/.../130524&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also are you able to verify that the nRF52 actually goes to sleep when you call the power_manage function and not wakes up immediatly after? You could for instance toggle a pin right after power_manage() and monitor this when you&amp;#39;re connected. The pin should then only toogle on every connection interval if you do not have any other interrupts waking up the CPU.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131137?ContentTypeID=1</link><pubDate>Mon, 07 May 2018 08:18:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:46f2d3cf-db97-4cca-b101-aea228c8115b</guid><dc:creator>adrisecmotic</dc:creator><description>&lt;p&gt;If I comment that code, the sensors are in normal mode, and it consumes about 20mA, I&amp;#39;ve tested the blinky example and that is the consumption.&lt;/p&gt;
&lt;p&gt;Unfortunately, I haven&amp;#39;t got that kind of board.&lt;/p&gt;
&lt;p&gt;-------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Interrupt function:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;void interrupt_init(void){&lt;/p&gt;
&lt;p&gt;lfclk_config();&lt;br /&gt; app_timer_init();&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;lfclk_config():&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;static void lfclk_config(void)&lt;br /&gt;{&lt;br /&gt; ret_code_t err_code = nrf_drv_clock_init();&lt;br /&gt; if (err_code!=NRF_SUCCESS){&lt;br /&gt; &lt;br /&gt; err_code = nrf_drv_clock_init();&lt;br /&gt; nrf_delay_ms(5);&lt;br /&gt; &lt;br /&gt; } &lt;br /&gt; &lt;br /&gt; nrf_drv_clock_lfclk_request(NULL);&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;app_timer_init():&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ret_code_t app_timer_init(void)&lt;br /&gt;{&lt;br /&gt; // Stop RTC to prevent any running timers from expiring (in case of reinitialization)&lt;br /&gt; rtc1_stop();&lt;/p&gt;
&lt;p&gt;// Initialize operation queue&lt;br /&gt; m_op_queue.first = 0;&lt;br /&gt; m_op_queue.last = 0;&lt;br /&gt; m_op_queue.size = APP_TIMER_CONFIG_OP_QUEUE_SIZE+1;&lt;/p&gt;
&lt;p&gt;mp_timer_id_head = NULL;&lt;br /&gt; m_ticks_elapsed_q_read_ind = 0;&lt;br /&gt; m_ticks_elapsed_q_write_ind = 0;&lt;/p&gt;
&lt;p&gt;#if APP_TIMER_WITH_PROFILER&lt;br /&gt; m_max_user_op_queue_utilization = 0;&lt;br /&gt;#endif&lt;/p&gt;
&lt;p&gt;NVIC_ClearPendingIRQ(SWI_IRQn);&lt;br /&gt; NVIC_SetPriority(SWI_IRQn, SWI_IRQ_PRI);&lt;br /&gt; NVIC_EnableIRQ(SWI_IRQn);&lt;/p&gt;
&lt;p&gt;rtc1_init(APP_TIMER_CONFIG_RTC_FREQUENCY);&lt;/p&gt;
&lt;p&gt;m_ticks_latest = rtc1_counter_get();&lt;/p&gt;
&lt;p&gt;return NRF_SUCCESS;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;-----------------------------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;Lastly, preferred connection interval:&lt;/p&gt;
&lt;p&gt;#define MIN_CONN_INTERVAL MSEC_TO_UNITS(500, UNIT_1_25_MS)&amp;nbsp;&lt;br /&gt;#define MAX_CONN_INTERVAL MSEC_TO_UNITS(1000, UNIT_1_25_MS)&lt;/p&gt;
&lt;p&gt;I also tried with:&lt;/p&gt;
&lt;p&gt;#define MIN_CONN_INTERVAL (uint16_t)(MSEC_TO_UNITS(15, UNIT_1_25_MS))&amp;nbsp;&lt;br /&gt;#define MAX_CONN_INTERVAL (uint16_t)(MSEC_TO_UNITS(100, UNIT_1_25_MS))&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I could send you the whole project to make easier your help.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131035?ContentTypeID=1</link><pubDate>Fri, 04 May 2018 13:45:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:108d9e69-1ef3-407f-9bd2-b7565cf59a55</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;I took a quick look at the datasheets of the sensors, if they&amp;#39;re all in the lowest power state they should contribute with&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Si1133: 0.550uA&lt;/p&gt;
&lt;p&gt;BMX Acc&amp;nbsp; + Gyro + Mag:&amp;nbsp;2.1uA + 5uA + 1uA =&amp;nbsp;&lt;/p&gt;
&lt;p&gt;STC3115:&amp;nbsp; &amp;nbsp;2uA&lt;/p&gt;
&lt;p&gt;---------------------------------------------------------------&lt;br /&gt;Total contribution from Sensors: ~ 11uA&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Just to be certain that its not these sensors that are the culprits, could you comment out all code that refers to these sensors in your main and then redo the measurements? The best case would be if you have a board that is only populated with the nRF52832 and not the sensors. I also see that you call the function interrupt init, could you post the code from that function? I does not seem to be defined in main.c&lt;/p&gt;
&lt;p&gt;Lastly, what kind of preferred connection interval have you configured?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131020?ContentTypeID=1</link><pubDate>Fri, 04 May 2018 12:41:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:78b8f543-20ba-4c28-a621-59440b91e54e</guid><dc:creator>adrisecmotic</dc:creator><description>&lt;p&gt;Done, but the consumption is the same&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131015?ContentTypeID=1</link><pubDate>Fri, 04 May 2018 12:28:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:18dcb5b2-1e81-4e02-9f6d-85ec795cda5f</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;I was asking if you are &lt;strong&gt;de-initalizing&lt;/strong&gt; them before going to sleep. Any peripheral that explicitly enabled before going to sleep will be active during sleep, i.e. if you want the lowest current consumption, then you should initalize the drivers when you wake-up and de-initialize them before you go to sleep.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131013?ContentTypeID=1</link><pubDate>Fri, 04 May 2018 12:25:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fff515d7-872c-4b51-b24b-eb1165c59773</guid><dc:creator>adrisecmotic</dc:creator><description>&lt;p&gt;Hi bjorn-spockeli, yes, they are initialized before that function&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Power consumption custom board, BLE</title><link>https://devzone.nordicsemi.com/thread/131010?ContentTypeID=1</link><pubDate>Fri, 04 May 2018 12:17:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9a0df2df-7a97-4520-9610-c4ec16ef48b6</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Have you de-initialized the I2C and the SPI drivers prior to going to sleep with the power_manage() function?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>