RN4020 Power States

The RN4020 can operate in a variety of power states, depending upon the application requirements.

The power states are entered via a combination of settings on the WAKE_HW and WAKE_SW pins, as well as commands issued to the module as shown below:

rn4020-power-states.png

Please refer to the "RN4020 Bluetooth® Low Energy (BLE) Module" datasheet for detailed electrical specifications.

Idle

This state is entered on power-up whenever WAKE_SW = 1 and represents the state where Command mode is active.

Active RF

This power state is entered upon any required Radio Frequency (RF) activity (TX/RX) during advertising, discovery, pairing, connection, etc.

Note that a key design objective for BLE radios is to remain mostly in a low-power dormant state, waking up only occasionally and very briefly. As a result, the time spent in Active RF is very short.

Note that this depends also on whether you are a Peripheral or Central device (energy usage in BLE is asymmetrical, with Central devices typically consuming more energy).

Deep Sleep

This is one of the low-power states supported by the RN4020. A key feature of this state is that advertising packets are still broadcast.

To put the RN4020 in Deep Sleep mode from Idle/Active mode:

  • Make sure the WAKE_HW pin is low.
  • Pull the WAKE_SW pin low.

To stop advertisement during Deep Sleep mode, enter the Y command before going to Deep Sleep.

If the RN4020 is operated in a Hostless/Scripting mode (i.e. without a microcontroller), set the UART_RX pin to high via a 10 K resistor to reduce power consumption in Deep Sleep mode.

Dormant

This is the lowest-power state supported by the RN4020.

To put the RN4020 in Dormant mode from Idle/Active mode:

  • Make sure the WAKE_HW pin is low.
  • Then enter the o command.
  • Then immediately pull the WAKE_SW pin low.

RN4020 Communication in Deep Sleep

The RN4020 can communicate and execute commands in Deep Sleep as long as the Universal Asynchronous Receiver Transmitter (UART) baud rate is set to 2400. However, please note that sending frequent UART commands is not recommended at 2400 baud due to the added latency of the low-data rate.

To communicate with RN4020 in Deep Sleep, perform the following steps:

  • In Idle mode, set the baud rate to 2400 using the SB command, sb,0.
  • Reboot the module for the SB command to take effect, r,1.
  • Change the baud rate setting on the host to 2400 in order to communicate with the module.
  • Put the module into Deep Sleep, as described above. The module sends END as confirmation of going to Deep Sleep.

Communication continues at 2400 baud rate.

To get the RN4020 out of Deep Sleep and back to normal 115200 baud communications:

  • Change the baud rate to 115200 using the SB command, sb,4.
  • Reboot the module for the SB command to take effect, r,1.
  • Pull WAKE_SW pin high to put the module in Active mode.
  • Change the baud rate setting on the host to 115200 in order to communicate with the module.
© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.