diff --git a/OLEDDisplay.cpp b/OLEDDisplay.cpp
index f8fc226519b37df85862d0ff3e72bd26a4691eaa..77915b84686def8d935d4553b10c49de87ca579c 100644
--- a/OLEDDisplay.cpp
+++ b/OLEDDisplay.cpp
@@ -525,7 +525,7 @@ void OLEDDisplay::setTextAlignment(OLEDDISPLAY_TEXT_ALIGNMENT textAlignment) {
   this->textAlignment = textAlignment;
 }
 
-void OLEDDisplay::setFont(const char *fontData) {
+void OLEDDisplay::setFont(const unsigned char *fontData) {
   this->fontData = fontData;
 }
 
@@ -692,7 +692,7 @@ void OLEDDisplay::sendInitCommands(void) {
   sendCommand(DISPLAYON);
 }
 
-void inline OLEDDisplay::drawInternal(int16_t xMove, int16_t yMove, int16_t width, int16_t height, const char *data, uint16_t offset, uint16_t bytesInData) {
+void inline OLEDDisplay::drawInternal(int16_t xMove, int16_t yMove, int16_t width, int16_t height, const unsigned char *data, uint16_t offset, uint16_t bytesInData) {
   if (width < 0 || height < 0) return;
   if (yMove + height < 0 || yMove > DISPLAY_HEIGHT)  return;
   if (xMove + width  < 0 || xMove > DISPLAY_WIDTH)   return;
diff --git a/OLEDDisplay.h b/OLEDDisplay.h
index e551e0b3cf27ffc2e412e8d74a6914f0bd50151c..096bcce891b2364ee4670c840c716072745391bd 100644
--- a/OLEDDisplay.h
+++ b/OLEDDisplay.h
@@ -259,7 +259,7 @@ class OLEDDisplay : public Print {
     static char* utf8ascii(String s);
     static byte utf8ascii(byte ascii);
 
-    void inline drawInternal(int16_t xMove, int16_t yMove, int16_t width, int16_t height, const char *data, uint16_t offset, uint16_t bytesInData) __attribute__((always_inline));
+    void inline drawInternal(int16_t xMove, int16_t yMove, int16_t width, int16_t height, const unsigned char *data, uint16_t offset, uint16_t bytesInData) __attribute__((always_inline));
 
     void drawStringInternal(int16_t xMove, int16_t yMove, char* text, uint16_t textLength, uint16_t textWidth);
 
diff --git a/examples/SSD1306ClockDemo/images.h b/examples/SSD1306ClockDemo/images.h
index a220a27c2b6637946f5df26f500f0eb88998a2c8..1889188fd489e49ef1a6dd8ce6a7ffaa4f956be0 100644
--- a/examples/SSD1306ClockDemo/images.h
+++ b/examples/SSD1306ClockDemo/images.h
@@ -1,4 +1,4 @@
-const char activeSymbol[] PROGMEM = {
+const unsigned char activeSymbol[] PROGMEM = {
     B00000000,
     B00000000,
     B00011000,
@@ -9,7 +9,7 @@ const char activeSymbol[] PROGMEM = {
     B00011000
 };
 
-const char inactiveSymbol[] PROGMEM = {
+const unsigned char inactiveSymbol[] PROGMEM = {
     B00000000,
     B00000000,
     B00000000,
diff --git a/examples/SSD1306SimpleDemo/images.h b/examples/SSD1306SimpleDemo/images.h
index 9daf8c1a25b9d006fc67f49c6868563d13c7ae77..5526ed4734b0d66797ded4e254caf391dd7a0cb3 100644
--- a/examples/SSD1306SimpleDemo/images.h
+++ b/examples/SSD1306SimpleDemo/images.h
@@ -1,6 +1,6 @@
 #define WiFi_Logo_width 60
 #define WiFi_Logo_height 36
-const char WiFi_Logo_bits[] PROGMEM = {
+const unsigned char WiFi_Logo_bits[] PROGMEM = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00,
   0x00, 0x00, 0xE0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF,
diff --git a/examples/SSD1306UiDemo/images.h b/examples/SSD1306UiDemo/images.h
index 8b876a369e6f2609700798da9da47431e5e0db21..ccc778eb149b54bf97d130b5446357a6e808e246 100644
--- a/examples/SSD1306UiDemo/images.h
+++ b/examples/SSD1306UiDemo/images.h
@@ -1,6 +1,6 @@
 #define WiFi_Logo_width 60
 #define WiFi_Logo_height 36
-const char WiFi_Logo_bits[] PROGMEM = {
+const unsigned char WiFi_Logo_bits[] PROGMEM = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8,
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00,
   0x00, 0x00, 0xE0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF,