/pxt-oled-ssd1306

Tinkercademy MakeCode package for using the SSD1306 OLED controller with micro:bit

Primary LanguageC++MIT LicenseMIT

SSD1306 OLED MakeCode Package Build Status

This is the MakeCode Package for SSD1306 OLED controller, based on the Adafruit Arduino library available here.

Hardware Setup

  1. Insert the OLED display into the I2C ports on the break out board.

Blocks

Initialize OLED Display

Initializes the OLED display.

Sets up the OLED display and prepares it for use by the micro:bit.

OLED.init(64, 128);

This block must be placed before any of the show blocks.

Show String Without Newline

Displays a string on the OLED module without a newline.

OLED.showString1("hello, micro:bit!")

The init block must be placed before this.

Show String With Newline

Displays a string on the OLED module with a newline.

OLED.showString2("hello, micro:bit!")

The init block must be placed before this.

Show Number Without newline

Displays a number on the OLED module without a newline.

OLED.showNumber1(123)

The init block must be placed before this.

Show Number With Newline

Displays a number on the OLED module with a newline.

OLED.showNumber2(123)

The init block must be placed before this.

Clear Display

Clears the display.

OLED.clear()

The init block must be placed before this.

Show Loading Screen

Displays a pre-made loading screen.

OLED.Loading_Screen()

The init block must be placed before this.

Draw Outlined Rectangle

Displays an outline of a rectangle.

OLED.drawRectangle(x,y,w,h)

The init block must be placed before this.

Draw Filled Rectangle

Displays a filled rectangle.

OLED.fillRectangle(x,y,w,h)

The init block must be placed before this.

Draw Outlined Circle

Displays an outline of a circle.

OLED.drawCircle(x,y,r)

The init block must be placed before this.

Draw Filled Circle

Displays a filled circle.

OLED.fillCircle(x,y,r)

The init block must be placed before this.

Draw Line

Displays a line.

OLED.drawLine(x1,y1,x2,y2)

The init block must be placed before this.

Progress bar

Displays a progress bar with a specified percentage of progress.

OLED.showProgress()

The init block must be placed before this.

Example: Counter

The following code is a simple counter that displays an increasing number every second.

OLED.init(64, 128)
let item = 0
basic.forever(() => {
    basic.pause(1000)
    item += 1
    OLED.showNumber(item)
})

Supported targets

  • for PXT/microbit

Footnotes

  1. Datasheet https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf