Here is a workaround for UIFLow2.0:
import M5 import hardware import time # UIFlow2.0 workaround for M5.Power.timerSleep() not working properly # on SOME CoreINK devices. On these decvices the board-power is not # proberly turned off. However, the M5.Power.powerOff() does work # for these devices, i.e. turning board-power properly off M5.begin() #init i2c bus with pins connected to the RTC i2c0 = hardware.I2C(0, scl=hardware.Pin(22), sda=hardware.Pin(21), freq=400000) ##### Put your code here. time.sleep(3) ##### code substitution the timerSleep() function # Set registers of the RTC. ref datasheet for BM8563 RTC for further info # reg 0x00 always 00h # reg 0x01 bit 2-7: always 0, bit 0: enable/disable timer int # 0x01 = timer enabled reg00_01 = bytearray([0x00, 0x01]) # reg 0x0D always 00h - clock out disabled # reg 0x0E bit 7: endable/disable timer, bit 0-1 timer resolution # 10=sec 11 = min # 0x82 = int enabled and seconds resolution # reg 0x0F timer value 0-255 # 0x14 = 20d = 20 sec. if reg 0x0E = 0x83 then 20 min reg0D_0F = bytearray([0x00, 0x82, 0x14]) # i2c device address of RTC is 0x51 # Write to register address 0x00-0x01 i2c0.writeto_mem(0x51,0x00, reg00_01) # Write to register adsress 0x0D-0x0F i2c0.writeto_mem(0x51,0x0D, reg0D_0F) M5.Power.powerOff() ##### end of code substitution the timerSleep() function