MuIN LCD Board is a multi-interface LCD display controller compatible with HD44780 chipset and similars. When a fully-featured remote display consolle is needed (without waste of time and money), the MuIN LCD is the right choice!
The MuIN LCD Board can be interfaced to other applications by a variety of connections: USB, UART (TTL and CMOS), RS485 and XBee. The messages are displayed instantly sending the data in ASCII format over the selected serial connection. The characters will be displayed in the same order they are sent, starting from the cursor location. Pagination and carriage return are automatic: at the end of the last row, the cursor will go on the beginning of display. The MuIN LCD Board can also displays bar-graphs, an useful feature for analog values representation. MuIN is equipped with a powerful piezo-speaker that can play tones with frequency between 240 and 4400Hz with a duration from 20mSec to 2.5Sec. The backlight can be turned off or adjusted by software. The LCD contrast is adjusted with a trimmer. MuIN LCD Board can operates with LCD displays that have 2 or 4 rows and 16 or 20 columns. The LCD size can be selected by software or using the test GUI.
The commands set is compatible with Matrix Orbital LCD displays.
Technical specifications
- Power supply: from 6 to 9Vdc
- Current consumption: 60mA (backlight off) - 200mA (backlight on at full intensity)
- USB port 2.0 full speed, CDC device with serial port emulation, XP/Vista/Win7 compatible with provided driver (can be downloaded below). Linux uses native driver (Linux could be need an update)
- RS485 port with line terminator, 120Ohms, jumper-selectable bias
- UART TTL and CMOS 3.3V compatible, TTL level output
Only one serial communication method can be selected, at a time, by using the dedicate jumper:
USB port doesn't need any selection and can be used also for LCD and XBee power supply. The backlight intensity can be adjusted by software, the contrast is adjusted by a trimmer.
On-board there are two 22Ohm resistors used to limitate the LCD backlight current, if your display is already equipped with current-limitation resistors, the on-board resistors can be excluded by soldering a jumper for each resistor in order to obtain the right light intensity.
Display connector pinout
The display connector follows the standard used by the most of HD44780-based LCD Display. Only 4 data line are used (4bit mode):
- GND: common ground
- V+: 5Vdc power supply
- Vc: contrast adjustment
- RS: register select
- RW: Read/Write
- EN: Enable
- D4: data bus, bit 4
- D5: data bus, bit 5
- D6: data bus, bit 6
- D7: data bus, bit 7
- A: backlight led's anode (+)
- K: backlight led's cathode (-)
Warning: be sure your display have the same pinout or both the MuIN LCD and LCD display will be damaged!
UART connector pinout- +5V: 5Vdc out, 100mA MAX
- Rx: serial data in
- Tx: serial data out
- GND: common ground
RS485 connector pinout
- A: 'A' terminal for RS485
- B: 'B' terminal for RS485
Soldering Jumpers
- P+: Positive bias RS485 (default: open)
- P-: Negative bias RS485 (default: open)
- TE: RS485 line terminator (default: open)
- SPK EN.: Speaker enable (default: closed)
Jumpers for function selection
Serial port
Power Supply
Reset
Leds- 485 : serial communication on RS485
- UART: serial communication on UART
- Xbee: serial communication on XBee
Power Supply
- Xbee: enables XBee power supply by USB or by external power supply (leave this
jumper open, if XBee is not used, to save some mA's) - Logic: enables display power supply by USB or by external power supply
Reset
- closing this jumper performs an hardware-reset
- RSSI: is turned on on Xbee data receive
- ASSOC: flashes when XBee is ready and/or if it is associated (see XBee's datasheet for more infos)
- L1: slow flash indicates status ok, full turned on if MuIN is busy
- L2: flashes when data are received or during command execution
L1 high frequency flash indicates a permanent error. In this case the board need a reset using the dedicate reset jumper
Command setAll commands will start by sending 0xFE (254) value followed by one or more bytes indicates the command and the parameters. The values must be sent in hex format.
System commands
Baud Rate selection
Command: 0xFE 0x39 [speed]
changes baud rate (default:19200). Speed is a value indicating baud rate as by following list:
01 = 57600
02 = 38400
03 = 19200
04 = 9600
05 = 4800
06 = 2400
Example: 0xFE 0x39 0x04 will change baud rate to 9600kbps
Command: 0xFE 0xF0 [type]
changes display's row and columns as by following list:
01 = 2x16
02 = 2x20
03 = 4x16
04 = 4x20
Example: 0xFE 0xF0 0x04 will talk to MuIN LCD Board that an LCD with 4 columns ad 20 rows is used
Command: 0xFE 0xF5
Enable RS485 protocol
Command: 0xFE 0xF6
Disable RS485 protocol
RS485 Change Address
By default, MuIN LCD has address 14 (0x0E).
Command: 0xFE 0xF7 [new_addr]
Example: 0xFE 0xF7 0x16 will change RS485 address to 22 (0x16)
Cursor and visualization commandsCommand: 0xFE 0x39 [speed]
changes baud rate (default:19200). Speed is a value indicating baud rate as by following list:
01 = 57600
02 = 38400
03 = 19200
04 = 9600
05 = 4800
06 = 2400
Example: 0xFE 0x39 0x04 will change baud rate to 9600kbps
Note: the display functionality is not guaranteed with baud rates above 57600 for temporization issues with some LCD display models. The suggested baud rate is 19200
Set Display typeCommand: 0xFE 0xF0 [type]
changes display's row and columns as by following list:
01 = 2x16
02 = 2x20
03 = 4x16
04 = 4x20
Example: 0xFE 0xF0 0x04 will talk to MuIN LCD Board that an LCD with 4 columns ad 20 rows is used
Note: an incorrect selection may lead to improper messages visualization
RS485 Enable/DisableCommand: 0xFE 0xF5
Enable RS485 protocol
Command: 0xFE 0xF6
Disable RS485 protocol
RS485 Change Address
By default, MuIN LCD has address 14 (0x0E).
Command: 0xFE 0xF7 [new_addr]
Example: 0xFE 0xF7 0x16 will change RS485 address to 22 (0x16)
Display ON/OFF control
Commands:
0xFE 0x42 => Display is turned ON
0xFE 0x46 => Display is turned OFF
Command: 0xFE 0x58
Command: 0xFE 0x48
Command: 0xFE 0x47 [rowl] [col]
col and row are 0-based index for the cursor position and the maximum value is influenced by display type.
col: value between 1 and 20
row: value between 1 and 4
Example: 0xFE 0x47 0x01 0x0F will bring the cursor on the first row, 15th column
Move cursor by one place
Commands:
0xFE 0x4C => move cursor one place back
0xFE 0x4D => move cursor one place forward
Underline cursor
Commands:
0xFE 0x4A => Underline cursor ON
0xFE 0x4B => Uderline cursor OFF
Blinking cursor
Commands:
0xFE 0x53 => Cursor blinks
0xFE 0x54 => Cursor doesn't blinks
Bar-Graph commandsCommands:
0xFE 0x42 => Display is turned ON
0xFE 0x46 => Display is turned OFF
When display is turned off, the message on the display will be not erased and will be showed up again once the display is turned on
Clear screenCommand: 0xFE 0x58
Clearing screen will erase completely the messages showed on the display and will bring the cursor to location 0,0
Go HomeCommand: 0xFE 0x48
The cursor will be moved to location 0,0 without alter displayed messages
Set Cursor positionCommand: 0xFE 0x47 [rowl] [col]
col and row are 0-based index for the cursor position and the maximum value is influenced by display type.
col: value between 1 and 20
row: value between 1 and 4
Example: 0xFE 0x47 0x01 0x0F will bring the cursor on the first row, 15th column
Move cursor by one place
Commands:
0xFE 0x4C => move cursor one place back
0xFE 0x4D => move cursor one place forward
Underline cursor
Commands:
0xFE 0x4A => Underline cursor ON
0xFE 0x4B => Uderline cursor OFF
Blinking cursor
Commands:
0xFE 0x53 => Cursor blinks
0xFE 0x54 => Cursor doesn't blinks
Horizontal Bar-graph init
Command: 0xFE 0x68
Initializes Bar Graph. This command must be used prior to display a bar graph
Place Horizontal bar-graph
Command: 0xFE 0x7C [col] [row] [dir] [length]
Col = Column position
Row = Row position
Dir = if 0 the bar graph will be displayed from right to left, if 1 from left to right
length = bar-graph length
Example: 0xFE 0x7C 0x00 0x00 0x01 0x08
will show a bar graph at first column, first row, from left to right for 8 places.
Backlight commandsCommand: 0xFE 0x68
Initializes Bar Graph. This command must be used prior to display a bar graph
Place Horizontal bar-graph
Command: 0xFE 0x7C [col] [row] [dir] [length]
Col = Column position
Row = Row position
Dir = if 0 the bar graph will be displayed from right to left, if 1 from left to right
length = bar-graph length
Example: 0xFE 0x7C 0x00 0x00 0x01 0x08
will show a bar graph at first column, first row, from left to right for 8 places.
Set and Save light intensity
Command: 0xFE 0xFD [value]
value is a number between 0 and 255, where 255 is full intensity. The value will be stored in internal eeprom and be used as default value at power up or after a reset.
Example: 0xFE 0xFD 0xFF
will store maximum light intensity for the backlight
Backlight ON/OFF
Commands:
0xFE 0xFC => Backlight OFF
0xFE 0xFB => Backlight ON
Speaker commandsCommand: 0xFE 0xFD [value]
value is a number between 0 and 255, where 255 is full intensity. The value will be stored in internal eeprom and be used as default value at power up or after a reset.
Example: 0xFE 0xFD 0xFF
will store maximum light intensity for the backlight
Backlight ON/OFF
Commands:
0xFE 0xFC => Backlight OFF
0xFE 0xFB => Backlight ON
Plays a tone
Command: 0xFE 0x73 [freq] [time]
freq: value between 0 and 255
time: value between 0 and 255
A/D converterCommand: 0xFE 0x73 [freq] [time]
freq: value between 0 and 255
time: value between 0 and 255
Enables A/D converter
Command: 0xFE 0xFA
Reads A/D Converter
Command: 0xFE 0xF1
returns 10 bytes as: ABCDEFGHIL
A : high byte of A/D value on input 1
B : low byte of A/D value on input 1
C : high byte of A/D value on input 2
D : low byte of A/D value on input 2
E : high byte of A/D value on input 3
F : low byte of A/D value on input 3
G : high byte of A/D value on input 4
H : low byte of A/D value on input 4
I : high byte of A/D value on input 5
L : low byte of A/D value on input 5
Command: 0xFE 0xFA
Reads A/D Converter
Command: 0xFE 0xF1
returns 10 bytes as: ABCDEFGHIL
A : high byte of A/D value on input 1
B : low byte of A/D value on input 1
C : high byte of A/D value on input 2
D : low byte of A/D value on input 2
E : high byte of A/D value on input 3
F : low byte of A/D value on input 3
G : high byte of A/D value on input 4
H : low byte of A/D value on input 4
I : high byte of A/D value on input 5
L : low byte of A/D value on input 5