2025-07-23 9:25 AM
Hi, I am working on a project where I have a custom board with STM32L073 MCU and I want to read a color sensor (AS7341) via I2C. This will be a low power application. I will harvest energy via NFC from a smartphone (I am using NTAG I2C plus). I can get a voltage is about 2.8 V and current about 10-14 mA from the harvested energy. This will power up the color sensor and the MCU. I have been trying to operate the MCU at low power but I am unable to do it. I have tried regulating down voltage from a 3.7V 1000 mAh lipo battery to 1.8V and trying to run the MCU to get the color sensor data but I cannot do it. I tried using a logic analyzer to observe the I2C signals. For greater than 3.3V, it works fine, I am able to see the data in uart as well as in the logic analyzer but when it goes below 3.3V it doesn't work. I also tried regulating down to 2.8V from a battery, still doesn't work. I think I am missing something on how to operate the STM32 MCU in low power mode. Please let me know what I need to change in my code or board design. I have attached both below. (The circuit diagram is only for the STM32 MCU board. I am using a breakout board for the AS7341 to connect it to the MCU).
I am not much familiar with using low power modes, so I know I might need to make some changes in the clock configuration or something in the code or hardware side, but I am not sure what to do. Any help would be appreciated.
2025-07-23 11:07 AM
"Doesn't work" is a bit vague. Does the microcontroller function at all with the lower voltages?
You don't seem to have adequate capacitors for VDD, VDDA.
Do you have pull up resistors on the I2C lines?