DEV-12923

Intro
General Overview of MicroView by JP Liew
The MicroView is the first chip-sized Arduino compatible that lets you see what your Arduino is thinking
by using a built-in OLED display. In the heart of MicroView there is an ATMEL’s ATmega328P, 5V & 3.3V
LDO and a 64x48 pixel OLED display, together with other passive components that allow the MicroView
to operate without any external components other than a power supply.
MicroView is 100% code compatible with Arduino Uno (ATmega328P version), meaning the
code that runs on an Arduino Uno will also be able to run on the MicroView if the IO pins
used in the code are externally exposed on the MicroView.
Hardware Specifications
Display : 64x48 OLED Display
Microcontroller : ATmega328P
Operating Voltage : 5V
Input Voltage : 3.3VDC - 16VDC
Digital I/O Pins : 12 (of which 3 provide PWM output)
Analog Input Pins : 6
Flash Memory : 32 KB
•SRAM : 2 KB
EEPROM : 1 Kilobyte
Clock Speed : 16 Mhz
No other components required
Pin Configuration
General Overview of MicroView
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.
Based on the above illustration, for example, if a user wish to plot a pixel at the position of the black dot,
where X=10 and Y=2, the would user issue the following command:
uView.pixel(10,2);
This command will then calculate the exact location of the screen buffer and set a BIT in the
corresponding BYTE to the X,Y position.
Diagram showing how a linear screen buffer in the ATmega328P aligns with the OLED pixels.

DEV-12923

Mfr. #:
Manufacturer:
SparkFun
Description:
Display Development Tools MIcroView OLED Arduino Module
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet