Hi all,
SKIP TO BOTTOM, rest is history for documentation:![]()
I’m again facing issues with high current. My older topic was closed already.
Recap: I use stamp modules of rak3172. I have a very basic circuit (as recommended in the documentation) and use only one transistor for polarity inversion protection, a fuse for overcurrent protection and a 1M/1.5M voltage divider for VDD measurement.
I use a SHT40 for temp/humidity measurements and currently I don’t switch it off or on with an I/O pin and it’s just connected to 3.3V and GND plus SDA/SCL.
First issue: The current while in api.system.sleep.all(); was 350-450µA on some modules and 5-6µA on others. I haven’t found the root cause why some draw that much more. A new module built yesterday draws again 350. All brand new parts.
Second (new) issue: This device I build with freshly ordered square stamp modules will only compile correctly when I select “WisDuo RAK3172 Evaluation Board” in the board manager. From my previous order I always had to select “WisDuo RAK3172-T Board”. Using the wrong setting results in TX errors as reported here.
So my questions are 2:
Why do some modules (both old batch and new ones, both -T and non-T) consume that much more power in sleep? The PCB and parts are exactly the same, also the code is the same except the OTAA keys.
Why do I need to select different boards in the board manager for what should be the same modules?
I use VS Code and the arduino extension for programming. Occasionally I use the STM cube programmer to burn RAK3172-E_latest_final.hex, downloaded today.
My versions are:
AT+VER=RUI_4.2.1_RAK3172-E
AT+CLIVER=1.5.11
AT+APIVER=3.2.10
AT+HWMODEL=rak3172
AT+HWID=stm32wle5xx
AT+BOOTVER=RUI_BOOT_0.8_STM32WLE5CC
interestingly, on the 5-6µA-module, I read only one difference:
AT+CLIVER=1.5.13
Does this matter and how do I update the other module to the same CLIVER?
And sleep settings (the same on all modules):
AT+LPM=1
AT+LPMLVL=2
Let me know if you need more info. @beegee was involved before, perhaps you can continue your excellent support here as well.
Thank you very much. I’d really like to build a bunch of low-current sleeping sensors but agin and again I run into this high current issue. For a lithium-battery it reduces the lifetime by years…
Some updates:
- I tested minimal code examples. Currently I’m at OTAA joining and then sleeping with a wakeup timer every 10 seconds. Current: 3.69µA.
- As soon as I add the following, the current goes to 5.62µA:
pinMode(PB3, INPUT_PULLDOWN);
analogOversampling(10);
analogReadResolution(12);
read on here:
- as soon as I add my LED-pin (I do not have LED soldered at this time!), the current goes to 334µA! I’ll now try to figure this out (also why the other board, also without LED soldered, works fine). I do have 2 more pins (PA1 and PA8) which are reserved for LEDs without being soldered, and I use the same set-low command… There might be a difference between PB2 and PA1/8.
pinMode(PB2, OUTPUT);
digitalWrite(PB2, LOW);