# Why am I getting an 'invalid conversion' error on compile?

I have one of these NodeMCU ESP8266 OLED Arduino Wifi Modules which I am trying to load with SpaceHuhn's deauther software from Github

I am trying to compile the source code using Arduino IDE with the display enabled and have followed the instructions to do so from github repository here.

I initially downloaded the latest software but as I didn't know which display option to enable before compiling, I went for an earlier version, v1.6, which has a video on how you are supposed to install it on YouTube.

After uncommenting line 18 from:

//#define USE_DISPLAY /* <-- uncomment that if you want to use the display */

#define USE_DISPLAY /* <-- uncomment that if you want to use the display */

and then trying to compile, I get this error:

D:\Documents\Innovateking-EU Nodemcu ESP8266\Deauther\esp8266_deauther-v.1.6\esp8266_deauther\esp8266_deauther.ino: In function 'void setup()':

esp8266_deauther:592:32: error: invalid conversion from 'const char*' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]

display.setFont(Roboto_Mono_8);

In file included from D:\Documents\Arduino\libraries\esp8266-oled-ssd1306-master\src/SSD1306Wire.h:34:0,

from D:\Documents\Arduino\libraries\esp8266-oled-ssd1306-master\src/SSD1306.h:33,

from D:\Documents\Innovateking-EU Nodemcu ESP8266\Deauther\esp8266_deauther-v.1.6\esp8266_deauther\esp8266_deauther.ino:28:

D:\Documents\Arduino\libraries\esp8266-oled-ssd1306-master\src/OLEDDisplay.h:243:10: error:   initializing argument 1 of 'void OLEDDisplay::setFont(const uint8_t*)' [-fpermissive]

void setFont(const uint8_t *fontData);

Multiple libraries were found for "SSD1306.h"
Used: D:\Documents\Arduino\libraries\esp8266-oled-ssd1306-master
Not used: C:\Users\cos\AppData\Local\Arduino15\packages\deauther\hardware\esp8266\2.0.0-deauther\libraries\esp8266-oled-ssd1306-4.0.0
exit status 1
invalid conversion from 'const char*' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive]


The youtube video shows the process working, assuming nothing was edited out.... As far as I can see I have done everything the same.

Has anyone had any experience of loading this on to these boards? Or know what the problem is?

• It looks like the font data being used in that code (I haven't found where that is yet) isn't the right data type. Probably a conflict between old code and new libraries. You want to get the newest code working with the newest libraries. – Majenko Aug 15 at 20:40
• esp8266 core in 2.5.1 changed char to unsigned as default, so it looks like you use some older version of the core – Juraj Aug 16 at 7:33
• So what is the best course to fix this? Use an earlier version of esp8266-oled-ssd1306-master. I cannot use a later version of deauther as there doesn't appear to be an option for a oled display...I can compile it but the display does not work!! – cosmarchy Aug 16 at 18:53