Hello everyone,
I’m working on a project based on a Raspberry Pi Pico 2 W, programmed in C/C++ using the Pico SDK and Visual Studio Code.
At the moment, the power consumption is around 100 mA, which seems quite high for my use case, and I would like to reduce it as much as possible.
Project description
My goal is very simple:
1. Acquire data from an AD7193 ADC via SPI
2. Transmit the data via BLE (Bluetooth Low Energy, no Wi-Fi)
3. Then go into deep sleep / low-power mode
What I’ve tried
Lowering the system clock does reduce instantaneous current, but:
- BLE becomes unstable or stops working correctly
- The total energy does not really improve (lower current, but longer execution time)
So I don’t think this is the right approach.
My questions
1. What is the correct way to disable all unused peripherals on the Pico 2 W (ADC, USB, clocks, GPIOs, etc.) to minimize power consumption?
2. Is there a recommended way to power down the CYW43 (Bluetooth chip) after BLE transmission?
3. What is the lowest realistic power consumption achievable on Pico 2 W in a “measure → BLE transmit → sleep” scenario?
4. Are there any common pitfalls (USB stdio, logging, busy loops, clock configuration, etc.) that could easily keep the current around 100 mA?
5. Any advice, best practices, or references to official documentation or examples would be greatly appreciated.
Thank you very much in advance!
![Smile :)]()
I’m working on a project based on a Raspberry Pi Pico 2 W, programmed in C/C++ using the Pico SDK and Visual Studio Code.
At the moment, the power consumption is around 100 mA, which seems quite high for my use case, and I would like to reduce it as much as possible.
Project description
My goal is very simple:
1. Acquire data from an AD7193 ADC via SPI
2. Transmit the data via BLE (Bluetooth Low Energy, no Wi-Fi)
3. Then go into deep sleep / low-power mode
What I’ve tried
Lowering the system clock does reduce instantaneous current, but:
- BLE becomes unstable or stops working correctly
- The total energy does not really improve (lower current, but longer execution time)
So I don’t think this is the right approach.
My questions
1. What is the correct way to disable all unused peripherals on the Pico 2 W (ADC, USB, clocks, GPIOs, etc.) to minimize power consumption?
2. Is there a recommended way to power down the CYW43 (Bluetooth chip) after BLE transmission?
3. What is the lowest realistic power consumption achievable on Pico 2 W in a “measure → BLE transmit → sleep” scenario?
4. Are there any common pitfalls (USB stdio, logging, busy loops, clock configuration, etc.) that could easily keep the current around 100 mA?
5. Any advice, best practices, or references to official documentation or examples would be greatly appreciated.
Thank you very much in advance!
Statistics: Posted by Errand — Mon Jan 26, 2026 8:35 pm — Replies 0 — Views 11