Working with graphics in CircuitPython is a joy. CircuitPython has support for a plethora of screen types and a rich set of functions to perform graphics operations.
When working on a device that has a screen, it can be useful to programmatically take a snapshot what's on the screen and save it into a file for examination or use later. This could be for various reasons including capturing graphics for use at another time and/or system, debugging the code that is putting pixels on the screen, or use in documentation. It can also be useful to be able to save the contents of a bitmap, for example in PyPaint.
This guide introduces a CircuitPython library which is compatible with CircuitPython 5.0 and later. The library allows the programmer to take the pixels in a bitmap or on a screen and save them into standard 24 bits per pixel BMP files. Files may be on the CircuitPython USB flash filesystem (if it's set to writable mode) or onto a SD card.