# Code with Pico by Ashok (www.ashokr.com) for www.embedded.club
from machine import Pin, Timer, I2C
from ssd1306 import SSD1306_I2C
import framebuf
#import utime
logo = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F, 0x3F,
0x3F, 0xBF, 0x3F, 0xBF, 0x3F, 0x3F, 0x3F, 0x3F, 0x7F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x3F, 0x3F,
0x3F, 0x3F, 0x1F, 0x3F, 0xBF, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F,
0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x3F, 0x3F, 0xFF, 0xFF, 0x1F, 0x1F, 0x1F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x3F, 0x7F, 0xFF, 0xFF,
0x7F, 0x3F, 0x3F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x9F,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xF0, 0x80, 0x0E, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xEF, 0xEF, 0xDF, 0x9F, 0xBF, 0x7F, 0x7E, 0xFE, 0xF8, 0x01,
0x07, 0x03, 0x71, 0xFC, 0xFE, 0x7E, 0x3F, 0xBF, 0xDF, 0xFF,
0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x08, 0x80,
0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0xC3, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFE, 0xFC, 0xF1, 0x73, 0x27, 0x8F, 0x8F, 0xDF, 0xDF,
0xDF, 0x4F, 0x0F, 0x07, 0xC2, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0,
0xE0, 0xC0, 0xC0, 0x86, 0x0F, 0xCF, 0xCF, 0xDF, 0xDF, 0x8F,
0x8F, 0x0F, 0x27, 0x73, 0xF9, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFC, 0xF8, 0xF8, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xFF,
0xFF, 0xFE, 0xFC, 0xF8, 0xF9, 0xF9, 0xF9, 0xF9, 0xF8, 0xF8,
0xFC, 0xFF, 0xFF, 0xF8, 0xF8, 0xF8, 0xF9, 0xF9, 0xF9, 0xF9,
0xF9, 0xF8, 0xFC, 0xFE, 0xFF, 0xFF, 0xFE, 0xFC, 0xF8, 0xF9,
0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x0F,
0x01, 0x3C, 0x1E, 0x1F, 0x0F, 0x87, 0xC3, 0xE3, 0xF1, 0xF0,
0xF0, 0xF3, 0xF7, 0xE7, 0xC7, 0x0F, 0x0F, 0x0F, 0x8F, 0xE7,
0xE7, 0xF7, 0xF1, 0xF0, 0xF1, 0xF3, 0xE7, 0xCF, 0x8F, 0x1F,
0x3E, 0x38, 0x00, 0x03, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x01, 0x03,
0x7F, 0xFF, 0x1F, 0x01, 0x81, 0x01, 0x01, 0x1F, 0xFF, 0x3F,
0x03, 0x01, 0xF1, 0xFF, 0x01, 0x01, 0x01, 0xFF, 0xF9, 0xF9,
0xF9, 0x01, 0x01, 0xF9, 0xF9, 0xF9, 0xFF, 0x01, 0x01, 0x01,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x01, 0x01, 0x01, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x8F, 0x01, 0xF8, 0xFE, 0xFF, 0xFF, 0x1E,
0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x7F, 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x3F, 0x7F, 0x7F,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3E, 0x00, 0x3E,
0xFF, 0xFF, 0xFE, 0xF8, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xE0, 0xC0, 0x81,
0xC0, 0xF0, 0xFF, 0xFF, 0xE0, 0xC0, 0x81, 0xC0, 0xE0, 0xFE,
0xFF, 0xFF, 0xC0, 0x80, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0x80,
0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x80, 0xC0, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0x80, 0x80, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFC, 0xF8, 0x83, 0x03, 0xF1, 0xF8, 0xF8, 0xF8,
0xF8, 0xF0, 0xE0, 0xC1, 0x81, 0x01, 0x01, 0xF8, 0xFE, 0xFE,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xF8, 0x00,
0x01, 0xC1, 0xE0, 0xF0, 0xF8, 0xFC, 0xFC, 0xFC, 0xFD, 0x03,
0x03, 0xE0, 0xF8, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x8F, 0xCF, 0xCF, 0xCF,
0x8F, 0x8F, 0x1F, 0x1F, 0xFF, 0x0F, 0x0F, 0x0F, 0xFF, 0xFF,
0x3F, 0x1F, 0x8F, 0x8F, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xDF,
0xFF, 0x3F, 0x1F, 0x0F, 0x8F, 0x8F, 0xCF, 0x8F, 0x8F, 0x0F,
0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFC, 0xF0, 0xE3, 0xC7, 0xCF, 0x9F, 0x9F,
0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x80, 0xC1, 0xC3, 0xC7, 0xE7,
0xE7, 0xE7, 0xE7, 0xE7, 0xC3, 0xC1, 0x80, 0x00, 0x1F, 0x1F,
0x1F, 0x1F, 0x9F, 0xDF, 0xCF, 0xE7, 0xF3, 0xF8, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x00, 0x00, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE3,
0xF0, 0xF0, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x80,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE,
0xFE, 0xFC, 0xFC, 0xF9, 0xF3, 0xF3, 0xF7, 0xE7, 0xE7, 0xE7,
0xE7, 0xF3, 0xF3, 0xF9, 0xF8, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFC, 0xFC, 0xFC,
0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC,
0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF]
WIDTH = 128
HEIGHT = 64
i2c = I2C(0) # SCL=Pin(GP9), SDA=Pin(GP8)
oled = SSD1306_I2C(WIDTH, HEIGHT, i2c)
print("OLED Display Initilized")
oled.fill(0)
#oled.text("Rasp Pi Pico",1,1)
#oled.show()
oled.draw_image(logo)
led1 = Pin(25, Pin.OUT)
timer1 = Timer()
def tick_timer(timer):
global led1
led1.toggle()
timer1.init(freq=2,mode=Timer.PERIODIC,callback=tick_timer)
Comments