ESP32 WiFi Lora Board - deep-sleep power consumption #6
Comments
Seems you did't turn off the OLED's charger pump and set OLED into sleep mode, you may test with fellow codes: display.sendCommand(0x8D); //into charger pump set mode |
display.sendCommand(0x8D); |
@Heltec-Aaron-Lee This is my changed program. Please double-check it.
|
thanks
I‘ll try it soon
regards, urs
ATTENTION: be careful using the program without changing the
delay(2000); ---> delay(20000);
I had a lot of trouble getting a connection to reflash it (also using Rst/Prg )
Results: mine does not wake up after deep_sleep_start. no idea why.
|
Same trouble here, I'm stucked with 10 mA with everything sleeping.. |
I removed the oled display and the board is still draining 10mA. |
Is there any news about this? |
powering at 5v : i have similar measurements, with LoRa and DHT-> 94 mA, without Lora active 46 mA and in deep sleep 11 mA. |
@baxtery Have You got DHT sensor (temp and humid) working with OLED? |
Same issue, in deep sleep mode 11mA. |
This maybe can help reduce the consumption : #17 (comment) "If you power the device from the 3.3V pin the battery charger won't be enabled" |
@DeuxVis I already tried in my tests, but without improvements. |
I have 2 boards, both have this issue, in deep sleep power consumption is ~17 mA. So it can't be used on battery power. Please tell us if this is a software issue or a hardware design issue. |
Also, where can we review the hardware design/schematic? |
Hi, It is hardware design issue. |
I'm thinking to use this board for my project but 10mA in deep sleep will be a very big problem. |
@gbiohazard Thank you |
@gbiohazard any clue where the specific issue is? |
Here are the tests I made (initially on https://www.thethingsnetwork.org/forum/t/big-esp32-sx127x-topic-part-1/10247) Using Heltec LoRa board: Using Esp32 Core Board (LED removed): Using ESP32 Core Board (LED removed) and NiceRF LoRa1276 (sx1276 based module): Analysis: See:
Sorry for my english (FR). |
i think we should design a PCB with a step up, a mosfet, esp32 and an SX1276 and wait for someone in china to copy it and sell it cheap on aliexpress :) |
but if we power off the sx, does OTAA still work after waking up from deepsleep? |
@kovir I did it! use the PIN 22 ;) |
I did try to wirite 0x00 to REG_TCXO - and get same consumption. Do you have some working schematic how should TXCO powering look? I did check schematics now and my measuring are for 32k clock... dio1 It is off when in sleep and has only slight jump when sending |
But then you can check this module it claims StandBy current is 1uA and it does not have pin to enable disable TXCO so it should be somehow possible to disable it with registers... There is some code in pdf files So I will try this at home ... void sx1276_7_8_Standby(void) |
Without removing any hardware parts I am down to 4mA. So I would say that SX part is maybe not the problem. Problem could be that we maybe need to check is ESP really going to right SLEEP mode. Removing BMS and LEDS did not lower consumption got 4-5mA with and without BMS. Put BMS back did not put LEDS back and now I have 2.56mA (It was 4 without LEDS, maybe I did change something in code but I do not think I did) My instrument cannot get consumption in mA while SX is sending so Im powering from USB until first send, and after that I disconnect USB... https://gist.github.com/goran-mahovlic/72833b26fd61ecc04fcf0f74bffad575 |
Hi Goran, I have the same issue: If I plug my board into a USB-plug (and the Linux recognizes the new device), the power consumption is around 3mA. If I only power form Lipo (or a USB Power Bank), it is 11.7mA (with some sensors). If I power with Computer first and then hotswap to Battery, 3mA remain. |
There is only one thing I have read after my post in TTN forum, but did not have time to try: When you put the ESP32 into deep sleep the GPIO pins go into high impedance mode, which is not good for devices on the SPI bus, such as LoRa. |
One important thing to understand is that NSS (SPI Cable Select) is active low. In deep sleep mode, the esp32 releases all outputs state to low, so the LoRa chip becomes active again. The trick is to use the rtc_gpio_hold_en(gpio_num_t gpio_num) function to keep HIGH the NSS pin. But wait, in deep sleep mode, only some specific pins are available to control: RTC pins.
With my LoRa1276 (NiceRF) module, it stays <1µA when the esp32 is in deep sleep (GPIO04 NSS) |
Chip Select and Active Low is a good point :-) |
So, if the schematics at https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/tree/master/SchematicDiagram are correct, and I'm reading the info on the CP2102 correctly at https://www.silabs.com/documents/public/data-sheets/CP2102-9.pdf and https://www.silabs.com/community/interface/knowledge-base.entry.html/2004/04/20/cp210x_current_draw-OUVM then it appears that if you start with a USB host, the CP2102 goes active, and then goes to Suspend after the USB is disconnected. If you just power up on battery, then it stays active looking for a USB connection. Apparently if there were a way to force the reset pin low you would get the Suspend level of power usage, but this board feeds the 5V bus from VBAT as part of the LDO circuit. If there was another diode in the LDO circuit between 5V and pin 1 of the U1 LDO ( and possibly a weak pulldown on pin 9 !RST of the CP2102 it would likely eliminate the problem; alternatively, if there was a way to use software to pull pin 9 !RST of the CP2102 low - by wiring it to an IO pin ( 3.3v vs 5v issue to solve ) then you could also force the state. So as others have said elsewhere, it is a hardware design issue on this board. Depending on the board layout, it may be possible to cut a trace to isolate 5V from VBAT; you would be required to power the board separately from the USB even when using the USB, but it might solve the power drain when not on USB. |
@Skipper-is Hi there This is an all-new platform, we made ASR6501/ASR6502 (PSoC 4000 series MCU and SX1262) fully support with Arduino. which is friendly for LoRa developers. Hope you can take a few minutes to look at it, I believe you will like our new project.
|
Oh awesome! I've just ordered 4 of the dev boards, looking forward to deploying them! Got a couple of wifi stick lite's deployed at the moment, and they're doing really well with battery usage. Really cool that it comes with solar power management and LiPo management, cuts right down on all the extra bits I needed! |
@frankheisig71 Just for info, I bought 2 TTGO Lora clones (it was for starting a project and was the cheaper I found, for V2 I will buy Panda Boards) anyway I cut the 5V track and souder the lipo + as you said (I also added a jumper to reconnect it to 5V for programming without battery) My question is: would using the HelTec library help me get even lower (to your 900uA for example)? for my application I'm using MCCI LMIC for connecting to a private ttn like GW (OTAA) I brought the consumption from 12 to 1.18 mA so I'm mostly happy with the hack. Thanks in advance and best regards |
@Beliwars |
Hi, Did someone tried this heltec wireless stick board with micropython and deep sleep? With the provided heltec.h library from Lee i got this board into deep sleep with a 40uA |
@Bitbanger1900 How are you achieving 40uA? I can only get my Wireless Stick down to 1mA |
i use the heltec wireless stick lite and include the library from lee (https://github.com/HelTecAutomation/Heltec_ESP32/tree/master/src/heltec.h) together with the "BlueDot_BME280.h" and a BME280. At this moment it is still running since 24.02 measuring every 5 minutes on battery and send it over lora to my receiver. i would love to have it run micropython but i cannot get the power usage so far down as with Arduino IDE. |
Well I don't have the lite version, but would be interested in investigating what is using so much power or could it be the USB chip as well? |
According the Heltec site the normal version can put into sleep with 800uA. The lite version also has no SSD1306 what could make the difference. |
That could be it, I also tried putting the OLED to sleep, but that did not have any effect on power consumption |
Did you set the unused pin to input mode? |
I did |
Something similar to this, but added the Heltec.begin with LoRa enabled and set it to sleep (which only works and makes a difference when Heltec.begin gets called, which makes sense) |
Unfortunately, the wireless stick lite doesn't has a good communication range (I tested two of them in 433 MHz, BW of 500 kHz, SF of 7 and CR 4/5, and the range was of only 100 meters with Line of sight :( ). |
@PyramidSlayer: Did you also do something with the setTxPower? @Heltec-Aaron-Lee: i find in the examples: /*
Can you please explain what this is? i cannot find this back in the doc's. What is recomended? |
@Bitbanger1900 |
@PyramidSlayer Did you set TX power? and did make sure the working frequency is matching the hardware? and don't forget the antenna. |
Hi Lee, Thanks for the info! yes, it makes more sense now :) I did not do any distance tests as it is to cold here but yes i also have to replace |
Yes, I set the TX power to 20 dBm, I used the default pigtail antenna and the software frequency matches the hardware frequency (in my case, 433MHz). |
I also have this problem with this board from Banggood. I'm using this exampleto connect to TheThingsNetwork. I tried several software solutions in this thread, but I was not able to reduce the power consumption below 10mAH. Is there anything other I could try to reduce the power consumption without removing components? |
With those boards from Banggood I've not managed to get the power consumption down to sensible levels. I've tried cutting components out, and different software solutions but nothing has reduced the power to managable levels. I think they're nice little proto boards, but you just need to go for another solution for the in field applications - like the Wireless Stick Lite, or the new CubeCell boards |
@Skipper-is Thanks for the hint. The CubeCell boards look quite nice. Maybe I can use the Banggood boards for something else where power consumption does not matter. |
Gateway? Or just pack a big battery and a big solar panel? |
@Skipper-is I already have Gateway. I think I will use them for my smoke detectors. I designed a circuit that can be attached to any cheap smoke detector that should not consume any power until smoke is detected. Then the circuit will convert the 9 Volts of the Battery to 5 Volts and this could power up the device and send a LoRa message. |
Gott sei dank. |
Dear There
TTGO is not our products, we don’t know much about their product features.
Regards.
Aaron.Lee
…-----------------------------------
Best regards/此致敬礼
李生 Aaron.Lee
工程师 Electronic Engineer
成都惠利特自动化科技有限公司 Heltec Automation
+86 18080100260
+86-028-62374838
www.heltec.org
2020年11月23日 下午5:11,Lordcybertracker ***@***.***> 写道:
Hi guys, maybe a little late, but I had the same problem with TTGO LoRa32 (V1) deep sleep power consumption and I managed it by cutting the LDO from 5V circuit and by soldering the LiPo directly to LDO.
Fortunately the LDO is wired to 5V-circuit by a more or less good reachable single track coming from right top (on my picture) to the right top corner of pin 1 of LDO.
After this change CP2102 is powered only by 5V USB and working if USB is plugged. The on board LiPo-charger of course is not working. No problem for me, because I decided to use a discrete charging module with temperature tracking and batterie protection. But you may wire pin 3 of charger and pin 1 of LDO by a shottky diode - should work.
Deep sleep power consumption now is 900uA.
<https://user-images.githubusercontent.com/39725678/58792613-cd09d980-85f4-11e9-8abd-2e4d9311bd0f.JPG>
(sorry for the bad picture quality...)
Gott sei dank.
Very Good.
so i must not Trash my 5 Boards.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#6 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AH2WTFMOSBFL2O3D3R2HEFTSRIRLDANCNFSM4EFRDAEQ>.
|
Hello! Unfortunately I could not find a PCB layout of the LoRa32 board. Thus, it is not completely clear, what cutting the track you mentioned really does. Do you know, whether it is still possible to power the board via one of the 5V pins after the modification? |
Hi deejot0, it is completely clear: cutting the track seperates the ESP32 power regulator from the 5V supply - you need to solder power directly to it, and, no you can not power ESP32 by 5Vpins any more. |
Here is a reversible solution for those, who do not want to cut the track. It is quite easy to lift the 5V pin of the LDO from its pad. Then a pin header can be soldered to that pin and the second contact of the pin header can be soldered to one of the 5V contacts of the LoRa32 board. When the contacts of the pin header are closed with help of a jumper, the board behaves as known. When the jumper is removed, the board has to be powered with 3.3V, but has a deep sleep current of ~3 mA. |
Hardware:
Board: Heltec ESP32 WiFi Lora Board Core
Installation/update date: 25/nov/2017
IDE name: Arduino IDE
Flash Frequency: 80Mhz
Upload Speed: 921600
Description:
I want to set the esp32 to deep sleep mode and measure the power consumption. The esp32 specification says that the power consumption should be in the µA range. My measurement is between 3mA and 10mA in deep-sleep mode. I'm powering the board with 3.7V lipo on the 3.3V input pin.
Sketch:
The text was updated successfully, but these errors were encountered: