All Projects → peterhinch → micropython-micropower

peterhinch / micropython-micropower

Licence: MIT license
Support for building ultra low power systems based on the Pyboard (1.x and D series).

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to micropython-micropower

rust-sysfs-pwm
Linux PWM Access via Sysfs in Rust
Stars: ✭ 42 (-4.55%)
Mutual labels:  embedded
zephyr-rtos-tutorial
Zephyr tutorial for beginners
Stars: ✭ 94 (+113.64%)
Mutual labels:  embedded
rebuild
Zero-dependency, reproducible build environments
Stars: ✭ 48 (+9.09%)
Mutual labels:  embedded
arm synth
Wavetable Synth Running on an STM32F 32-bit ARM Cortex M3 microprocessor
Stars: ✭ 23 (-47.73%)
Mutual labels:  embedded
Emma
Emma Memory and Mapfile Analyser
Stars: ✭ 21 (-52.27%)
Mutual labels:  embedded
lwjson
Lightweight JSON parser for embedded systems
Stars: ✭ 66 (+50%)
Mutual labels:  embedded
arm-none-eabi-gcc-xpack
A binary xPack with the Arm Embedded GCC toolchain
Stars: ✭ 85 (+93.18%)
Mutual labels:  embedded
w1-gpio-cl
Command line configured kernel mode 1-wire bus master driver. w1-gpio standard Linux module enhancement/substitution.
Stars: ✭ 17 (-61.36%)
Mutual labels:  embedded
libe4
C library of Teserakt's E4 end-to-end security protocol
Stars: ✭ 15 (-65.91%)
Mutual labels:  embedded
libDaisy
Hardware Library for the Daisy Audio Platform
Stars: ✭ 164 (+272.73%)
Mutual labels:  embedded
Embedded UKF Library
A compact Unscented Kalman Filter (UKF) library for Teensy4/Arduino system (or any real time embedded system in general)
Stars: ✭ 31 (-29.55%)
Mutual labels:  embedded
uevloop
A fast and lightweight event loop for embedded platforms.
Stars: ✭ 61 (+38.64%)
Mutual labels:  embedded
openncc
OpenNCC Kit
Stars: ✭ 23 (-47.73%)
Mutual labels:  embedded
cowl
A lightweight C/C++ library for working with Web Ontology Language (OWL) ontologies
Stars: ✭ 18 (-59.09%)
Mutual labels:  embedded
rauc-hawkbit-updater
The RAUC hawkBit updater is a simple commandline tool/daemon that runs on your target and interfaces between RAUC and hawkBit's DDI API.
Stars: ✭ 40 (-9.09%)
Mutual labels:  embedded
uart
serial com api
Stars: ✭ 37 (-15.91%)
Mutual labels:  embedded
pumbaa
Python on Simba.
Stars: ✭ 61 (+38.64%)
Mutual labels:  embedded
dockage
embedded document/json store
Stars: ✭ 20 (-54.55%)
Mutual labels:  embedded
mish
A no-std libm implementation in Rust
Stars: ✭ 14 (-68.18%)
Mutual labels:  embedded
bacnet-stack
BACnet Protocol Stack library provides a BACnet application layer, network layer and media access (MAC) layer communications services.
Stars: ✭ 199 (+352.27%)
Mutual labels:  embedded

Reducing Pyboard system power consumption

This repository is specific to STM systems. It primarily supports Pyboard 1.x and Pyboard D.

The Pyboard can be used to build systems with extremely low power consumption, and it is possible to build systems capable of running for over a year on standard batteries such as AA cells or even coin cells. With the Pyboard 1.x series, achieving the lowest possible power consumption where peripheral devices are attached requires a little additional hardware. The Pyboard D overcomes this requirement by virtue of a software switchable 3.3V regulator which also powers the I2C pullups.

Broadly there are two approaches, depending on the acceptable level of power consumption. If an idle current in the range of 500uA to 1mA is acceptable, code can be largely conventional with pyb.stop() being employed to reduce power consumption during periods when the Pyboard is idle.

For the lowest possible power consumption pyb.standby() must be used, cutting consumption to around 6μA. With external hardware on the Pyboard 1.x or via the switchable regulator on the D series the peripherals may be turned off ensuring that the entire system uses only this amount. The drawback of standby is that on waking the Pyboard restarts as if from a reboot. This introduces potential difficulties regarding determining the source of the wakeup and the storage of program state while sleeping.

Two sets of resources are provided to assist with the development of low power solutions.

Hardware

hardware A discussion of techniques to minimise power consumption including ways to shut down attached devices, calculation of battery usage and measurements of results. A schematic for a typical system is provided with accompanying PCB layout.

Software

upower This documents upower.py, a module providing access to features of the Pyboard SOC which are currently unsupported in the official firmware. Some of these features may be of wider use, such as using the battery backed RAM to store arbitrary Python objects and accessing the RTC registers.

All code is issued under the MIT license

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].