Basic_Watch_v2 in progress

My battery life is horrendous on the latest version. I think this is because my device thinks the USB is always connected so it doesn’t go to sleep.

I think my watch has a hardware fault.

Did you tried the USB Detection code snippets „standalone“ to be sure it‘s not something from the sketch even it‘s unlogical?

No. I will give it a try. Seems odd thought that you,@mtulu and I all loaded the same code from GitHub and yours both work and mine does not.

When I get a chance I will try the snippet.

Maybe just the line which is not cleared for whatever reason.

Odd

#include "SSD1306Ascii.h"
#include "SSD1306AsciiSpi.h"
#define CS_PIN  A5
#define RST_PIN A4
#define DC_PIN  A3
#define CRG_STATE 5
SSD1306AsciiSpi oled;

void setup() {
  // put your setup code here, to run once:
USBCON|=(1<<OTGPADE);  //enables VBUS pad
pinMode(CRG_STATE, INPUT_PULLUP);
  oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, RST_PIN);
  oled.clear();
  oled.setFont(System5x7);
}

void loop() {
  // put your main code here, to run repeatedly:
oled.clear();
bool usbConnected = (USBSTA&(1<<VBUS));
//bool charging = digitalRead(CRG_STATE);
oled.println(usbConnected);
//
delay(500);
}

OK. So if I have pin 5 enabled as a input with pullup. USB detection does not work. If I comment it out it works fine.

Weird because my setup is with INPUT_PULLUP.

#define CRG_STATE 5

setup()

pinMode(CRG_STATE, INPUT_PULLUP);
USBCON|=(1<<OTGPADE);

loop()

usbConnected = (USBSTA&(1<<VBUS));
charging = usbConnected && !digitalRead(CRG_STATE);

I have disabled charge detection for now. I also found a bug that was causing the watch to not sleep (may be related to usb issues). So hopefully I will see better battery life tomorrow.

1 Like

6 hours and 75% battery left. Although I have a slight delay on waking the watch because I have put the MCU to sleep 750ms each cycle.

I was looking at pcint last night but it doesn’t play ball with the Adafruit Bluetooth library.

Also I have noticed some battery degredation. I can only charge it to 93% now.

Still 61% almost 12 hours later.

15% after 24 hours. Not amazing but much better.

There is definitely an increase in battery life based on my test. I did not understand why charge detection causing USB to stay attached. I will take deep look into it, once I return from the CES Show:)

It must be the polling of the Bluetooth. I can’t use interrupts though as the pcint libraries I’ve tried won’t work with the bluefruit library.