I have been having fun with these Heltec HTIT-WB32LAF_V3.2 boards and learning micropython at the same time.
The fact that it has a lora chip and an oled display is enticing. I got the lora chips to work from 3 miles away in a dense urban area.
And that was just with those stubby 2" antennas.
I decided to test the deepsleep mode and was expecting to measure microamps, but instead I got 1.7ma consistently.
It was the same for the 4 board that I purchased. Then I went about the task of researching and experimenting with manipulating
the select pin of the lora chip and also the power to the oled display but that didn’t lead me anywhere useful.
When I bypassed the usb power and used either the connected battery or an external supply I still got 1.7mv across the 1 ohm
resistor I put in series - indicating that 1.7ma was flowing. An ammeter in series also measured 1.7ma.
Is there some piece of info I’m missing?
Here’s my program:
“”"""""""""""""""""""""
deepsleep Heltec HTIT-WB32LAF_V3.2
date 12-14-24
V1.24.1 of Micropython installed
Can never get below 1.75ma in deepsleep mode even when bypassing regulators and
providing 3.3 volt directly from a power supply.
This program draws 17ma until deepsleep command – then it draws 1.7ma.
There are no external components connected to any pins.
I put a 1 ohm resistor in series with either a power supply or battery and measured voltage across it.
All 4 of these boards that I own act the same way on either battery power or power supply power.
I don’t run this program from USB power. Only either from attached battery or from an external supply driving the 3.3 volt supply pin
I would have been OK with it drawing 100 microamps. But milliamps, hmmmm.
“”"""""""""""""""""""""
import machine
from machine import Pin, deepsleep
from time import sleep
import esp32
machine.freq(20000000) # lowered MPU freq to lowest available
lora_nss = Pin(8, Pin.OUT) # tried manipulating Lora peripheral chip select
led = Pin(35, Pin.OUT)
led.value(0)
oled_Vext = Pin(36, Pin.OUT) # tied manipulating oled peripheral voltage
oled_Vext.value(1) # this didn’t make a difference either
#while(True):
lora_nss.value(1) # lora chip select didn’t seem to make a difference
sleep(5)
lora_nss.value(0)
sleep(5)
led.value(1) # led quick flash to indicate when about to enter deepsleep
sleep(0.1)
esp32.gpio_deep_sleep_hold(True) # this command didn’t seem to have any effect
# regardless of if it’s set True or False
deepsleep(5000) # sleep for 5 seconds