Category Archives: Electronics

Script to convert images to C arrays for the Newhaven NHD-C12832A1Z-FSW-FBW-3V3 LCD

If you are using the NHD-C12832A1Z-FSW-FBW-3V3 LCD, or another LCD based on the ST7565R chip, you may have ran into the issue of converting image data into a format suitable for sending to the display. It’s a bit strange because the display is addressed using a page/column scheme, with each byte representing a slice of 8 vertical bits.


This python script does the necessary conversion. It reads an image and outputs a C array that you can paste into your program. Use it at your own risk.

Sample output:

/* hw.png (128x32) */
uint8_t data[512] = {
 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, /* and so on ... */