from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
import framebuf
import utime
import sys
def init_i2c(scl_pin, sda_pin):
# Initialize I2C device
i2c_dev = I2C(1, scl=Pin(scl_pin), sda=Pin(sda_pin), freq=200000)
i2c_addr = [hex(ii) for ii in i2c_dev.scan()]
if not i2c_addr:
print('No I2C Display Found')
sys.exit()
else:
print("I2C Address : {}".format(i2c_addr[0]))
print("I2C Configuration: {}".format(i2c_dev))
return i2c_dev
i2c = init_i2c(27,26)
oled = SSD1306_I2C(128,64,i2c)
plain_bytes = [
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x3f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x07, 0xe0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7f, 0x80, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x1f, 0xf8, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xe0, 0x1f, 0xff, 0xfe, 0xdb, 0x79, 0xff, 0xf0, 0xff, 0xfc, 0x00, 0x00,
0x00, 0x00, 0x03, 0xff, 0xfc, 0xff, 0xff, 0xb7, 0x7f, 0xf3, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
0x00, 0x00, 0x01, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xf8, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xe0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0xff, 0xef, 0xff, 0x80, 0x00, 0x07, 0xff, 0xef, 0xff, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0xff, 0xbf, 0x80, 0x1f, 0xff, 0xf0, 0x07, 0xff, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0x03, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1f, 0xff, 0xf0, 0x1f, 0xfb, 0xef, 0x3f, 0xe0, 0x3f, 0xdf, 0xe0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x7f, 0xf9, 0xcf, 0x3f, 0xfc, 0x0f, 0xff, 0xf0, 0x00, 0x00,
0x00, 0x0e, 0x00, 0x7f, 0x9f, 0x01, 0xff, 0xfb, 0xef, 0x7f, 0xff, 0x07, 0xff, 0xf8, 0xff, 0xc0,
0x00, 0x1f, 0xfc, 0xff, 0xfe, 0x07, 0xff, 0xe0, 0x00, 0x1f, 0xff, 0x81, 0xf3, 0xff, 0xff, 0xe0,
0x00, 0x1f, 0xff, 0xfe, 0x3c, 0x0f, 0xff, 0x80, 0x00, 0x07, 0xff, 0xc0, 0xff, 0xff, 0xff, 0xe0,
0x00, 0x3f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0x80, 0x00, 0x03, 0xff, 0xe0, 0x7f, 0x7f, 0xff, 0xf0,
0x00, 0x3f, 0xff, 0xf9, 0xf0, 0x3f, 0xe1, 0x80, 0x00, 0x02, 0x1f, 0xf0, 0x3e, 0xff, 0xff, 0xf0,
0x00, 0x3f, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0x80, 0x00, 0x03, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0x80,
0x00, 0x03, 0xff, 0xf5, 0xe0, 0x7f, 0xe1, 0x80, 0x00, 0x03, 0x1f, 0xfc, 0x1f, 0xff, 0xe0, 0x00,
0x00, 0x00, 0x0f, 0xff, 0xe0, 0x7f, 0xff, 0x80, 0x00, 0x03, 0xff, 0xfc, 0x1f, 0xff, 0x00, 0xc0,
0x00, 0x00, 0x07, 0xf9, 0xe0, 0xff, 0xff, 0x81, 0x00, 0x03, 0xff, 0xfc, 0x1f, 0xff, 0x00, 0x18,
0x00, 0x00, 0x07, 0xff, 0xe0, 0xff, 0xe1, 0x80, 0x00, 0x02, 0x1f, 0xfc, 0x1f, 0xff, 0xc0, 0x00,
0x00, 0x00, 0x07, 0xf3, 0xe0, 0xff, 0xff, 0x80, 0x00, 0x03, 0xff, 0xfc, 0x1f, 0xff, 0x81, 0x80,
0x00, 0x00, 0x07, 0xe5, 0xe0, 0xff, 0xff, 0x80, 0x00, 0x03, 0xff, 0xfc, 0x1f, 0xff, 0x80, 0x00,
0x00, 0x00, 0x07, 0xff, 0xe0, 0x7f, 0xe0, 0x80, 0x00, 0x02, 0x0f, 0xfc, 0x1f, 0xff, 0x83, 0x00,
0x00, 0x00, 0x07, 0xff, 0xe0, 0x7f, 0xff, 0x80, 0x00, 0x03, 0xff, 0xf8, 0x1f, 0xff, 0xf8, 0x00,
0x00, 0x01, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0x80, 0x00, 0x03, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xe0,
0x00, 0x3f, 0xff, 0xff, 0xf0, 0x1f, 0xe1, 0x80, 0x00, 0x02, 0x0f, 0xf0, 0x3f, 0xff, 0xff, 0xf0,
0x00, 0x3f, 0xff, 0xff, 0xf8, 0x0f, 0xff, 0x80, 0x00, 0x03, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0xf0,
0x00, 0x3f, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xc0, 0x00, 0x07, 0xff, 0xc0, 0xff, 0xff, 0xff, 0xe0,
0x00, 0x1f, 0xff, 0xff, 0xfe, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0xe0,
0x00, 0x1f, 0xff, 0xff, 0xff, 0x00, 0xff, 0xf9, 0xcf, 0x3f, 0xfe, 0x07, 0xff, 0xf8, 0x0f, 0xc0,
0x00, 0x0f, 0x00, 0x7f, 0xff, 0xc0, 0x3f, 0xf9, 0xcf, 0x3f, 0xf0, 0x0f, 0xff, 0xf0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xe0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xfc, 0x00, 0xff, 0xff, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0x80, 0x01, 0xff, 0x00, 0x07, 0xff, 0xff, 0x80, 0x00, 0x01,
0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xc0, 0x00, 0x07,
0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x0e,
0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x1c,
0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xcc, 0x1e, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x1c,
0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x88, 0x0c, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3c,
0x00, 0x00, 0x01, 0xff, 0xfc, 0x7f, 0xff, 0x8c, 0x00, 0xff, 0xff, 0xf0, 0x3f, 0xfe, 0x00, 0x1c,
0x00, 0x00, 0x00, 0xff, 0xf0, 0x07, 0xff, 0x88, 0x04, 0x07, 0xff, 0x80, 0x0f, 0xf8, 0x00, 0x1c,
0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0xff, 0xce, 0x1f, 0x1f, 0xfc, 0x00, 0x03, 0xe0, 0x00, 0x0e,
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x00, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x22, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
]
logo_fb = framebuf.FrameBuffer(bytearray(plain_bytes), 128, 64, framebuf.MONO_HLSB)
oled.fill(0)
oled.blit(logo_fb,0,0)
oled.show()