Support for low power modes (Pyboard 1.x and D)

Discuss development of drivers for external hardware and components, such as LCD screens, sensors, motor drivers, etc.
Target audience: Users and developers of drivers.
Post Reply
User avatar
pythoncoder
Posts: 4804
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Support for low power modes (Pyboard 1.x and D)

Post by pythoncoder » Fri Oct 02, 2020 3:34 pm

I have updated my micropython-micropower repo to provide full support for the Pyboard D. The module provides easy access to the following hardware features:
  • 4KiB of backup RAM accessible as words or bytes. May be battery backed. Whether or not battery backed, retains data during standby.
  • 20 general purpose 32-bit registers also battery backed.
  • Wakeup from standby by means of a switch on the Tamper pin.
  • Wakeup from standby by means of two Pyboard pins (four on the D series).
  • Wakeup by means of two independent real time clock (RTC) alarms. An alarm provides for (say) a wakeup every the 1st day of the month at 03:15.
  • The ability to determine the reason for wakeup from standby.
  • Support for the stop condition. This stops the time source used by utime. The module provides alternative ways to do millisecond level timing via the RTC.
These features work on Pyboard 1.x with official firmware.

In the case of the D series there is one exception. There is a firmware bug in the Pyboard D identified by @irsla which prevents the pin wakeup working. Pin wakeup requires firmware built using the above PR.

The Tamper mechanism does work with official firmware; unfortunately this pin (X18/C13) is only brought out on the wbus and WBUS_DIP68 adaptor.
Peter Hinch

Post Reply