MicroPython FrameBuffer
(Updated at 12/01/2022)
Understanding the module framebuf
Screen drivers generally do not send data directly when a pixel is modified. It would take too much time each time. All pixels of the screen are sent at once. To do this, a buffer contains the state of all the pixels on the screen: it is an array of bits of type bytearray()
Our Python program will modify the state of the pixels in the buffer. Then this buffer will be sent periodically to the screen to update the “physical” pixels, possibly in the background by the driver. The Python library’s driver communicates with the screen via an I2C bus, SPI.
The module FrameBuffer
is only an abstraction layer that proposes a generic buffer. The data format will be configured according to the type of pixels on the screen (monochrome, RGB).
We can also have several small FrameBuffer
for the same screen, with a size smaller than the screen dimensions. This will be very useful for moving small images on the screen.
Warning
In this article, we use the SS1306 monochrome screen for more simplicity
This article is available to premium members only. You still have 84% to discover.
Subscribe for only 5$/monthAlready subscribed? Sign in