nvm – Non-volatile memory

The nvm module allows you to store whatever raw bytes you wish in a reserved section non-volatile memory.

Note that this module can’t be imported and used directly. The sole instance of ByteArray is available at microcontroller.nvm.

class nvm.ByteArray

Presents a stretch of non-volatile memory as a bytearray.

Non-volatile memory is available as a byte array that persists over reloads and power cycles. Each assignment causes an erase and write cycle so its recommended to assign all values to change at once.


import microcontroller
microcontroller.nvm[0:3] = b"\xcc\x10\x00"

Not currently dynamically supported. Access the sole instance through microcontroller.nvm.


Return the length. This is used by (len)

__getitem__(self, index: slice)bytearray
__getitem__(self, index: int)int

Returns the value at the given index.

__setitem__(self, index: slice, value: _typing.ReadableBuffer)None
__setitem__(self, index: int, value: int)None

Set the value at the given index.