MicroView Arduino Library - Main Page

MicroView Arduino Library Documentation

Developed by Geek Ammo Pty Ltd based on Arduino and other Open Source libraries.


Arduino library for MicroView.

Required Libraries

  1. Time.h NOTE: Only required when using clock/time functions. For example the MicroViewDemo in the example folder.


  1. Change directory to Arduino's main directory
  2. cd libraries
  3. mkdir MicroView
  4. cd MicroView
  5. git clone https://github.com/geekammo/MicroView-Arduino-Library.git .
  6. Start Arduino IDE.
  7. MicroView example is located at, File—>Example—>MicroView—>MicroViewDemo

### Example 1 - Hello World!

#include <MicroView.h>
void setup() {
void loop() {
    uView.display();        // display current page buffer

### Example 2 - Basic Drawing

#include <MicroView.h>
void setup() {
    uView.clear(PAGE);      // clear the page buffer
void loop() {
    uView.print(" MicroView");
    uView.display();        // display current page buffer

### Example 3 - Widgets

#include <MicroView.h>
MicroViewWidget *widget,*widget2;
void setup() {
    widget= new MicroViewGauge(32,30,0,100);  // draw Gauge widget at x=32,y=30,min=0, max=100
    widget2= new MicroViewSlider(0,0,0,100);  // draw Slider widget at x=0,y=0,min=0, max=100
void loop() {
    for(int i=0; i<=100;i++) {
        widget->setValue(i);    // give a value to widget
        uView.display();        // display current page buffer

### Example 4 - Communication

#include <MicroView.h>
void setup() {
    Serial.begin(115200);   // user decide the baud rate
void loop() {


v1.23b: 29th March 2015 by Scott Allen

  • added overloaded setValue() function to add a boolean argument doDraw which controls whether the display buffer is updated.

v1.22b: 4th October 2014 by Scott Allen and Ben Lewis

  • replaced circleFill() with a faster algorithm, better looking circle - Ben Lewis
  • replaced sprintf with dedicated code, reduced program size - Scott Allen
  • added getValLen method for widgets to return length of current value - Scott Allen
  • initialised widget with minimum value instead of 0 - Scott Allen
  • added getValLen and getMaxValLen keywords
  • modified MicroViewDemo example to use getValLen method - Scott Allen

v1.21b: 22nd September 2014 by Esmit Pérez and Scott Allen

  • re-factored code if/else with switch - Esmit Pérez
  • simplified draw() to remove redundant code - Esmit Pérez
  • added WIDGETNOVALUE to widgets - Scott
  • fixed compiler warning - Scott
  • improved gauge minor ticks - Scott
  • added destructor for MicroViewWidget base class - Scott

v1.20b: 27th August 2014 by Scott Allen, Emil Ong

  • added Flashing Heart Example - JP
  • added getScreenBuffer() for access to screen RAM - Scott
  • added keywords for existing functions - Scott
  • fixed circleFill() - Emil

v1.19b: 19th August 2014 by Scott Allen

  • added uView.scrollLeft() function
  • simplified Silder Widget drawFace() function
  • added full signed 16 bit ranges for widgets
  • improved drawing for minor and major ticks

v1.18b: 5th August 2014 by Scott Allen

  • fixed compiler warning in MicroViewSlider
  • changed vertical slider direction.

v1.17b: 4th August 2014 by JP Liew

  • added reDraw() for MicroViewWidget class
  • removed Serial.begin() from uView.begin() so that user can have control
  • added MicroViewWidgetRedraw example

v1.16b: 3rd August 2014 by czetie

  • added vertical slider widget

v1.15b: 3rd August 2014 by Scott Allen

  • improved lots of low level routines, Fast SPI
  • fixed some compilation warnings
  • reduced overdriving display inputs
  • added uView.end() to power off the display
  • improved speed of display() and clear() functions
  • fixed positionning of "3" on clock face

v1.14b: 26th July 2014 by JP Liew

  • added Learning Kit Circuit Sketch

v1.13b: 13th June 2014 by JP Liew

  • added Sine Wave Example
  • inserted license to example code

v1.12b: 11th June 2014 by JP Liew

  • added comments for SparkFun Logo
  • added Rotating Cube example by Jim Lindblom @ SparkFun Electronics
  • changed git clone instruction to use https

v1.11b: 9th June 2014 by JP Liew

  • added simple tutorials for production sketch
  • modified OLED RESET pin to 7
  • added SparkFun Logo

v1.10b: 22th April 2014 by JP Liew

  • changed SS, RESET, DC pins to use weak internal pull-up resistors

v1.09b: 17th April 2014 by JP Liew

  • changed verticalFlip() to flipVertical() and horizontalFlip() to flipHorizontal() for consistency
  • added debug messages for doCmd()

v1.08b: 18th February 2014 by JP Liew

  • added verticalFlip(), horizontalFlip()

v1.07b: 15th February 2014 by JP Liew

  • changed function name stopScroll to scrollStop for consistency
  • added contrast function
  • added invert function
  • added KEYWORD to keywords.txt
  • added checkComm() function to communicate with host PC

v1.06b: 9th February 2014 by JP Liew

  • fixed Slider negative value not working
  • added round Gauge widget
  • changed Example 3 to show round Gauge

v1.05b: 6th February 2014 by JP Liew

v1.04b: 3rd February 2014 by JP Liew

  • declared permanent uView variable.
  • cleaned code and added some remarks.
  • added drawing functions that make use of default color and draw mode.
  • added example in README.md

v1.03b: 1st February 2014 by JP Liew

  • added 7 segment number only font.

v1.02b: 31th January 2014 by JP Liew

  • added sprite animation demo.

v1.01b: 30th January 2014 by JP Liew

  • fixed font draw XOR mode bug.
  • added analog clock demo.

v1.00b: 30th January 2014 by JP Liew

  • Initial commit. Beta with minor bugs.


MicroView Arduino Library Copyright (C) 2014 GeekAmmo

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.