Hi folks,
I just got my hands on a Wireless Paper board. Got a sketch running and testing its power consumption during deep sleep.
My multimeter indicates 1.68 mA with a Li-ion battery attached. The age-old problem: this is much higher than advertised (“Low power consumption, 20uA in deep sleep”).
There’s no power LED (only on USB power), so I am not completely sure in which direction to look.
Anyone get ideas?
Sketch to reproduce:
#include "HT_QYEG0213RWS800_BWR.h"
#include "images.h"
// Initialize the display
QYEG0213RWS800_BWR display(6, 5, 4, 7, 3, 2, -1, 6000000);//rst,dc,cs,busy,sck,mosi,miso,frequency
typedef void (*Demo)(void);
/* screen rotation
* ANGLE_0_DEGREE
* ANGLE_90_DEGREE
* ANGLE_180_DEGREE
* ANGLE_270_DEGREE
*/
#define DIRECTION ANGLE_0_DEGREE
int width,height;
int demoMode = 0;
void VextON(void)
{
pinMode(Vext,OUTPUT);
digitalWrite(Vext, LOW);
}
void VextOFF(void) //Vext default OFF
{
pinMode(Vext,OUTPUT);
digitalWrite(Vext, HIGH);
}
void enter_deepsleep(void)
{
Serial.println("Going to deepsleep...");
Serial.flush();
esp_sleep_enable_timer_wakeup(20*1000*(uint64_t)1000);
esp_deep_sleep_start();
}
void drawCircleDemo() {
int x = width/4;
int y = height/2;
display.clear();
for (int i=1; i < 8; i++) {
display.setColor(WHITE);
display.drawCircle(x, y, i*3);
if (i % 2 == 0) {
display.setColor(BLACK);
}
}
display.update(BLACK_BUFFER);
display.clear();
x = width/4*3;
for (int i=1; i < 8; i++) {
display.setColor(WHITE);
if (i % 2 == 0) {
display.setColor(BLACK);
}
display.fillCircle(x, y, 32 - i* 3);
}
display.update(COLOR_BUFFER);
display.display();
}
void setup() {
Serial.begin(115200);
if (DIRECTION==ANGLE_0_DEGREE||DIRECTION==ANGLE_180_DEGREE)
{
width = display._width;
height = display._height;
}
else
{
width = display._height;
height = display._width;
}
VextON();
delay(100);
Serial.println("Woke from boot/sleep");
// Initialising the UI will init the display too.
display.init();
display.screenRotate(DIRECTION);
display.setFont(ArialMT_Plain_10);
drawCircleDemo();
delay(10000);
display.sleep();
delay(100);
VextOFF();
enter_deepsleep();
}
void loop() {
}