SDAA075 October 2025 CC2340R5
CPU load and RPM measurements with an active Bluetooth LE connection have been recorded for various duty cycle outputs and are provided in Table 5-1. Keep in mind that RPMs relative to the duty cycle will be greatly dependent on the physical properties and characteristics of the BLDC motor used.
| Duty Cycle (%) | RPM | CPU Load (%) |
|---|---|---|
| 10 | 1080 | 3 |
| 30 | 5040 | 5 |
| 50 | 10800 | 8 |
| 70 | 15120 | 11 |
| 90 | 23520 | 15 |
Using a logic analyzer is easier to visualize the BLDC motor being driven using the high and low sides of the three phases, along with the transition between hall effect sensor level transitions
Figure 5-1 BLDC Motor Oscilloscope Screenshots
Figure 5-2 BLDC Motor TransitionWhen disabling the UART peripheral, not enabling Bluetooth LE behavior, and not actively spinning the BLDC motor, the CC2340R5 LaunchPad operates with a power consumption of less than 1µA.
As determined through the Memory Allocation view inside of CCS, the default project requires 184 kB of flash (not including the 16 kB reserved for non-volatile memory) and 32 kB of SRAM. Disabling the UART save 3 kB of flash, and a project built without using the Bluetooth LE stack only consumes 22 kB of flash and 15 kB of SRAM in total.
A throughput test was added to get a rough estimate of the maximum amount of data that can be sent out over characteristic 5 of the Bluetooth LE profile. To perform this test, a clock instance was initialized to send out 247 bytes of data over notifications. The device was connected to a central, whose connection interval was 45 ms. Across this connection, and while maintaining a duty cycle of 80%, 380 Kbps throughput was achieved. Throughput tests depend on a number of factors, such as connection intervals, and CPU overhead (motor duty cycle in this case), therefore these numbers are just a rough estimate and could be improved with the right modifications. The stress test is disabled by default but can be easily added by setting the start flag of the ClockP instance found in app_peripheral.c to True.