The best way to save energy in an application

Hi,
I am developing an application that includes the following features:
1. PWM to control the buzzer
2. 2 Uarte to communicate with 2 external devices
3. BLE to wireless communication (ble_app_uart)
4. Timer
5. saadc to read battery level
6. nrf_log_info for debugging

Now I want to implement an application as economical as possible, so I planned this topic
1. PWM => I enable/disable depending on when the user wants/don't want to ring buzzer by app_pwm_enable (& context) / app_pwm_disable (& context)
2. Libuarte => I enable/disable uarte when nRF needs/no need to communicate with external devices using nrf_libuarte_async_uninit (& libuarte) / nrf_libuarte_async_ninit (& libuarte)
3. BLE => I increase the advertising interval as big as possible
4. timer => I think app_timer is the best way
5. saadc => now i don't have any solution for this
6. Log Info => I think I will disable it in sdk_config.h => NRF_LOG_BACKEND_RTT_ENABLED 0
I'm using the ON system when the device is idle
So can you give me some comments and suggestions on my plan?
I am using custom board with nRF5833 chip and my application is based on SDK16 ble_app_uart example
As this feature is the most important feature in my project so please provide me a complete process for this feature.
Thank you

Parents Reply Children
  • Yes, I have external components for DCDC. But I think it only used for convert 4.2v into 3.3v to compatible with module. What is other functions of DCDC converter ??
    I got an sentence "enabling and populating the DC/DC converter" when I read blog post you suggested. But I have some confusions about this. Seem DC/DC converter like a peripheral. How can I "enabling and populating the DC/DC converter" ? By coding ?

    I researched that there is an regulator that is LDO. What is the difference between them ?

    Here is the module I used. It contained external LF crystal ? I'm using app_timer. How can I use external LF crystal like you suggest ?

  • Hi,

    There are two internal regulators on the nRF52833 that regulates the supply down to the system voltage in two stages. The internal regulators can either use an internal LDO or a DCDC for each step. Using the DCDC requires external inductors, but the benefit of using DCDC is that it's more power efficient. 

    It seems like it has an external LFXO crystal, do you have the schematics?

    The app timer would automatically use the external low frequency crystal, if it's chosen as the LFCLK clock source in the sdk_config.h file of your project.

    regards

    Jared 

  • Hi Jared,
    I can't find any schematic from this module
    But I confirm that is external crystal.
    So please suggest for me:
    1. how and when I should enable DC/DC converter ? Any blog post ?
    2. what is the advantage when I make app_timer use external external crystal ? how can use external crystal? I attached my sdk_config.h please check for me.
    May It here ? What is RC, XTAL, SYNTH ?
    Thank for your reply.
    I'm new at this topic so your reply help me a lot.

    // <o> NRF_SDH_CLOCK_LF_SRC  - SoftDevice clock source.
    
    // <0=> NRF_CLOCK_LF_SRC_RC
    // <1=> NRF_CLOCK_LF_SRC_XTAL
    // <2=> NRF_CLOCK_LF_SRC_SYNTH
    
    #ifndef NRF_SDH_CLOCK_LF_SRC
    #define NRF_SDH_CLOCK_LF_SRC 1
    #endif



  • Hi,

    John12 said:
    how and when I should enable DC/DC converter ? Any blog post ?

    If you're using the Softdevice then you can use the SD API by calling sd_power_dcdc_mode_set() in the beginning of main(). 

    John12 said:
    . what is the advantage when I make app_timer use external external crystal ? how can use external crystal? I attached my sdk_config.h please check for me.
    May It here ? What is RC, XTAL, SYNTH ?

    The external low frequency crystal has a lower run current then the RC oscillator. Thus it will consume less current. See the clock section in the product specification for a description of the different LFCLK sources. 

    regards

    Jared

  • Hi Jared,
    About regulator I have some confusions about this topic
    I follow this thread but It hard to understand 

    1. What is the difference between external DC/DC converter and internal DC/DC converter ?
    2. May I supply 1.8v voltage for my nRF saving energy working?
    3. My custom board don't have LC so It seems can not enable DC/DC converter ? What is the alternative solutions?
    4. DC/DC is automatically enabled when voltage goes below 2.1V => LDO is disabled and vice versa when voltage goes up?

Related