// simple project using Arduino UNO and 128x64 SSD1306 IIC OLED Display to display animated icon from www.icons8.com
// created by upir, 2023
// youtube channel: https://www.youtube.com/upir_upir
// YOUTUBE VIDEO: https://youtu.be/o3PhC_VJdXo
// WOKWI sketch: https://wokwi.com/projects/374294166215201793
// Links from the video:
// WOKWI animator: https://animator.wokwi.com/
// Animated icons: https://icons8.com/icons/set/popular--animated
// Infinity icon: https://icons8.com/icons/set/infinity--animated
// 128x64 SSD1306 OLED Display 1.54": https://s.click.aliexpress.com/e/_DCYdWXb
// 128x64 SSD1306 OLED Display 0.96": https://s.click.aliexpress.com/e/_DCKdvnh
// 128x64 SSD1306 OLED Display 2.42": https://s.click.aliexpress.com/e/_DFdMoTh
// Arduino UNO: https://s.click.aliexpress.com/e/_AXDw1h
// Arduino breadboard prototyping shield: https://s.click.aliexpress.com/e/_ApbCwx
// Image2cpp (convert image to c-style array): https://javl.github.io/image2cpp/
// Photopea (online graphics editor like Photoshop): https://www.photopea.com/
// Piskel Application (online animation editor): https://www.piskelapp.com/p/create/sprite
// Related videos with Arduino UNO and 128x64 OLED screen:
// Arduino OLED menu: https://youtu.be/HVHVkKt-ldc
// U8g vs U8g2: https://youtu.be/K5e0lFRvZ2E
// Arduino Parking Sensor - https://youtu.be/sEWw087KOj0
// Turbo pressure gauge with Arduino and OLED display - https://youtu.be/JXmw1xOlBdk
// Arduino Car Cluster with OLED Display - https://youtu.be/El5SJelwV_0
// Knob over OLED Display - https://youtu.be/SmbcNx7tbX8
// Arduino + OLED = 3D ? - https://youtu.be/kBAcaA7NAlA
// Arduino OLED Gauge - https://youtu.be/xI6dXTA02UQ
// Smaller & Faster Arduino - https://youtu.be/4GfPQoIRqW8
// Save Image from OLED Display to PC - https://youtu.be/Ft2pRMVm44E
#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h> // library required for IIC communication
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // initialization for the used OLED display
// the arrays below are generated from the image2cpp tool, scroll down for the actual code
// '1', 128x64px
const unsigned char epd_bitmap_1 [] PROGMEM = {
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xff, 0xff, 0xff, 0xf3, 0x1b, 0x00, 0xf8, 0x00, 0x00, 0xd8, 0xcf, 0xff, 0xff, 0xff, 0x7f,
0xfe, 0xff, 0xff, 0xff, 0xf7, 0x3b, 0x00, 0xf0, 0xe3, 0x0f, 0xdc, 0xef, 0xff, 0xff, 0xff, 0x7f,
0xfc, 0xff, 0xff, 0xff, 0xe7, 0x77, 0x00, 0xe0, 0xff, 0x1f, 0xee, 0xe7, 0xff, 0xff, 0xff, 0x3f,
0xf8, 0xff, 0xff, 0xff, 0xef, 0xf7, 0x00, 0xe0, 0xff, 0x1f, 0xef, 0xf7, 0xff, 0xff, 0xff, 0x1f,
0xf0, 0xff, 0xff, 0xff, 0xdf, 0xef, 0x01, 0xf0, 0x1f, 0x80, 0xf7, 0xfb, 0xff, 0xff, 0xff, 0x0f,
0xe0, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0x01, 0xf0, 0xff, 0x83, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0x07,
0xc0, 0xff, 0xff, 0xff, 0xbf, 0xdf, 0x03, 0xf0, 0x1f, 0xc0, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0x03,
0x80, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0x03, 0xf8, 0x1f, 0xc0, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0x01,
0x00, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x07, 0xf8, 0x1f, 0xe0, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x0f, 0xf8, 0x3f, 0xf0, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xe0, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0xfc, 0x3f, 0xf0, 0x7f, 0xff, 0xff, 0xff, 0x07, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xfd, 0x1e, 0xfc, 0x3f, 0x78, 0xbf, 0xff, 0xff, 0xff, 0x01, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0xfd, 0x3d, 0xfc, 0x3f, 0xbc, 0xbf, 0xff, 0xff, 0xff, 0x00, 0x00,
0x00, 0x00, 0xfe, 0xff, 0xff, 0xfb, 0x7f, 0xfe, 0x7f, 0xfe, 0xdf, 0xff, 0xff, 0x7f, 0x00, 0x00,
0x00, 0x00, 0xfc, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xff, 0xef, 0xbf, 0xff, 0xff, 0xfd, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xff, 0xdf, 0x3f, 0xff, 0xff, 0xfc, 0xfb, 0xff, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfc, 0xff, 0xdf, 0x1f, 0xfe, 0x7f, 0xf8, 0xfb, 0xff, 0x3f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf8, 0xff, 0xbf, 0xdf, 0xfc, 0x3f, 0xfb, 0xfd, 0xff, 0x1f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xf9, 0x9f, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0xef, 0xf3, 0xcf, 0xf7, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xe6, 0xf7, 0xef, 0x67, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0xe7, 0xe7, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0xcf, 0xf3, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x9f, 0xf9, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x3f, 0xfc, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfd, 0x7f, 0xfe, 0xbf, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfe, 0xff, 0xff, 0x7f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7e, 0xff, 0xff, 0x7e, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x3f, 0xfe, 0x7f, 0xfc, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3f, 0xfc, 0x3f, 0xfc, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x9f, 0xf8, 0x1f, 0xfb, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xdf, 0xf9, 0x9f, 0xfb, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xef, 0xf3, 0xcf, 0xf7, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xe0, 0xe7, 0xe7, 0x07, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf7, 0xcf, 0xf3, 0xef, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0x9f, 0xf9, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x3f, 0xf8, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x3f, 0xfc, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x7f, 0xfe, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xff, 0xff, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7e, 0xfe, 0x7f, 0x7e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7e, 0xfd, 0xbf, 0x7e, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x3f, 0xfb, 0xdf, 0xfc, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xbf, 0xf4, 0x2f, 0xfd, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x1f, 0xe4, 0x27, 0xfa, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x4f, 0xc8, 0x13, 0xfa, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x2f, 0xd0, 0x0b, 0xf4, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x27, 0xa0, 0x05, 0xe4, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x17, 0x60, 0x0e, 0xe8, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0x13, 0x70, 0x1e, 0xc8, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf4, 0x0b, 0xf8, 0x3f, 0xd0, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xfc, 0x3f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0xfe, 0x7f, 0xe0, 0x7f, 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
};
// '2', 128x64px
const unsigned char epd_bitmap_2 [] PROGMEM = {
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xff, 0xff, 0xff, 0xf3, 0x1b, 0x00, 0xf8, 0x00, 0x00, 0xd8, 0xcf, 0xff, 0xff, 0xff, 0x7f,
0xfe, 0xff, 0xff, 0xff, 0xf7, 0x3b, 0x00, 0xf0, 0xe3, 0x0f, 0xdc, 0xef, 0xff, 0xff, 0xff, 0x7f,
0xfc, 0xff, 0xff, 0xff, 0xe7, 0x77, 0x00, 0xe0, 0xff, 0x1f, 0xee, 0xe7, 0xff, 0xff, 0xff, 0x3f,
0xf8, 0xff, 0xff, 0xff, 0xef, 0xf7, 0x00, 0xe0, 0xff, 0x1f, 0xef, 0xf7, 0xff, 0xff, 0xff, 0x1f,
0xf0, 0xff, 0xff, 0xff, 0xdf, 0xef, 0x01, 0xf0, 0x1f, 0x80, 0xf7, 0xfb, 0xff, 0xff, 0xff, 0x0f,
0xe0, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0x01, 0xf0, 0xff, 0x83, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0x07,
0xc0, 0xff, 0xff, 0xff, 0xbf, 0xdf, 0x03, 0xf0, 0x1f, 0xc0, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0x03,
0x80, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0x03, 0xf8, 0x1f, 0xc0, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0x01,
0x00, 0xff, 0xff, 0xff, 0x7f, 0xbf, 0x07, 0xf8, 0x1f, 0xe0, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x0f, 0xf8, 0x3f, 0xf0, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xe0, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0xfc, 0x3f, 0xf0, 0x7f, 0xff, 0xff, 0xff, 0x07, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xfd, 0x1e, 0xfc, 0x3f, 0x78, 0xbf, 0xff, 0xff, 0xff, 0x01, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0xfd, 0x3d, 0xfc, 0x3f, 0xbc, 0xbf, 0xff, 0xff, 0xff, 0x00, 0x00,
0x00, 0x00, 0xfe, 0xff, 0xff, 0xfb, 0x7f, 0xfe, 0x7f, 0xfe, 0xdf, 0xff, 0xff, 0x7f, 0x00, 0x00,
0x00, 0x00, 0xfc, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xff, 0xef, 0xbf, 0xff, 0xff, 0xfd, 0xf7, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xff, 0xdf, 0x3f, 0xff, 0xff, 0xfc, 0xfb, 0xff, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfc, 0xff, 0xdf, 0x1f, 0xfe, 0x7f, 0xf8, 0xfb, 0xff, 0x3f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf8, 0xff, 0xbf, 0x1f, 0xfc, 0x3f, 0xf8, 0xfd, 0xff, 0x1f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x0f, 0xf0, 0x0f, 0xf0, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x06, 0xf4, 0x2f, 0x60, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xe0, 0x07, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xc0, 0x03, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x80, 0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x90, 0x08, 0x10, 0x09, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x10, 0x08, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x24, 0x24, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0x08, 0x00, 0xec, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x10, 0x08, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x20, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x80, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x03, 0xd0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xa0, 0x04, 0x20, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x20, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x08, 0x10, 0x0a, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x50, 0x0a, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xa0, 0x05, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x60, 0x0a, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x10, 0x00, 0x00, 0x08, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x00, 0xe0, 0x7f, 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
};
// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 2080)
const int epd_bitmap_allArray_LEN = 2;
const unsigned char* epd_bitmap_allArray[2] = {
epd_bitmap_1,
epd_bitmap_2
};
int counter = 0; // counter for the currently displayed frame of the animation
void setup(void) {
u8g2.begin(); // start the u8g2 library
}
void loop(void) {
u8g2.clearBuffer(); // clear the internal memory
u8g2.drawXBMP(1, 1, 128, 64, epd_bitmap_allArray[counter]); // draw frame of the animation
u8g2.sendBuffer(); // transfer internal memory to the display
counter = (counter + 1) % 2; // increase the counter, but always go between 0-27
}