Use WM-C1604M display with liquidcrystal i2c library

I'm trying to hack a display on my lawnmover. Attached an I2C IOexpander board to the display and did an I2C scan: 0x3F was found.
Uploaded the following example code to an arduino nano:

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x3f, 16, 2);

void setup()
	// initialize the LCD

	// Turn on the blacklight and print a message.
	lcd.print("Hello, world!");

void loop()
	// Do nothing here...

But the display does not show any words. Only the first row is dark and the bottom one is clear. Contrastchange just makes the black bar dissapear.
I wonder what I am missing here. I guess this display ( WM-C1604M) does not interface like any other LCD display? Though in the datasheet I did found the pinout and it does match that standard displays. Maybe they trigger on the opposite flanks or something? I do not find a full datasheet. Does anyone hase advice on how to solve/approach this problem?

What have you connected to pin 5 (blue wire) of the PCF adapter?
please show a picture of the front of the display.
please use the example from your installed library only adopting the I2C address.

The text label on the display is "WM-C1602M" and the title of this topic is "WM-C1604M" ?
It seems to be a Wintek display with the common HD44780 controller. I think it is possible to make it work.


That is a patch wire (When I desoldered the display from its board the pad got loose, so I patched it.

The code is literally an example sketch with my I2C adress filled in :slight_smile:

Oh sorry, I messed up its indeed a WM-C1602M!
Okay so I should be okay? I will check my solder connections once again!

btw: The detached potmeter is because I am limited in height for mounting the display on the PCB

Demonstrates only that your "backpack" is connected, nothing else.

Then the "black bar" is the correct setting for the contrast.

If you have successfully detached the potentiometer, good, do not connect it to the 5 V, that is a longstanding circuit error propagated from design to design. Connect only the wiper and ground, makes contrast setting much easier. Or even (for a 10k pot) connect both ends of the pot to ground!

The LiquidCrystal_I2C.h library you are using is obsolete. Install the "HD44780" library in the IDE (library manager) and run the I2C test example.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.