My Projects

CANON MX300

LCD Description
ModelCANON MX300/MX310
ManufacturerCanon
Recovered fromCanon MX300 printer
Board IDsQM3-2759
LCD typepositive
Polarizer typereflective
Columns20
Rows2
Char matrix5×8 1)
Driver ICHitachi HD44780 compatible 2) (CoG)
Backlight-
Arduino driverLiquidCrystal.h, or mx300_driver_library
ConnectorPCB flex cable
Num Pins14
Pin spacing0.04”

The two rows of 20 characters have no space row between them, so that using the 8 programmable characters you can create characters that span both rows. The Canon MX300 printer displays a mix of single and double height digits, but I have no information on whether the controller supports this or whether they just used programmable characters. During testing I tried setting double height fonts but to no useful effect. See mx300_driver_library for drivers that implement double height characters.

Connector pin-out Arduino test rig
Pin#LabelMeasuredPin
1R/W0V
2RS0V
3E0V
4DB03.26V
5DB13.26V
6DB23.26V
7DB33.26V
8DB43.26V
9DB53.26V
10DB63.26V
11DB73.26V
12Gnd0V
13Vdd3.27V
14Vlcd4.66V

Pin assignments verified 25/12/18.

Has the same interface, drivers and character set as Canon MP220 LCD.


Examples :

CANON MX300

CANON MX300

CANON MX300

CANON MX300

CANON MX300

CANON MX300
CANON MX300
CANON MX300
CANON MX300
CANON MX300
CANON MX300
CANON MX300

CANON MX300

CANON MX300
Example of double height numeric characters displayed by the MX300.

CANON MX300

CANON MX300
Double height digit example using eight custom characters.

CANON MX300
Double height digit example using seven custom characters.

CANON MX300
Double height digit example using six custom and four existing characters.

CANON MX300
CANON MX300 3)
Double height digit examples using a seven custom and three existing characters.

CANON MX300 4)
Double height digit example using a dynamic custom character set.

CANON MX300
Example of two characters with all bits lit showing how they form one continuous block.

1) the MX300 displays a mix of single and double height (5×16) digits, but it may be using the programmable character set
2) Don't know chip id, but it has non standard commands: 0x39 mirror vertically, 0x3a mirror horizontally, 0x3b rotate 180° (mirror horz & vert)