I measured bare module sleep current 1.3uA @3.3V (step-down conv.)
This is perfect for ultra low power applications.
But there is an issue with my RX PIN that measuring a strange current leakage. (RAK4200 smd module, PIN#5, UART2_RX)
RX line, External mcu wiring with 2 resistors;
100R serial resistor between external mcu TX PIN and module RX PIN. (current limiter and noise suppression)
10K pull up resistor from module RX PIN to 3.3V.
When both mcu and module in SLEEP mode, I measure 90uA current into module RX PIN.
This current is too much…
Both end points are HIGH state and no voltage drop on each resistors.
I also changed resistor values.
Is something like a float switching current or a measurement error on this line?
I am using RAK4200 smd module in my own custom board .
When I put module into SLEEP with at+set_config=device:sleep:1
I measure module SLEEP current is 1.3uA.
This is the current from 3.3V supply into module VCC PIN.
This is good as bare module current.
BUT;
I measure a leakage current 90uA from 3.3v supply into RX PIN via 10K pull up resistor.
This is too much.
Not to effect measurement, I also disconnected external mcu.
I tried also add 10NF bypass capacitor paralel to 10K resistor, nothing changed.
(10NF capacitor didn’t prevented serial signal 115200bps, it works.)
Interesting; I measure no voltage drop on 10K pull up resistor. Both ends are 3.3V.
Is it a real 90uA current consumption into RX PIN ?
Or my measuremet is fault ?
Yes, the current for the entire board is above 90uA.
So it seems a correct current.
This will be a battery powered device such an ultra low power.
While both mcu and module in sleep, the current for the entire board must be not more than 10uA. But now it’s above 90uA.
Please discard my measurements !!
Try a quick test/breakout board for RAK4200 smd module;
VCC PIN: 3.3V
GND PIN’s: all GND
RESET PIN: 10K pull up and 100NF pull down.
TX PIN: 10K pull up (may not be neccessary)
RX PIN: 10K pull up
Let’s put the module into sleep.
Connect TX pin of a serial adapter to the module’s RX PIN.(And GND wiring needed.)
Send at+set_config=device:sleep:1 to module.
Now module in sleep.
Also remove serial adapter.
Measure the supply current into VCC PIN is about 1.5uA.
And measure the total current of the test board is near 90uA.
Why and how to solve this ?
Note: Without a serial adapter and AT command, module goes to sleep automatically if could not joined to network.
EU868MHZ
Firmware Version: RUI v3.2.0.12
Yes I guessed so, in RUI firmware, in sleep, RX PIN was configured with weak internal pull-down.
On my existing device board, I would try that;
remove the 10K pull-up resistor
and configure TX PIN of my external mcu as INPUT after sleep itself.
But I am not sure about the START BIT in communication.
Since the idle state of the UART is HIGH,
In your next RUI version, Can you configure RX PIN mode as an internal PULL-UP in sleep ? Isn’t it better ?
So, what do you suggest to who wants to use the module in connected with an external mcu ?
You know, The TX PIN of external mcu stay configured as output and HIGH also in sleep. And this sources the RX PIN of the module. That increase the total current of the board.
For my case, Is the only solution to ?
remove 10K pull-up,
configure TX PIN of external mcu as INPUT or as output LOW before put it into sleep.
That solved !
Removed 10K pull-up resistor from RX PIN of the MODULE.
In MCU software, “Force” TX PIN of the MCU as LOW before putting “also” MCU into sleep.
Now the total board current is a few uA.
@Nicholas as you commented, the MCU is master and fully managing communication and power cycles for both itself and the module. So It has already been listening for RESPONSE and if ERROR messages from the MODULE. Before that, I studied the existing RUI algorithm and all communication parsing as useful.