PSOC 4 ble low power custom profile

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Dirk_6716
Level 2
Level 2
10 sign-ins 10 replies posted 10 questions asked

Hello,

     I am creating an application with two psoc 4 ble devices and I want to minimize the power consumption of the peripheral device. The peripheral device should wait for commands from the central, then run an application based on the command, connect and notify after the application, then go back to waiting for a command. Each command will correspond to a different application and a different ble profile (different notification data lengths).

- I want the peripheral device (both the main processor and ble module) to be in deep sleep for the majority of the time. While no application is run, the peripheral can connect and check for commands from the central device every 10~20s. While an application is being run, the peripheral doesn't connect by setting slave latency..?

- The central device will have a few commands to send to the peripheral device, and when the peripheral device receives a command, it should execute an application for 1~2 minutes (During 1~2 minute application, I want no connection to minimize power consumption). After the application, there will be a quick connection where the peripheral sends a notification.

For the peripheral, I'll use cyble-022001.

For the central, I can use the psoc ble pioneer kit or the usb dongle. I want to type a command to a console/serial terminal and the central will send that command to the peripheral. Once the central receives the notification, the central can print the notified data to the console/serial terminal.

What is the easiest way to implement this? Also, which examples can I refer too?

Thanks!!

0 Likes
1 Solution
Yugandhar
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 5 likes given

Hello JiMi_3706716 ,

1. You can also run the application when the two devices are in connected state with minimum power consumption. In the code, the BLESS can be put into the DEEPSLEEP mode between every Advertising or Connection intervals. The system should be put into the Deep-Sleep mode during this time if there is no pending application processing. So, the current consumption will be less when device is in either connected state or advertising state. Please refer to the section "2. Design and Implementation for Low-Power BLE" in AN92584 datasheet for more information. Also, please refer to the AN92584.zip projects in the link for reference.

2. Please refer to the Day020_BLE_UART example project in the GitHub, where this example demonstrates how to use PSoC4 BLE device as a UART-BLE bridge, which might be helpful for your application.

Q: While an application is being run, the peripheral doesn't connect by setting slave latency..?

Ans: Could you please elaborate more on this ? Slave latency is used to allow a slave to skip connection events without the central device dropping the connection.

Thanks,

P Yugandhar.

View solution in original post

1 Reply
Yugandhar
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 5 likes given

Hello JiMi_3706716 ,

1. You can also run the application when the two devices are in connected state with minimum power consumption. In the code, the BLESS can be put into the DEEPSLEEP mode between every Advertising or Connection intervals. The system should be put into the Deep-Sleep mode during this time if there is no pending application processing. So, the current consumption will be less when device is in either connected state or advertising state. Please refer to the section "2. Design and Implementation for Low-Power BLE" in AN92584 datasheet for more information. Also, please refer to the AN92584.zip projects in the link for reference.

2. Please refer to the Day020_BLE_UART example project in the GitHub, where this example demonstrates how to use PSoC4 BLE device as a UART-BLE bridge, which might be helpful for your application.

Q: While an application is being run, the peripheral doesn't connect by setting slave latency..?

Ans: Could you please elaborate more on this ? Slave latency is used to allow a slave to skip connection events without the central device dropping the connection.

Thanks,

P Yugandhar.