Hi,
I have confirmed that my RAK4631 module consumes ~12uA stand alone in sleep mode.
I’m feeding it via the 3.3V input at J2
When adding the RAK19007 (no additional sensors) the consumption goes up to ~0.5mA at J2 and from the BAT input I measure ~0.6mA.
The RAK19007 at BAT without any extra modules is measured to ~0.1mA.
I have tried to understand if this is expected, but according to data sheet the leakage should be much lower.
An explanation would be much appreciated!
If you feed 3.3V through J2 on a RAK19007, you supply through a pin that is behind the voltage regulator. Not sure what that can cause. It is better to supply through P1 with 3.7-4.2V or P2 with 5V.
Without setting the LoRa transceiver into Sleep mode, it is in Standby mode (default after power up), which is causing 0.6mA consumption compared with 1.2uA consumption in Sleep mode.
Other consumers that cannot be switched off
(1) The I2C lines have 4.7k Ohm pullups, that can cause 0.7 mA already, depending on the state of I2C SDA and SCK
(2) There is a voltage divider on VBat with 1M Ohm and 1.5M Ohm that can cause 0.002 mA\
Here is a measurement of RAK19007, RAK4631, LoRa P2P mode, LoRa transceiver in sleep mode (RX disabled) with my Low-Power-PIO example code:
Ok, I will continue to debug with feeding from P2, I agree.
Im testing now with the low-power sample code and have the same results.
Regarding sleep after TX, maybe Im missing something here?? Would anything from RAK19007 trigger the module from not going in to sleep mode?
I2C pull-ups might cause this if the module it self draw current in sleep mode or not actually going in to sleep mode of course. But else it should not add any extra in this scale.
How did you setup the example?
This example has to be setup with AT commands.
You have to set it into LoRa P2P mode with AT commands.
AT+NWM=0
AT+PRECV=0
ATC+SENDINT=0
First set’s LoRa P2P.
Second disables receive.
Third disables automatic sending.
This has to be done once, the settings are stored in the flash and used after power on or reset.
The code defaults to LoRaWAN. If the device cannot join the LoRaWAN network it will have higher consumption as well.
In LoRaWAN I get same consumption after the device has joined the LoRaWAN network and is set to Class A.
I’m running in LoraWan mode and its joining Ok and TX interval is working.
My measurements on the stand alone module (in LoraWan) is working with my settings, so after TX it goes down in sleep mode (~12uA), but when connecting the RAK19007 it behaves differently on consumption.
So will your settings proposals really help me here, or was it more to close down and confirm if the consumption will change?
Maybe my statement above (on 12uA) was not correct, due to wrong Vbat feed etc.!?
So lets start over:
What I’m trying to achieve is to lower the power consumption as much as possible with a battery fed RAK4631 + RAK19007 + RAK1904 using LoraWan Class A.
My code is using the xSemaphoreGiveFromISR() interrupts, this is based on the examples/DeepSleep-nRF52/DeepSleep-nRF52.ino (yes Arduino based now)
I have put the LIS3dh in low-power mode and disabled the internal pull-ups
I don’t see any savings disabling the debug info via serial??
My current consumption using 3.3V fed to battery connector on RAK19007 is ~0.6mA measured with a Fluke85.
Is this as expected or am I missing something? It seems that that the transceiver never goes in to sleep to me.
Reading the forum its a bit confusing if the p2p has been used to reach this really low figures or not…
Hmm, strange, testing the DeepSleep-nRF52.zip above on 4631+19007 and I still get 0.6mA (compiled in Arduino IDE).
I did only change to LORAMAC_REGION_EU868, and the device address stuff.
The device joins Ok
11:12:57.426 -> OTAA joined and got dev address 01136E78
11:12:57.940 -> Wakeup event 3
11:12:57.940 -> Joined network
Tested on different RAK19007 ver. C and Iv got the same results.
Also tested on one RAK19009 (fed bare-boon, no power modules) and got ~0.5mA
Also tested different RAK4631, no change.
I have thought about it and will see if I have any errors there. According to spec it should work.
I will try with a shunt resistor(0.6mA over 200ohm → 0.12V) to compare if my 0.6mA is correct.
edit: it shows very much the same as Iv got with the Fluke
Could there be that we are using different libraries somehow?
My output from compiling verbose…
Using library SPI at version 1.0 in folder: /.arduino15/packages/rakwireless/hardware/nrf52/1.3.3/libraries/SPI
Using library Wire at version 1.0 in folder: /.arduino15/packages/rakwireless/hardware/nrf52/1.3.3/libraries/Wire
Using library SX126x-Arduino at version 2.0.29 in folder: /Arduino/libraries/SX126x-Arduino
Using library SparkFun LIS3DH Arduino Library at version 1.0.3 in folder: /Arduino/libraries/SparkFun_LIS3DH_Arduino_Library
Using library Adafruit TinyUSB Library at version 1.7.0 in folder: /.arduino15/packages/rakwireless/hardware/nrf52/1.3.3/libraries/Adafruit_TinyUSB_Arduino
@beegee finally I think I know the root cause to why it draws more than expected.
I did hook up a power supply to the P1 battery connector instead of a battery so I can adjust input voltage.
The current goes up as son as I go below ~3.4V and I did now get ~25uA at >3.6V. Obviously my battery had low voltage ~3.5V.
I didn’t know this behavior, and I would like to understand why this happens?
I am seeing the same effect if the input voltage is going below 3.6V.
There are “misleading” information in the datasheet of the SGM6036.
In the Features they claim “1.8V to 5.5V Input Voltage Range”. But reading through the rest of the datasheet, it looks like this range is for the 1.0 and 1.2V fixed output versions of the regulator and not for the 3.3V fixed output version.
The rest of the datasheet refers to a voltage input of 3.6 to 5.5V, e.g. in the ELECTRICAL CHARACTERISTICS and in the TYPICAL PERFORMANCE CHARACTERISTICS.
Ok, that might be one of the problems on RAK19007 giving me that 0.1mA extra, but it seems like the RAK4631 module also needs >3.5V to be able to go in to deep sleep with really low consumption??
I did test to feed it separately with a RAK19009 fed on Vbat and VDD with <3.5 to 3.6V.
Maybe I’m doing it wrong to test the 4631 standalone?