Wemos D1 mini w/RN-2903 using v1.1 board consumes 3-5 ma
-
Hi,
I ordered a few of the v1.1 boards from this URL
https://github.com/hallard/WeMos-RN2483I'm using an RN2903 (f/w from 0.8.4 Feb 2017) with a Wemos
D1 mini using software serial to communicate with the Lora chip.The device functions well but I can't seem to figure out why it is
consuming 5ma when it enters deep sleep. If I disconnect the
D1 from the board and power it I can see that power consumption
drops to 0 when it enters deep sleep. I tested deep sleep with it
disconnected from the board and it works as expected. Sleeps
drawing very little current and wakes fine.I know the RN2903 uses about 2-3 ma when idle. It to drops to
zero when it enters deep sleep. However, when I mate the D1 to the
board, the total sleep current is around 5ma.I'm wondering if in the process of going into deep sleep the D1 using
software serial is somehow waking the RN chip up ? Still, the RN only
uses 2-3 ma, so I'm at a loss at why this is using so much power.I'm powering the device using the 3.3V input on the board. Given the
high sleep current I'm only getting 20 days or so use with my 3200ma
battery.Any ideas or hints on how to debug this would be appreciated.
-
My suspicion was right...
It seems that when using software serial with the jumpers set to pins 13 and 15, the RN2903 wakes up when the D1 mini goes to sleep. Unlike the hwd UART RX pin, the software serial RX pin (GPIO 15) goes low when the D1 enters deep sleep. This is somehow is causing the RN2903 to wake up. -
If I change the RX pin used by software serial from GPIO 15 to GPIO 0 (which has an internal pull-up) then the RN2903 says sleeping when the D1 mini goes into deep sleep.
I can always jumper the board but it seems odd that the board which was designed for a D1 mini with RN2XX3 doesn't work with software serial using the layout for gpio 13 as TX and GPIO 15 RX...
-
Thank you for sharing your experience.
-
@tbalon GPIO13/GPIO15 have been used to remap hardware serial on these pins (and do not interfere with original TX/RX ones), like that you can keep hardware serial, changing pins is done with
Serial.swap()
Did you tried that one?