
For more details on pins of MicroView, please refer to the ATmega328P Datasheet.
OLED Memory Map
The SSD1306 is the controller built into the MicroView’s OLED display. It has flexible yet complex
segment and common drivers. One requires vast knowledge on memory addressing in order to use the
SSD1306 controller.
MicroView’s library was written to hide away the complexities of the SSD1306 controller, so that users
can issue simple commands to control the display. Although the SSD1306 has a built-in RAM (memory)
for the screen, when connected using the SPI method, the ATmega328P is not able to read the RAM
(memory) of the SSD1306. Therefore the software will not be able to manipulate the screen buffer to
perform mathematical operations.
MicroView’s library overcomes this by allocating 384 bytes ( (64 x 48)/8 bits) of memory from
ATmega328P as buffer. The library can now manipulate the screen buffer and then perform a bulk
transfer from the ATmega328P’s memory to the internal memory of the SSD1306 controller.
The 384 bytes of screen buffer are declared in MicroView’s library as
static uint8_t screenmemory [] = {.total 384 bytes of data..};
and are arranged in a linear form representing the following 64 x 48 pixels coordinate system.