#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// 'Untitled-1', 128x64px
const uint8_t PROGMEM bitmap [] = {
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,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf8, 0x1c, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x83, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xe0, 0x00, 0x07, 0xf0, 0xff, 0xff, 0xc7, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0xff, 0xbf, 0xff,
0xff, 0x8f, 0xff, 0xf8, 0x00, 0xff, 0xf0, 0x37, 0xfc, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xbf, 0xff,
0xff, 0x7f, 0xff, 0xff, 0xfe, 0x04, 0x0f, 0xf7, 0xe3, 0xff, 0xff, 0x9f, 0xff, 0xff, 0x3f, 0xff,
0xff, 0x7f, 0xff, 0xff, 0xff, 0x00, 0x7f, 0xf6, 0x1f, 0xff, 0xff, 0xef, 0xff, 0xfe, 0x7f, 0xff,
0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x80, 0x01, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xfe, 0xff, 0xff,
0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf7, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xfd, 0xff, 0xff,
0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8c, 0xf7, 0xff, 0xff, 0xff, 0xfd, 0xff, 0x03, 0xff, 0xff,
0xfe, 0xff, 0xff, 0xdf, 0xff, 0xfc, 0x7f, 0x17, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xe3, 0xff, 0xff,
0xfc, 0xff, 0xff, 0x0f, 0xff, 0xfb, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xfe, 0x63, 0xc9, 0xff, 0xff,
0xfd, 0xff, 0xfe, 0x6f, 0xff, 0xc7, 0xff, 0xf6, 0x3f, 0xff, 0xff, 0xff, 0x8f, 0x9d, 0xff, 0xff,
0xfe, 0xff, 0xff, 0x7f, 0xff, 0xdf, 0xff, 0xf7, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x3e, 0xff, 0xff,
0xfe, 0xff, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0xf7, 0xef, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xff, 0xff,
0xff, 0x7f, 0xff, 0xbf, 0xc0, 0xff, 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x7f, 0xff,
0xff, 0x9f, 0xff, 0x3f, 0x9f, 0xff, 0xff, 0xf7, 0xfb, 0xff, 0xfe, 0x07, 0xfe, 0xff, 0x7f, 0xff,
0xff, 0xe7, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xf7, 0xfd, 0xff, 0xf9, 0xf9, 0xfe, 0xff, 0x7f, 0xff,
0xff, 0xf9, 0xff, 0x7f, 0x7f, 0xff, 0xff, 0xf7, 0xfe, 0xff, 0xe7, 0xfe, 0xfe, 0xff, 0x7f, 0xff,
0x7f, 0xfe, 0x7f, 0xff, 0x7f, 0xff, 0xff, 0xf7, 0xff, 0x7f, 0xef, 0xff, 0x7f, 0x7f, 0x7f, 0xff,
0x7f, 0xff, 0x9f, 0xfe, 0xff, 0xff, 0xff, 0xf7, 0xff, 0x7f, 0xdf, 0xff, 0x3f, 0x7f, 0x7f, 0xff,
0x7f, 0xff, 0xe7, 0xfe, 0xff, 0xff, 0xff, 0xef, 0xff, 0xbf, 0x9f, 0xff, 0xbf, 0xbf, 0x7f, 0xff,
0xbf, 0xff, 0xfb, 0xfe, 0xff, 0xfc, 0x7f, 0xef, 0xff, 0xcf, 0xbf, 0xff, 0xbf, 0xbf, 0x03, 0xff,
0xbf, 0xff, 0xfc, 0xfe, 0xff, 0xf3, 0xbf, 0xef, 0xff, 0xf7, 0x7f, 0xff, 0x3f, 0xbf, 0xf9, 0xff,
0xbf, 0xff, 0xff, 0x7e, 0xff, 0xe7, 0x7f, 0xef, 0xff, 0xf3, 0xff, 0xfe, 0x3f, 0xbf, 0xfe, 0xff,
0xbf, 0xff, 0xff, 0x3e, 0xff, 0xcf, 0xff, 0xef, 0xff, 0xfb, 0xff, 0xfc, 0x3f, 0xbf, 0xff, 0xff,
0xbf, 0xff, 0xff, 0x3e, 0xff, 0xdf, 0xff, 0xef, 0xff, 0xf9, 0xff, 0xf0, 0x3f, 0x7f, 0xff, 0xff,
0xbf, 0xff, 0xff, 0x3e, 0xff, 0xdf, 0xff, 0xef, 0xff, 0xfd, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff,
0xbf, 0xff, 0xff, 0x3e, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0x3e, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0xbf, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0x3e, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x83, 0xff, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0x3e, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xbe, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xfe, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbe, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xbf, 0xff, 0xfe, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x80, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
};
void setup() {
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.display();
delay(2000);
display.clearDisplay();
display.drawBitmap(0, 0, bitmap, 128, 64, 1);
display.display();
}
void loop() {
// put your main code here, to run repeatedly:
}