I did a little research and found the source of the corresponding python binding in this github registry .
Matching line
res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_unsigned_char, 0 | 0 );
as you can see, you need to pass the equivalent of a python pointer to an unsigned char. According to this stream , the equivalent is a byte string. This means that the right call will be
import struct wiringpi.lcdCharDef(lcd_handle, 0, struct.pack('8B', *cap_umlaut_a))
which should be equivalent
wiringpi.lcdCharDef(lcd_handle, 0, b'\x0A\x04\x0A\x11\x1F\x11\x11\x00')
source share