Table of Content
gen4-HMI Display Module Series
DATASHEET
DOCUMENT DATE:7th September 2021DOCUMENT
REVISION: 1.9
gen4-uLCD-24D (Non-touch)
gen4-uLCD-24D-CLB (Non-touch w/CLB)
gen4-uLCD-24DT (Resistive touch)
Uncontrolled Copy when printed or downloaded.
Please refer to the 4D Systems website for the latest
Revision of this document
W W W . 4 D S Y S T E M S . C O M . A U
Table of Contents
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
s
1.
Description.......................................................................................................................4
2.
Features...........................................................................................................................4
3.
Hardware Overview.........................................................................................................5
4.
Hardware Interface - Pins.................................................................................................7
5.
4.1.
Serial Ports – TTL Level Serial.........................................................................................7
4.2.
General Purpose I/O.......................................................................................................8
4.3.
System Pins.....................................................................................................................9
4.4.
Alternate Pin Function Overview....................................................................................9
4.5.
SPI...................................................................................................................................10
4.6.
I2C...................................................................................................................................10
4.7.
Pulse Out.........................................................................................................................11
4.8.
PWM Out........................................................................................................................11
4.9.
Pin Counter.....................................................................................................................11
4.10.
Quadrature In.................................................................................................................12
4.11.
Analog Inputs..................................................................................................................12
Module Features............................................................................................................13
5.1.
DIABLO16 Processor.......................................................................................................13
5.2.
Audio...............................................................................................................................13
5.3.
SD/SDHC Memory Cards.................................................................................................13
5.4.
FAT16...............................................................................................................................14
5.5.
Application PCB Support.................................................................................................14
5.6.
RF / EMI Shielding Support.............................................................................................15
6.
Display/Module Precautions..........................................................................................16
7.
Hardware Tools...............................................................................................................16
7.1.
4D Programming Cable/Adaptor....................................................................................16
8.
Software Overview - Language.......................................................................................17
9.
4D Systems - Workshop 4 IDE.........................................................................................18
9.1.
Workshop4 - Designer....................................................................................................18
9.2.
Workshop4 – ViSi............................................................................................................18
9.3.
Workshop4 – ViSi Genie.................................................................................................19
9.4.
Workshop4 – Serial.........................................................................................................19
9.5.
PmmC/Firmware Programming......................................................................................20
10. Starter Kit.......................................................................................................................21
gen4-uLCD-24D[T]-[CLB]
Page 2 of 30
www.4dsystems.com.au
Table of Contents
11. Display Module Part Numbers........................................................................................21
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
12. Cover Lens Bezel – Tape Spec..........................................................................................22
13. FFC Cable information....................................................................................................22
14. Mechanical Details (Resistive Touch & Non-Touch without Cover Lens Bezel)................23
15. Mechanical Details (Non-Touch with Cover Lens Bezel)..................................................24
16. Schematic Details...........................................................................................................25
17. Specifications.................................................................................................................26
18. Hardware Revision History.............................................................................................28
19. Datasheet Revision History.............................................................................................28
20. Legal Notice....................................................................................................................29
21. Contact Information.......................................................................................................29
gen4-uLCD-24D[T]-[CLB]
Page 3 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
1. Description
The gen4 2.4” Diablo16 Integrated Display Module is
part of the latest gen4 series of modules Designed
and Manufactured by 4D Systems.
The gen4 series was designed specifically for ease of
integration and use, with careful consideration for
space requirements and functionality.
This specific gen4 module features a 2.4” colour TFT
LCD display, with non-touch, or optional resistive
touch. It is powered by the feature-rich 4D Labs
Diablo16 Graphics Processor, which offers an array of
functionality and options for any Designer /
Integrator / User.
The Diablo16 processor features include 16
customisable GPIO, capable of PWM, Serial, I2C, SPI,
Pulse Out, Quadrature Input, and Analog Input.
The 2.4” Diablo16 Integrated Display Module features
a TFT LCD Display, is capable of Touch Detection,
microSD
memory
Storage,
GPIO
and
Communications, along with multiple millisecond
resolution timers, and Audio Generation.
The gen4 Series is 100%
Workshop4 IDE and its 4
environments, providing the
options for programming
system.
compatible with the
different development
User with a wealth of
and controlling their
Anything designed to run on other 4D Systems
display modules featuring Picaso or Diablo16 Graphic
Processors can be run on this gen4 Integrated Display
Module, with little or no required modifications.
Please contact 4D Systems Support Team for
assistance if migrating from a previous model.
The gen4 series of Integrated Display Modules
features a 30 pin ZIF/FFC/FPC socket, designed for a
30 pin FPC cable, for easy and simple connection to
an application or mother board, or for connecting to
accessory boards for a range of functionality
advancements.
The gen4 series of modules has been designed to
minimise the impact of display related circuitry, and
provide a platform suitable for integration into a
product. Application boards can sit flush on the back
of the gen4 if required, as the display related
electronics sit inside the plastic mounting base,
leaving the application board surface clear for User
circuitry.
gen4-uLCD-24D[T]-[CLB]
2. Features
• Powerful 2.4” Intelligent LCD-TFT display module
powered by DIABLO16.
• 240 x 320 Resolution, RGB 65K true to life colours,
TFT Screen with non-touch, or integrated 4-wire
Resistive Touch Panel (on DT model only).
• 6 banks of 32750 bytes of Flash memory for User
Application Code and Data.
• 32Kb of SRAM purely for the User.
• 16 General Purpose I/O pins for user interfacing,
which include 4 configurable Analog Inputs.
• The GPIO is variously configurable for alternative
functions such as:
◦ 3x I2C channels available.
◦ 1x SPI dedicated for SD Card and 3x
configurable SPI channels available.
◦ 1x dedicated and 3x configurable TTL Serial
comm ports available.
◦ Up to 6 GPIO can be used as Pin Counters.
◦ Up to 6 GPIO for PWM (simple and Servo).
◦ Up to 10 GPIO for Pulse Output.
◦ Up to 14 GPIO can be configured for
Quadrature Encoder Inputs (2 channels).
• 30pin FPC connection, for all signals, power,
communications, GPIO and programming.
• On-board latch type micro-SD memory card
connector for multimedia storage and data logging
purposes.
• DOS compatible file access (FAT16 format) as well
as low level access to card memory.
• Dedicated PWM Audio pin driven by WAV files
from micro-SD card, and for sound generation, for
an external amplifier.
• Display full colour images, animations, icons and
video clips.
• Supports all available Windows fonts.
• 4.0V to 5.5V range operation (single supply).
• Module dimensions: (D): 78.4 x 44.8 x 6.0mm.
(D-CLB): 79.0 x 58.7 x 7.1mm.
(DT): 78.4 x 44.8 x 7.2mm.
• Weighing: ~21 g (D), ~29 g (D-CLB), ~26 g (DT)
• 4x mounting tabs with 3.2mm holes for mechanical
mounting using M3 screws.
• RoHS, REACH and CE compliant.
Page 4 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
3. Hardware Overview
PIN 1
PIN 30
USER I/O – 30 way ZIF/FFC Socket
0.5mm pitch Upper Contact,
30 way FFC Cable (see later section)
Pin
Symbol
GND
PA3
P
I/O/A
3
PA2
I/O/A
4
PA1
I/O/A
5
PA0
I/O/A
6
7
8
9
10
11
12
PA9
PA8
PA7
PA6
PA5
PA4
PA10
I/O
I/O
I/O
I/O
I/O
I/O
I/O
1
2
I/O
gen4-uLCD-24D[T]-[CLB]
Latch Type microSD Socket
USER I/O – 30 Way FPC
Description
Supply Ground
General Purpose I/O pin with Analog Capability. This pin has a range of 0-3.3V
when used as an Analog Input, and is 3.3V tolerant only. Also used for Bus Read
General Purpose I/O pin with Analog Capability. This pin has a range of 0-3.3V
when used as an Analog Input, and is 3.3V tolerant only. Also used for Bus Write
General Purpose I/O pin with Analog Capability. This pin has a range of 0-3.3V
when used as an Analog Input, and is 3.3V tolerant only.
General Purpose I/O pin with Analog Capability. This pin has a range of 0-3.3V
when used as an Analog Input, and is 3.3V tolerant only.
General Purpose Input/Output, 3.3V Level - 5V Tolerant
General Purpose Input/Output, 3.3V Level - 5V Tolerant
General Purpose Input/Output, 3.3V Level - 5V Tolerant
General Purpose Input/Output, 3.3V Level - 5V Tolerant
General Purpose Input/Output, 3.3V Level - 5V Tolerant
General Purpose Input/Output, 3.3V Level - 5V Tolerant
General Purpose Input/Output, 3.3V Level - 5V Tolerant
Continued overleaf…
Page 5 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
Pin
USER I/O – 30 Way FPC (continued)
13
14
15
16
17
18
19
20
21
22
Symbol
PA11
PA12
PA13
PA14
PA15
NC
AUDIO_OUT
AUDENB
GND
RESET
I/O
23
RX0
I
24
TX0
O
25
26
GND
5V IN
P
P
27
5V IN
P
28
29
30
NC
NC
GND
P
I/O
I/O
I/O
I/O
I/O
O
O
P
I
Description
General Purpose Input/Output, 3.3V Level - 5V Tolerant
General Purpose Input/Output, 3.3V Level - 5V Tolerant
General Purpose Input/Output, 3.3V Level - 5V Tolerant
General Purpose Input/Output, 3.3V Tolerant only. Special I2C Pin.
General Purpose Input/Output, 3.3V Tolerant only. Special I2C Pin.
Not Connected
Audio Output, PWM, to feed into external amplifier via filter network
Audio Amplifier Enable, to enable/disable external amplifier
Supply Ground
Master Reset signal. Internally pulled up to 3.3V via a 10K resistor. An active
Low pulse greater than 2 micro-seconds will reset the module. If the module
needs to be reset externally, only use open collector type circuits. This pin is
not driven low by any internal conditions. The host should control this pin via
one of its port pins using an open collector/drain arrangement.
Asynchronous Serial Receive pin, TTL level. Connect this pin to the Transmit
(Tx) signal of other serial devices. Used in conjunction with the TX pin for
programming this module. This pin is tolerant up to 5.0V levels.
Asynchronous Serial Transmit pin, TTL level. Connect this pin to the Receive
(Rx) signal of other serial devices. Used in conjunction with the RX pin for
programming this module. This pin has a 3.3V Level output.
Supply Ground
Main Voltage Supply +ve input pin. Reverse polarity protected. Range is 4.0V to
5.5V, nominal 5.0V.
Main Voltage Supply +ve input pin. Reverse polarity protected. Range is 4.0V to
5.5V, nominal 5.0V.
Not Connected
Not Connected
Supply Ground
I = Input, O = Output, P = Power
gen4-uLCD-24D[T]-[CLB]
Page 6 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
4. Hardware Interface - Pins
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
This section describes in detail the hardware interface
pins of the device.
4.1. Serial Ports – TTL Level Serial
The DIABLO16 Processor has three hardware
asynchronous serial ports (COM1 – COM3) that can
be configured on a variety of the processors GPIO
pins. TX/RX0 (COM0) is dedicated and its pins are
fixed. All of the DIABLO16’s serial ports can be used
to communicate with external serial devices.
TX/RX0 are referred to as COM0 and is the only one
used for programming the DIABLO16 itself.
The primary features are:
Full-Duplex 8-bit data transmission and
reception.
Data format: 8 bits, No Parity, 1 Stop bit.
Independent Baud rates from 300 baud up
to 600K baud.
Single byte transmits and receives or a fully
buffered service. The buffered service
feature runs in the background capturing
and buffering serial data without the user
application having to constantly poll any of
the serial ports. This frees up the application
to service other tasks.
COM0 is also the primary interface for User program
downloads, and configuration PmmC /Driver
programming. Once the compiled 4DGL application
program (EVE byte-code) is downloaded and the user
code starts executing, the serial port is then available
to the user application.
TX0 pin (Serial Transmit COM0):
Dedicated Asynchronous Serial port COM0 transmit
pin, TX0. Connect this pin to external serial device
receive (Rx) signal. This pin is 5.0V tolerant.
RX0 pin (Serial Receive COM0):
Dedicated Asynchronous Serial port COM0 receive
pin, RX0. Connect this pin to external serial device
transmit (Tx) signal. This pin is 5.0V tolerant.
TX1 pin (Serial Transmit COM1):
Asynchronous Serial port COM1 transmit pin, TX1.
Connect this pin to external serial device receive (Rx)
signal. This can be configured to one of the GPIO pins,
see table following.
RX1 pin (Serial Receive COM1):
Asynchronous Serial port COM1 receive pin, RX1.
Connect this pin to external serial device transmit (Tx)
signal. This can be configured to one of the GPIO pins,
see table following.
TX2 pin (Serial Transmit COM2):
Asynchronous Serial port COM2 transmit pin, TX2.
Connect this pin to external serial device receive (Rx)
signal. This can be configured to one of the GPIO pins,
see table following.
RX2 pin (Serial Receive COM2):
Asynchronous Serial port COM2 receive pin, RX2.
Connect this pin to external serial device transmit (Tx)
signal. This can be configured to one of the GPIO pins,
see table following.
A single byte serial transmission consists of the start
bit, 8-bits of data followed by the stop bit. The start
bit is always 0, while a stop bit is always 1. The LSB
(Least Significant Bit, Bit 0) is sent out first following
the start bit. Figure below shows a single byte
transmission timing diagram.
TX3 pin (Serial Transmit COM3):
Asynchronous Serial port COM3 transmit pin, TX3.
Connect this pin to external serial device receive (Rx)
signal. This can be configured to one of the GPIO pins,
see table following.
RX3 pin (Serial Receive COM3):
Asynchronous Serial port COM3 receive pin, RX3.
Connect this pin to external serial device transmit (Tx)
signal. This can be configured to one of the GPIO pins,
see table following.
gen4-uLCD-24D[T]-[CLB]
Page 7 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
DIABLO16 Serial TTL Comm Port
Configuration Options
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PA8
PA9
PA10
PA11
PA12
PA13
PA14
PA15
TX1
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
RX1
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
TX2
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
RX2
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
TX3
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
RX3
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
As per the table, not all GPIO can be configured to be
every serial port, or RX/TX.
Note: Pins PA4-PA13 are 5.0V tolerant, while pins
PA0-PA3, PA14, PA15 are 3.3V tolerant only. All pins
output at 3.3V levels.
Please refer to the 'DIABLO16-4DGL-InternalFunctions.pdf' document for information on how to
set the DIABLO16 pin mappings.
4.2. General Purpose I/O
gen4-uLCD-24D[T]-[CLB]
Page 8 of 30
www.4dsystems.com.au
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PA8
PA9
PA10
PA11
PA12
PA13
PA14
PA15
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
Analog Read
Note: Digital GPIO pins are 5.0V tolerant, except
PA14-PA15, which are 3.3V tolerant only. PA0-PA3 are
3.3V tolerant only. All pins output at 3.3V levels.
Bus Write
DIABLO16 Alternate Pin Configurations
General Purpose I/O
Bus Read
all INPUTS. When set as Digital Inputs, the pins are
3.3V tolerant. Digital GPIO can source/sink 10mA.
Under special situations, these pins can be utilised for
a high speed I2C interface. Please refer to table in
section 4.4 and information in section 4.6.
Digital Output
There are 16 general purpose Input/Output (GPIO)
pins available to the user. These provide flexibility of
individual bit operations along with serving
collectively for byte wise operations using the BUS
functions
Digital Input
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
gen4-HMI Display Modules
4.3. System Pins
+5V IN (Module Voltage Input)
Module supply voltage input pins. Both of these pins
should be connected to a stable supply voltage in the
range of 4.0 Volts to 5.5 Volts DC. Nominal operating
voltage is 5.0 Volts. Note backlight brightness will be
lower for voltages under 5.0V.
✓
✓
✓
✓
GND (Module Ground)
Device ground pins. At least two pins should be
connected to ground.
RESET (Module Master Reset)
Module Master Reset pin. An active low pulse of
greater than 2μs will reset the module. Internally
pulled up to 3.3V via a 10K resistor. Only use open
collector type circuits to reset the device if an
external reset is required.
Please refer to the separate document titled
'DIABLO16-4DGL-Internal-Functions.pdf' for more
information.
PA0-PA3:
General purpose I/O pins, or can serve as Analog
Input pins. Each pin can be individually set for INPUT
or OUTPUT or ANALOG. Power-Up Reset default is all
INPUTS. Digital GPIO can source/sink 10mA. For more
information, the Specifications section.
These pins have a 0 to 3.3V range, and have 12 bit
resolution.
For more information, see Section 4.11 ‘Analog
Inputs’.
PA4-PA13:
General purpose I/O pins. Each pin can be individually
set for INPUT or OUTPUT. Power-Up Reset default is
all INPUTS. When set as Digital Inputs, the pins are 5V
tolerant. Digital GPIO can source/sink 10mA. For
more information, see the Specifications section.
PA14-PA15:
General purpose I/O pins. Each pin can be individually
set for INPUT or OUTPUT. Power-Up Reset default is
gen4-uLCD-24D[T]-[CLB]
AUDENB (Audio Enable Output)
Output dedicated to enable or disable and external
amplifier, where required.
AUDIO (PWM Audio Output)
Output specifically for Audio. This pin is a PWM
output from the DIABLO16 Processor. This pin is a
3.3V level PWM output to drive an external amplifier
with DIABLO16 generated Audio, via an external
filtering circuit to turn digital PWM into Analog. Note
that AUDENB must be enabled in DIABLO16 for any
input signal to be heard.
4.4. Alternate Pin Function Overview
Most of the GPIO pins have an alternate function
other than being for General Purpose I/O.
GPIO pins can be configured to be SPI, I 2C, Serial or a
range of other functions.
Note: Not all pins can be configured to be any of the
alternate pin functions. Please refer to the tables.
Please refer to the following tables which illustrate
which pins can be associated alternative functions.
Page 9 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
The Alternate pin functions have been broken up into
a few tables for simplification. There are
communication based functions, and I/O support
based functions.
Further information is available in the next sections
for each of the alternative pin functions.
Note: Quadrature In requires 2 Pins
The following table illustrates which of the GPIO can
be used for the three different SPI channels available.
gen4-uLCD-24D[T]-[CLB]
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PA8
PA9
PA10
PA11
PA12
PA13
PA14
PA15
Page 10 of 30
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
Quadrature In
Please refer to the separate document titled
'DIABLO16-4DGL-Internal-Functions.pdf' for more
information on how to set the alternate pin
configurations.
Pin Counter
Note: Once a pin is allocated to an alternate
function, another pin cannot also be allocated to the
same alternate function.
PWM Out
DIABLO16 Alternate Pin Configurations
I/O Support Functions
Pulse Out
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
The previous table illustrates which of the GPIO can
be used for the four different I/O Support Functions.
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
www.4dsystems.com.au
gen4-HMI Display Modules
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
SPI3 SCK
✓
✓
✓
✓
✓
✓
✓
✓
SPI3 SDI
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
SPI3 SDO
✓
SPI2 SDI
✓
SPI2 SCK
✓
✓
SPI2 SDO
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
SPI1 SCK
✓
SPI1 SDI
SPI1 SDO
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PA8
PA9
PA10
PA11
PA12
PA13
PA14
PA15
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
The following table illustrates which of the GPIO can
be used for the three different I2C channels available.
I C1 SCL
I2C2 SDA
2
I C2 SCL
I2C3 SDA
I2C3 SCL
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PA8
PA9
PA10
PA11
PA12
PA13
PA14
PA15
2
DIABLO16 Alternate Pin Configurations
I2C Communications
I2C1 SDA
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
DIABLO16 Alternate Pin Configurations
SPI Communications
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
SPECIAL
SPECIAL
SPECIAL
SPECIAL
SPECIAL – please see Section 4.6
4.5. SPI
SPECIAL
SPECIAL
There are 3 user configurable SPI channels available
for mapping to GPIO, for use by the user for the
target application. All 3 SPI channels are Master only,
and cannot be configured to be slaves at this time.
The SPI Bus speed is configurable using the SPIx_Init()
Function in 4DGL, and allows various speeds from
78.125Khz to 17.5Mhz.
Please refer to the table on the previous page for
details on which GPIO can be configured for SPI.
Note: The additional SPI channel (SPI0) is dedicated
to memory cards and cannot be reconfigured for
alternate uses.
To map an SPI channel to a set of GPIO pins, the
following 4DGL functions are used:
SPIx_SCK_pin(pin); // Map the SCK pin
SPIx_SDI_pin(pin); // Map the SDI pin
SPIx_SDO_pin(pin); // Map the SDO pin
Where ‘SPIx’ is substituted with SPI1, SPI2 or SPI3
accordingly, and ‘pin’ is the target GPIO pin
compatible with that particular pin function.
Chip Select for use with SPI can be any other unused
GPIO pin, configured as a Digital Output. The lowering
and raising of the selected CS (GPIO) pin is done
manually by the user is the 4DGL application.
Please refer to the separate document titled
'DIABLO16-4DGL-Internal-Functions.pdf' for more
information on how to use the SPI functions, along
with the separate document titled ‘DIABLO16Processor-Datasheet-REVx.x.pdf’.
4.6. I2C
There are 3 user configurable I 2C channels available
for mapping to GPIO, for use by the user for the
target application. All 3 I 2C channels are Master only,
and cannot be configured to be slaves at this time.
Please refer to the table on the previous page for
details on which GPIO can be configured for I2C.
To map an I2C Channel to a set of GPIO pins, the
following 4DGL function is used:
I2Cx_Open(Speed, SCLpin, SDApin);
Where ‘I2Cx’ is substituted with I2C1, I2C2 or I2C3
accordingly, ‘Speed’ is the desired I2C Bus speed, and
‘SCLpin’ and ‘SDApin’ are the target GPIO pins
compatible with that particular pin function.
Note: The normal I2C pins are PA0 to PA13, however
gen4-uLCD-24D[T]-[CLB]
Page 11 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
There are 6 PWM channels available to be configured
by the user, with 4 time bases available for selection.
use of these pins has a few limitations.
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
a) There is no slew rate control at I2C_MED
b) I2C_FAST is not truly 1MHz.
If either of these restrictions need to be addressed, a
special case of SCLpin = PA14 and SDApin = PA15
exists ONLY for speeds I2C_MED (which uses slew
rate control) and I2C_FAST (which is truly 1MHz)
Please refer to the separate document titled
'DIABLO16-4DGL-Internal-Functions.pdf' for more
information on how to use the I 2C functions, along
with the separate document titled ‘DIABLO16Processor-Datasheet-REVx.x.pdf’.
4.7. Pulse Out
Pulse Out is used to create a single pulse of set
duration on the selected pin of choice, which is
inverted in polarity to the current state of the pin.
This ‘inversion of polarity’ means if a Pin is currently
held HI, and Pulse Out is executed on that Pin, the pin
will pulse LO and then return to HI. Same with vice
versa, if currently LO and Pulse Out is executed on
that Pin, it will pulse HI and then return to LO.
This is available in both blocking and non-blocking
versions.
Please refer to the table on the previous page for
details on which GPIO can be configured to this.
Note: Each Pulse Out request needs at least a 1ms
lead time due to the scheduling of the event with the
internal 1ms timer.
To enable the Pulse Out function on a GPIO pin, the
following 4DGL functions are used:
pin_Pulseout(pin, value);
//Non-Blocking
pin_PulseoutB(pin, value); //Blocking
Where ‘pin’ is the target GPIO pin compatible with
that particular pin function, and ‘value’ is the length
of the pulse in milliseconds.
Please refer to the separate document titled
'DIABLO16-4DGL-Internal-Functions.pdf' for more
information on how to use the Pulse Out functions,
along with the separate document titled ‘DIABLO16Processor-Datasheet-REVx.x.pdf’.
4.8. PWM Out
gen4-uLCD-24D[T]-[CLB]
The PWM can be configured to be used in Servo
Mode, or Simple Mode.
Please refer to the table on the previous page for
details on which GPIO can be configured for PWM.
Servo Mode allows a millisecond input value with
0.01ms resolution, which runs at a frequency of
approximately 50Hz or 50pps (20ms). The position of
the servo is determined by the width of the pulse.
Generally 1.5ms is 90 degrees, 1ms being 0 degrees
and 2ms being 180 degrees. Servos however vary,
and the DIABLO16 PWM control can be adjusted to
suit most applications.
Simple Mode allows a percentage input value with
resolution of 0.1%, which runs at a frequency of
approximately 70KHz.
To enable the PWM output on a GPIO pin, the
following 4DGL function is used:
PWM_Init(pin, mode, value);
Where ‘pin’ is the GPIO compatible with the
particular pin function, ‘mode’ is the type of PWM to
generate, and ‘value’ is the parameter which defined
the PWM pulse itself.
Please refer to the separate document titled
'DIABLO16-4DGL-Internal-Functions.pdf' for more
information on how to use the SPI functions, along
with the separate document titled ‘DIABLO16Processor-Datasheet-REVx.x.pdf’.
4.9. Pin Counter
There are 6 Pin Counter channels available to be
configured by the user, used to count incoming
pulses with the ability to call a user function on
overflow. The Pin Counter function is available for
use in a variety of modes.
The counters can be read and written at any time.
Please refer to the table in section 4.4 ‘Alternate Pin
Functions – Overview’ for details on which GPIO can
be configured for this.
To enable the Pin Counter function on a GPIO pin, the
following 4DGL function is used:
pin_Counter(pin, mode, OVFfunction);
Where ‘pin’ is the GPIO pin compatible with this
particular function, ‘mode’ is the type of trigger used
Page 12 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
to count on such as Rising/Falling/Edge, and
‘OVFfunction’ is the user function to call when the
counter overflows, if desired.
Please refer to the separate document titled
'DIABLO16-4DGL-Internal-Functions.pdf' for more
information on how to use the Pin Counter functions,
along with the separate document titled ‘DIABLO16Processor-Datasheet-REVx.x.pdf’.
4.10. Quadrature In
There are two Quadrature Input channels available
on the DIABLO16 processor, which requires 2 GPIO
pins each.
Please refer to the table on the previous page for
details on which GPIO can be configured for
Quadrature Input.
Quadrature Input allows a quadrature encoder to be
connected, and the position counter and delta
counter can be read at any time.
To enable the Quadrature Input function on a set of
GPIO pins (2 pins required), the following 4DGL
function is used:
Qencoderx(PHApin, PHBpin, mode);
Where ‘Qencoderx’ is substituted for Quencoder1 or
Quencoder2 accordingly, ‘PHApin’ is the pin
connected to the A Phase of the Encoder, ‘PHBpin’ is
the pin connected to the B Phase of the Encoder, and
‘mode’ is not currently used so is to be set to zero (0).
Please refer to the separate document
'DIABLO16-4DGL-Internal-Functions.pdf' for
information on how to use the Quadrature
functions, along with the separate document
‘DIABLO16-Processor-Datasheet-REVx.x.pdf’.
titled
more
Input
titled
Averaged Mode results in a 16 sample being
immediately read and their average returned.
Averaged Mode can read approximately 20000 values
per second. Operates at 12-bit.
Highspeed Mode collects a user specified number of
samples at a user specified rate/frequency and can
execute a user function when complete. The updated
value updates approximately 250000 times across 1-4
channels. Operates at 10-bit.
To enable a GPIO to be used as an Analog Input for
Standard or Averaged modes, the following 4DGL
function is used to set the pin:
pin_Set(mode, pin);
Where ‘mode’ is the desired mode defined above,
either Standard or Averaged, and ‘pin’ is the GPIO
compatible with this function which is to become an
Analog Input.
For highspeed mode, the following 4DGL function is
used to set the pin and define the parameters:
ana_HS(rate, samples, 1buf, 2buf, 3buf, 4buf, func);
Where ‘rate’ is the number of samples per second,
‘samples’ is the number of samples to collect per
channel, ‘1buf’ ‘4buf’ are the buffer addresses for
the 4 channels, and ‘func’ is the user function to call
when the number of samples specified have been
collected.
Please refer to the separate document titled
'DIABLO16-4DGL-Internal-Functions.pdf' for more
information on the Analog Input functions, along with
the separate document titled ‘DIABLO16- ProcessorDatasheet-REVx.x.pdf’.
Note: Analog Inputs are 0-3.3V tolerant only. Do not
apply voltages outside of this range as you will
damage Diablo16.
4.11. Analog Inputs
Please refer to the table in section 4.2 for details on
which GPIO can be configured to be analog inputs.
The analog inputs on the DIABLO16 have a range of 0
to 3.3V, each with a max resolution of 12-bits.
The analog inputs can be read using three modes,
standard mode, averaged mode or high speed mode.
Standard Mode results in a sample being immediately
read. Standard Mode can read over 40000 values per
second. Operates at 12-bit.
gen4-uLCD-24D[T]-[CLB]
Page 13 of 30
www.4dsystems.com.au
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
gen4-HMI Display Modules
5. Module Features
5.3. SD/SDHC Memory Cards
The gen4 series of Integrated Display Modules are
designed to accommodate most applications. Some
of the main features of the module are listed below.
The Diablo16 processor uses off the shelf standard
SDHC/SD/microSD memory cards with up to 2GB
capacity usable with FAT16 formatting. For any FAT
file related operations, before the memory card can
be used it must first be formatted to FAT16. The
formatting of the card can be done on any PC system
with a card reader. Select the appropriate drive and
choose the FAT16 (or just FAT in some systems)
option when formatting. The card is now ready to be
used in the Diablo16 based application.
5.1. DIABLO16 Processor
The module is designed around the DIABLO16
Graphics Controller from 4D-Labs.
The Diablo16 processor also supports high capacity
HC memory cards (4GB and above). The available
capacity of SD-HC cards varies according to the way
the card is partitioned and the commands used to
access it.
The DIABLO16 is a smart Controller and the interface
to the TFT- LCD displays is almost plug-n-play.
All of the data and control signals are provided by the
chip to interface directly to the display.
Powerful graphics, text, image, animation and
countless more features are built right inside the
chip.
The data sheet for the processor is available from the
http://www.4dsystems.com.au website:
“DIABLO16 Processor Datasheet”
The FAT partition is always first (if it exists) and can
be up to the maximum size permitted by FAT16.
Windows 7 will format FAT16 up to 4GB. Windows XP
will format FAT16 up to 2GB and the Windows XP
command prompt will format FAT16 up to 4GB.
5.2. Audio
RMPET, a 4D Systems Tool found in the Workshop4
IDE, is capable of repartitioning and formatting
microSD cards to be the appropriate type and format
for 4D Systems processors. This tool should be used
for all cards.
Audio playback support in the DIABLO16 Processor
enables this module to play audio WAV files stored in
the micro-SD memory card. Filtered PWM audio is
generated and made available on the AUDIO pin of
the 30 way ZIF connector, ready to interface with an
audio amplifier on your application board.
Note: An SPI Compatible SDHC/SD/microSD card
MUST be used. Diablo16 along with other 4D
Systems Processors requires SPI mode to
communicate with the SD card. If a non-SPI
compatible SD card is used, then the processor will
not be able to mount the card.
A simple instruction enables the user to
play/pause/stop audio files while continuing the
execution of the user application code, such as
display updates, touch recognition, communications,
etc. The audio system also allows real time pitch
change of audio samples.
For a complete list of audio commands please refer
to the separate document titled:
“DIABLO16 4DGL Internal Functions”
gen4-uLCD-24D[T]-[CLB]
Note: Read disturb is a well-known issue with flash
memory devices, such as microSD cards, where
reading data from a flash cell can cause the nearby
cells in the same memory block to change over time.
This issue can be prevented by using industrial-grade
microSD cards with read disturb protection.
Industrial-grade microSD cards have a firmware that
actively monitors the read operation and refreshes
areas of memory which have high traffic and even
move data around to prevent read disturb error from
occurring. Furthermore, manufacturers may choose
Page 14 of 30
www.4dsystems.com.au
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
gen4-HMI Display Modules
to implement read disturb protection on a specific
part of the flash memory only, such that the
beginning part of the memory might not be
protected. The RMPET utility in Workshop4 is
designed to create the first partition at an offset from
the start of the microSD card to account for this
situation. It is therefore recommended to always
partition and format an industrial microSD card using
the RMPET utility before using it with 4D Systems
processors.
On the back of the gen4 module, the display related
circuitry will be found, which is recessed into the
plastic. The level of the plastic on the back of the
gen4 module is higher than the tallest component on
the display circuit PCB, meaning an Application PCB
can be mounted on the back of the gen4, without
affecting the display related circuitry.
Many commercial grade cards designed for Cameras
etc, do not handle read disturb well at all, and
therefore it is always recommended to use an
Industrial grade microSD card with 4D modules. 4D
offers one that is tried and tested, on our website.
5.4. FAT16
All 4D Systems display modules featuring 4D Labs
processors
use
off-the-shelf
standard
SDHC/SD/micro-SD memory cards (SPI Compatible
Only) with up to 4GB capacity usable with FAT16
formatting.
For any FAT file related operations, before the
memory card can be used it must first be formatted
correctly. Built into Workshop4 is a tool created by
4D, called RMPET (please refer to the Tools menu, in
any Environment, inside the Workshop4 IDE). RMPET
allows the User to easily partition and format
microSD cards, to make their file system ready to be
used with 4D Systems modules. The formatting of the
card can be done on any PC system with a card
reader.
The image below (2.4” model depicted) shows a
mock Application PCB on the back of the gen4 display
(Blue area). It features a cut-out in the PCB so access
to the micro-SD socket on the gen4’s display board is
possible, however this may or may not be required
depending on the application and if the micro-SD
socket is utilised or requiring access once the
Application PCB is applied.
The DIABLO16 Processor also supports high capacity
HC memory cards (4GB and above). The available
capacity of SD-HC cards varies according to the way
the card is partitioned and the commands used to
access it. Refer to the 4D Systems RMPET tool in the
Workshop4 IDE.
A Max of 4GB can be utilised by the FAT16 file
system. The FAT partition is always first (if it exists).
Any space larger than 4GB will be RAW, and can still
be utilised by your 4D Systems module, using
different functions. Please refer to Application Notes.
The micro-SD socket is a latch type, so it is accessible
from the top, rather than a push/push or push/pull
style which is accessible from the side.
5.5. Application PCB Support
The gen4 2.4” Diablo16 Integrated Display Module is
designed to accommodate a range of applications,
and therefore is suited for those wanting to make a
customised module, without the need for piggy-back
or daughter boards mounted on headers.
gen4-uLCD-24D[T]-[CLB]
Page 15 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
The metal shield is not made or available from 4D
Systems to buy, it is to illustrate a concept only.
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
5.6. RF / EMI Shielding Support
As per what is written in section 5.5 (Application PCB
Support), there is an option for extended RF shielding
and EMI protection on this module.
On the back of the gen4’s display PCB, are grounded
plated ‘X pads’, which make contact with the metal
housing of the display.
Where the Application PCB is shown to sit in Section
5.5, can house a small metal shield of the same size.
This shield is used instead of, or underneath an
Application PCB, to aid the on-board electronics in
the prevention from potential RF or EMI signals.
On the top of the display PCB is another GND pad,
which can have a pogo pin or similar device mounted
on it, which can make contact with this metal shield.
The display electronics are then sandwiched between
the display’s metal housing, and the metal shield, all
connected together with a common ground.
NOTE: There are no guarantees these steps will
increase chances or grant access to EMI related
certifications, however the gen4 has the capability to
utilise shielding of the modules electronics, should
the need arise. This may or may not assist the User
with protecting the device against EMI/EMF/RF type
noise, depending on the source, strength and type of
noise present, however should aid in the protection.
gen4-uLCD-24D[T]-[CLB]
Page 16 of 30
www.4dsystems.com.au
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
gen4-HMI Display Modules
6. Display/Module Precautions
7. Hardware Tools
The following hardware tools are required for full
control of the gen4 Integrated Display Modules.
Avoid having to display the same image/object
on the screen for lengthy periods of time. This
can cause a burn-in which is a common problem
with all types of display technologies. Blank the
screen after a while or dim it very low by
adjusting the contrast. Better still; implement a
screen saver feature.
Moisture and water can damage the display.
Moisture on the surface of a powered display
should not cause any problems, however if water
is to enter the display either from the front or
from the rear, or come in contact with the PCB,
damage will certainly occur. Wipe off any
moisture gently or let the display dry before
usage. If using this display module in an
environment where it can get wet, ensure an
appropriate enclosure is used.
Dirt from fingerprint oil and fat can easily stain
the surface of the display. Gently wipe off any
stains with a soft lint-free cloth.
The performance of the display will degrade
under high temperature and humidity. Avoid
such conditions when storing.
Do not tamper with the display flex cable that is
connected to the control board. This may affect
the connection between the display and the
driving circuitry and cause failure.
Displays are susceptible to mechanical shock and
any force exerted on the module may result in
deformed zebra stripes, a cracked display cell and
broken backlight
Always use the mounting holes on the module's
corner plates to mount the display where
possible.
Display modules have a finite life, which is
typically dictated by the display itself, more
specifically the backlight. The backlight contains
LED’s, which fade over time. In the Specifications
section is a figure for the typical life of the
display, and the criteria are listed.
Resistive Touch model features a touch sensitive
film over the display which is sensitive to
pressure. Take note when mounting the display
module in an enclosure that pressure is not
applied to the surface of the display by the
enclosure, or false touches will occur, or the
touch will simply not function at all.
gen4-uLCD-24D[T]-[CLB]
7.1. 4D Programming Cable/Adaptor
The 4D programming interfaces are used to program
a new Firmware/PmmC, Display Driver and for
downloading compiled 4DGL code into the processor.
They even serve as an interface for communicating
serial data to the PC.
The 4D Programming Cable is a USB to Serial-TTL
UART converter cable incorporating the Silabs
CP2102 USB to Serial UART bridge IC.
4D Programming Cable
Please note, in conjunction with a Programming
Cable or a Programming Adaptor, the gen4 series of
Display Modules requires a simple interface board
(gen4-IB), as there is no 5 way male header on gen4
modules like other 4D Systems modules.
The gen4 Interface boards (gen4-IB) ship with each
gen4 Display Module unless otherwise stated. Simply
connect the supplied 30 way FPC cable into the ZIF
connector on the gen4 Interface Board, and connect
the Programming Cable or Adaptor into the 5-way
header on the Interface Board. You are now ready to
program using a 4D Programming Cable. This can also
be used to interface to other devices such as a 4D
Arduino Adaptor Shield, breadboard etc.
Page 17 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
An alternative to using a gen4-IB and a 4D
Programming Cable, is a single all in one board called
the 4D-UPA (4D Universal Programming Adaptor).
8. Software Overview - Language
The DIABLO16 processor belongs to a family of
processors powered by a highly optimised soft core
virtual engine called EVE (Extensible Virtual Engine).
EVE was designed and created by 4D Systems in the
early 2000’s, and should not be confused by FTDI’s
solution of EVE, which was developed a decent
decade or so later.
EVE is a proprietary, high performance virtualmachine with an extensive byte-code instruction set
optimised to execute compiled 4DGL programs.
4D-UPA
The 4D-UPA minimizes the connections and modules
required for programming—creating a single module
with microUSB interface, and DIP style pads for GPIO
breakout of all the signals used on the gen4 Display
interface, which is useful for development or final
product use.
The GPIO naming convention on the 4D-UPA does not
reflect the GPIO naming of the actual display module,
due the 4D-UPA being universal and able to be used
with many 4D Products. Please review the 4D-UPA
datasheet for information on mapping the GPIO
naming from this module, with the GPIO naming on
the 4D-UPA, to ensure you connect to the correct
pins you desire.
Note: In addition to these modules, the gen4-PA and
uUSB-PA5/uUSB PA5-II can still be used. Please be
reminded though that the uUSB-PA5/PA5-II still need
a gen4-IB in order to be used for programming.
Using a non-4D programming interface could damage
your processor, and void your Warranty.
These programming interfaces are available from 4D
Systems, www.4dsystems.com.au.
gen4-uLCD-24D[T]-[CLB]
4DGL (4D Graphics Language) was specifically
developed from ground up for the EVE engine core. It
is a high level language which is easy to learn and
simple to understand yet powerful enough to tackle
many embedded graphics applications.
4DGL is a graphics oriented language allowing rapid
application development, and the syntax structure
was designed using elements of popular languages
such as C, Basic, Pascal and others.
Programmers familiar with these languages will feel
right at home with 4DGL. It includes many familiar
instructions such as IF..ELSE..ENDIF, WHILE..WEND,
REPEAT..UNTIL, GOSUB..ENDSUB, GOTO, PRINT as
well as some specialised instructions SERIN, SEROUT,
GFX_LINE, GFX_CIRCLE and many more.
For detailed information pertaining to the 4DGL
language, please refer to the following documents:
“4DGL Programmers Reference Manual”
“DIABLO16 4DGL Internal Functions”
These are both available for download on the
Workshop4 Product Page of the 4D Systems website.
To assist with the development of 4DGL applications,
the Workshop4 IDE combines a full-featured editor, a
compiler, a linker and a downloader into a single PCbased application. It's all you need to code, test and
run your applications.
4DGL is available to be written in two of the four
environments offered by the Workshop 4 IDE,
Designer and ViSi. The other two environments, Serial
and ViSi-Genie do not directly use 4DGL by the User
(Except in Workshop4 Pro, for ViSi-Genie), however it
is present in the background. Serial is an application
which runs, and that is written in 4DGL. ViSi-Genie
automatically generates 4DGL itself based on what is
configured in the GUI. More information about each
follows.
Page 18 of 30
www.4dsystems.com.au
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
gen4-HMI Display Modules
9. 4D Systems - Workshop 4 IDE
9.1. Workshop4 - Designer
Workshop 4 is a comprehensive software IDE that
provides an integrated software development
platform for all of the 4D family of processors and
modules. The IDE combines the Editor, Compiler,
Linker and Downloader to develop complete 4DGL
application code. All user application code is
developed within the Workshop 4 IDE.
Choose the Designer environment to write 4DGL code
in its raw form.
The Workshop 4 IDE supports multiple development
environments for the user, to cater for different user
requirements and skill levels.
The Designer environment enables the user to
write 4DGL code in its natural form to program
the range of 4D Systems intelligent displays.
A visual programming experience, suitably called
ViSi, enables drag-and-drop type placement of
objects to assist with 4DGL code generation and
allows the user to visualise how the display will
look while being developed.
An advanced environment called ViSi-Genie
doesn’t require any 4DGL coding at all, it is all
done automatically for you. Simply lay the
display out with the objects you want, set the
events to drive them and the code is written for
you automatically. This can be extended with
additional features when a Workshop4 PRO
license is purchased from the 4D Systems
website. Extended Advanced features for VisiGenie are available in PRO version of WS4.
Further details explained in section 9.3.
A Serial environment is also provided to
transform the display module into a slave serial
module, allowing the user to control the display
from any host microcontroller or device with a
serial port.
The Designer environment provides the user with a
simple yet effective programming environment
where pure 4DGL code can be written, compiled and
downloaded to the range of 4D Systems intelligent
display modules.
Designer is a very powerful environment, for those
use to developing without any form of GUI aid, or for
those developing complex systems where no aid is
required.
9.2. Workshop4 – ViSi
ViSi was designed to make the creation of graphical
displays a more visual experience.
ViSi is a great software tool that allows the user to
see the instant results of their desired graphical
layout. Additionally, there is a selection of inbuilt
dials, gauges and meters that can simply be placed
onto the simulated module display. From here each
object can have its properties edited, and at the click
of a button all relevant 4DGL code associated with
that object is produced in the user program. The user
can then write 4DGL code around these objects to
utilise them in the way they choose.
The Workshop 4 IDE is available from the 4D Systems
website. www.4dsystems.com.au
For comprehensive manuals on the Workshop 4 IDE
Software, the language, and its environments, refer
to the documentation from the 4D Systems website,
on the Workshop 4 product page.
gen4-uLCD-24D[T]-[CLB]
Page 19 of 30
www.4dsystems.com.au
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
gen4-HMI Display Modules
9.3. Workshop4 – ViSi Genie
9.4. Workshop4 – Serial
ViSi-Genie is a breakthrough in the way 4D Systems’
graphic display modules are programmed. It is an
environment like no other, a code-less programming
environment that provides the user with a rapid
visual experience, enabling a simple GUI application
to be ‘written’ from scratch in literally seconds.
The Serial environment in the Workshop 4 IDE
provides the user the ability to transform a 4D
Systems Intelligent Display, into a slave serial graphics
controller.
ViSi-Genie does all the background coding, no 4DGL
to learn, it does it all for you.
Pick and choose the relevant objects to place on the
display, much like the ViSi Environment yet without
having to write a single line of code. Each object has
parameters which can be set, and configurable
events to animate and drive other objects or
communicate with external devices.
Simply place an object on the screen, position and
size it to suit, set the parameters such as colour,
range, text, and finally select the event you wish the
object to be associated with, it is that simple.
In seconds you can transform a blank display into a
fully animated GUI with moving sliders, animated
press and release buttons, and much more. All
without writing a single line of code!
ViSi-Genie provides the user with a feature rich rapid
development environment, second to none.
This enables the user to use their favourite
microcontroller or serial device as the Host, without
having to learn 4DGL or program in a separate IDE.
Once the display module is configured by the Serial
Environment (by downloading what is called the SPE
application to the module), commands can be sent
from the users host microcontroller to display
primitives, images, sound and video, and can even be
used to display ViSi generated graphics and widgets.
The Serial Environment should not be taken as being
basic in terms of its capabilities, as it has the full 4DGL
command set behind it, but available from the Host
rather than from programming the display module
itself using the Workshop4 IDE.
Virtually anything created in Designer or ViSi, can be
designed or controlled from the Serial Environment.
Please refer to the “Diablo16 Serial Command Set
Reference Manual” from the Workshop 4 product
page on the 4D Systems website for a complete
listing of all the supported Serial commands
ViSi-Genie’s functionality can be extended with the
purchase of a Workshop4 PRO License.
Workshop4 PRO adds a professional set of features to
the Visi-Genie environment called Genie-Magic. The
added features allow the user to add in 4DGL scripts,
which can be activated from the display itself, from
an interfacing Host, or from an external sensor or
device.
These PRO set of features of Genie-Magic allow the
User to create an immensely powerful GUI system
with a fraction of the effort required by other
systems.
gen4-uLCD-24D[T]-[CLB]
Page 20 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
9.5. PmmC/Firmware Programming
The DIABLO16 processor is a custom graphics
processor. All functionality including the high level
commands are built into the chip. This chip level
configuration is available as a PmmC (Personalitymodule-micro-Code) file, which can be likened to
traditional Firmware. There is also a Display Driver
file, which separates specific display settings from the
PmmC, unlike on the PICASO processor where
everything is combined.
PmmC Loader is a GUI interface designed to
download PmmC’s and Drivers to 4D Systems
Processor. It has the ability to automatically update
existing PmmC’s and Drivers present on a module, or
to manually change or force download to a blank
processor or module, overwriting anything written in
previously.
A PmmC file contains all of the low level micro-code
information (analogy of that of a soft silicon) which
define the characteristics and functionality of the
device. The ability of programming the device with a
PmmC file provides an extremely flexible method of
customising as well as upgrading it with future
enhancements.
The Display Driver contains the initialisation and
parameters associated with the particular display that
is to be connected to the DIABLO16 processor, along
with product specific settings and parameters which
are required over and above what is found in the
PmmC.
The PmmC file and Display Driver file can only be
programmed into the device via the COM0 serial port
with the aid of Workshop 4, the 4D Systems IDE
software.
Program Loader is a GUI interface designed to
download Applications to either Flash or RAM, useful
for testing or production loading, without the need
for Workshop4 itself.
Solutions, which remove the need to use Workshop4
to program the display modules, are available for
commercial customers requiring batch programming
or production line programming. These solutions are
practical for production staff and minimize the
chance of unwanted or unauthorised modifications
on the production line.
Three solutions come with the Workshop4 IDE, which
can be separated out for production line computers if
required, ScriptC, PmmC Loader and Program
Loader.
ScriptC is a command line interface which can be
controlled from a Batch Script or similar, useful for
repetitive loading or when controlled from an
external application. Example scripts are provided,
showing how to load PmmC, Display Drivers and
Applications using a batch script.
gen4-uLCD-24D[T]-[CLB]
Please contact our Support Team for more
information on what we can provide. Some solutions
also exist for external processor based loading, if
there is a requirement for that. This solution is
available under NDA.
Using a non-4D programming interface could damage
your module, and void your Warranty.
Page 21 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
10. Starter Kit
4D Systems highly recommends all first time buyers
of 4D Systems’ displays, to purchase the Starter Kit
when purchasing their first 4D Systems display
solution.
The Starter Kit provides all the hardware that is
required to get the User up and running.
Not all development environments and features will
be needed by every User. However, by purchasing
the display solution in a Starter Kit allows you to take
full advantage of all of the features of the 4D Systems
Display Solution and try out each of the 4D
Woskshop4 Environments prior to settling with the
preferred feature-set.
The Designer environment can utilise every feature
of the display, however depending on the user
requirements, a micro-SD (uSD) card may not be
required. The uSD card is used when displaying
images/video/sound, along with datalogging to uSD,
and a programming cable or adaptor is required for
downloading compiled code and PmmC/Firmware
updates.
The ViSi environment is the same as Designer in
terms of feature utilisation, but is image based so
requires a uSD card, along with a programming cable.
Please refer to the 4D Systems website for current
components included in the Starter Kit.
Simply select the Starter Kit option when purchasing
the chosen display module on the 4D Systems
shopping cart, or from your local distributor.
11. Display Module Part Numbers
The following is a breakdown on the part
numbers and what they mean.
Example:
gen4-uLCD-24DT
gen4
uLCD
24
D
T
CLB
The ViSi-Genie environment is also image based, and
therefore requires a uSD card and programming cable
also.
- gen4 Display Range
- microLCD Display Family
- Display size (2.4”)
- Diablo16 Processor
- Resistive Touch
- Cover Lens Bezel
For part numbers which do not include T or CT,
these are non-touch variants.
Cover Lens Bezels (CLB) are glass fronts for the
display module with overhanging edges, which
allow the display module to be mounted directly
into a panel using special adhesive on the
overhanging glass. These are available for nontouch only.
Resistive Touch models are not available in CLB,
as a CLB is made of glass and resistive touch
relies on mechanical flexing of a membrane to
trigger touch.
The Serial environment does not require either a uSD
or Programming cable to be used once the module
has been configured as a Serial device, however can
utilise both depending on the user requirements. The
uSD card can be used for such things as storage and
display of multimedia files, datalogging, and the
Programming cable for PmmC/Firmware updates, or
changing to one of the other three programming
environments.
Starter Kits typically include:
gen4 Integrated Display Module
gen4 Interface Module (gen4-IB)
Programming Adaptor (4D-UPA)
4GB micro-SD Card
5-way cable for easy connection to a
breadboard or host via the gen4-IB
150mm 30-way FFC cable for connecting
gen4 display to gen4-IB or 4D-UPA
gen4-uLCD-24D[T]-[CLB]
Page 22 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
12. Cover Lens Bezel – Tape Spec
The perimeter of the CLB display modules features
double sided adhesive tape, designed to stick directly
onto a panel, enclosure, box etc without the need for
any mounting screws or hardware.
The tape used is 3M 9495LE tape, which uses the
well-known and strong 3M 300LSE adhesive.
The double sided adhesive has a thickness of 0.17mm
once the backing has been removed.
More information on this adhesive can be found on
the 3M website.
http://multimedia.3m.com/mws/media/771683O/
3mtm-double-coated-tapes-9474le-9495le.pdf
13. FFC Cable information
The FFC cables supplied by 4D Systems (included with
products) have the following specifications:
30 Pin Flexible Flat Cable, 150mm Long, 0.5mm
(0.02") pitch
Cable Type: AWM 20624 80C 60V VW-1
Heat Resistance 80 Degrees Celsius
Connections on the opposite side at each end
(Type B)
Note: Some different length cables are available by
contacting 4D Systems sales directly
If you are interfacing to this module directly to your
own product, and wish to interface via the FFC cable
directly, suitable connectors are readily available
from many electronics suppliers, such as Digikey,
Mouser, Farnell, RS, etc.
A standard 30-pin, 0.5mm pitch, 0.3mm thick FFC,
FFC connector. They are available in Top Contact and
Bottom Contact, so depending how you orientate the
cable on your product, will determine which one you
need. Please however take care of the pinout and
how it flows from the display module, through the
FFC and into your product, to ensure Pin1 and Pin30
are where you expect them to be.
gen4-uLCD-24D[T]-[CLB]
Page 23 of 30
www.4dsystems.com.au
gen4-HMI Display Modules – gen4-uLCD-24D
gen4-HMI Display Modules
14. Mechanical Details (Resistive Touch & Non-Touch without Cover Lens Bezel)
gen4-uLCD-24D[T]-[CLB]
Page 24 of 30
www.4dsystems.com.au
gen4-HMI Display Modules – gen4-uLCD-24D
gen4-HMI Display Modules
15. Mechanical Details (Non-Touch with Cover Lens Bezel)
gen4-uLCD-24D[T]-[CLB]
Page 25 of 30
www.4dsystems.com.au
gen4-HMI Display Modules – gen4-uLCD-24D
gen4-HMI Display Modules
16. Schematic Details
gen4-uLCD-24D[T]-[CLB]
Page 26 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
17. Specifications
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
ABSOLUTE MAXIMUM RATINGS
Operating ambient temperature ................................................................................................... -20°C to +70°C
Storage temperature ...................................................................................................................... -30°C to +80°C
Voltage on any digital input pin with respect to GND ....................................................................... -0.3V to 6.0V
Voltage on VCC with respect to GND ................................................................................................. -0.3V to 6.0V
Maximum current sunk/sourced by any pin .............................................................................................. 10.0mA
Maximum current sunk/sourced by all ports ........................................................................................... 200.0mA
NOTE: Stresses above those listed here may cause permanent damage to the device. This is a stress rating only
and functional operation of the device at those or any other conditions above those indicated in the
recommended operation listings of this specification is not implied. Exposure to maximum rating conditions for
extended periods may affect device reliability.
RECOMMENDED OPERATING CONDITIONS
Parameter
Supply Voltage (VCC)
Processor voltage (VP)
Input Low Voltage (VIL)
Input High Voltage (VIH)
Input High Voltage (VIH)
Reset Pulse
Operational Delay
Conditions
Stable external supply required
all pins
non 5V tolerant pins
PA4-PA13, RX0 and TX0 pins
External Open Collector
Power-Up or External Reset
Min
4.0
-0
0.8VP
0.8VP
2.0
500
Typ
Max
5.0
3.3
------
5.5
-0.2VP
3.3
5.5
-3000
Units
V
V
V
V
V
µs
ms
GLOBAL CHARACTERISTICS BASED ON OPERATING CONDITIONS
Parameter
Supply Current (ICC)
Display Endurance
Touch Screen Endurance
Touch Screen Transparency
Touch Screen Operational
Force
CLB Hardness
Conditions
5V Supply - gen4-uLCD-24D
5V Supply - gen4-uLCD-24D-CLB
5V Supply - gen4-uLCD-24DT
Hours of operation, measured to
when display is 50% original
brightness
Number of touches/hits with a
12.5mm tip at a rate of 2x per
second with 250gf force
Slide stylus on screen, 100gf force,
60mm/s speed with a 0.8mm
polyacetal tip stylus pen
Only use Finger or Stylus, do not
use anything sharp or metal
Hardness of CLB Glass
Min
Typ
Max
Units
----
150
150
160
----
mA
mA
mA
30000
--
--
H
--
1M
--
Touches
--
100K
--
Slides
80
--
--
%
20
--
100
Gf
--
6
--
H
LCD DISPLAY INFORMATION (TN DISPLAY)
gen4-uLCD-24D[T]-[CLB]
Page 27 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
Parameter
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
Display Type
Conditions
All displays produced before IPS
release date in IPS table below, or any
modules not specified are therefore TN
type displays.
Display Size
Display Resolution
Display Brightness
Display Contrast Ratio
Display Viewing Angles
5V Supply, gen4-uLCD-24D
5V Supply, gen4-uLCD-24D-CLB
5V Supply, gen4-uLCD-24DT
Typical
Above Centre
Below Centre
Left of Centre
Right of Centre
Display Viewing Direction
Display Backlighting
Pixel Pitch
Pixel Density
White LED Backlighting
Number of pixels in 1 row in 25.4mm
Specification
TN - TFT Transmissive LCD
2.4” Diagonal
240 x 320 (Portrait View)
228 cd/m2 (typical)
221 cd/m2 (typical)
182 cd/m2 (typical)
250:1
35 Degrees
55 Degrees
55 Degrees
55 Degrees
6 o’clock Display
(Optimal viewing is from below
when in Portrait mode)
1x4 Parallel LED’s
0.153 x 0.153mm (Square pixels)
166 DPI/PPI
LCD DISPLAY INFORMATION (IPS DISPLAY)
Parameter
Display Type
Display Size
Display Resolution
Display Brightness
Display Contrast Ratio
Display Viewing Angles
Display Viewing Direction
Display Backlighting
Pixel Pitch
Pixel Density
Conditions
gen4-uLCD-24DT – Modules produced
January 2021 onwards.
gen4-uLCD-24D – Modules produced
July 2021 onwards.
5V Supply, gen4-uLCD-24DT
Typical
Above Centre
Below Centre
Left of Centre
Right of Centre
White LED Backlighting
Number of pixels in 1 row in 25.4mm
Specification
IPS - TFT Transmissive LCD
2.4” Diagonal
240 x 320 (Portrait View)
270 cd/m2 (typical)
800:1
80 Degrees
80 Degrees
80 Degrees
80 Degrees
ALL (wide viewing IPS Display)
1x4 Parallel LED’s
0.153 x 0.153mm (Square pixels)
166 DPI/PPI
Note: Relevant for both TN and IPS displays, the Displays used are of the highest rated ‘Grade A’, which allows for 04 defective pixels. A defective pixel could be solid Black (Dead), White, Red, Green or Blue.
gen4-uLCD-24D[T]-[CLB]
Page 28 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
18. Hardware Revision History
19.
Revisio
n
Number
1.2
Date
31/05/2016
Description
D
a
t
a
s
h
e
e
Initial public release
t Revision History
Revisio
n
Number
Date
0.1
1.0
1.1
xx/xx/2015
09/12/2015
22/12/2015
1.2
15/03/2016
1.3
1.4
1.6
1.7
1.8
08/06/2016
09/04/2018
04/03/2019
11/11/2019
30/06/2021
1.9
07/09/2021
gen4-uLCD-24D[T]-[CLB]
Description
Internal Use Only
Initial Public Release Version
Cosmetic Changes to gen4 Datasheet range
Updates to display specs following initial production samples, and the
addition of the CLB model, and drawing
Drawing and Specification updates, other minor changes
Addition of 4D-UPA
Cosmetic Changes to gen4 Datasheet range
Updated details regarding Serial Port voltage tolerance
General updates / information.
Addition of FFC cable/connector information. (Section 13)
Addition of IPS display information/specs (Section 17).
IPS displays started being used in production as TN stocks were used up.
The change-over date varies for each touch type.
Resistive-Touch (DT) models changed over to IPS in January 2021.
Any other model not stated, is therefore still a TN display.
Addition to display information/specs (Section 17).
Resistive-Touch (DT) models changed over to IPS in January 2021.
Non-Touch (D) models changed over to IPS in July 2021.
Any other model not stated, is therefore still a TN display.
Page 29 of 30
www.4dsystems.com.au
gen4-HMI Display Modules
20. Legal Notice
gen4-HMI Display Modules – gen4-uLCD-24D – 2.4”
Proprietary Information
The information contained in this document is the property of 4D Systems Pty. Ltd. and may be the subject of
patents pending or granted, and must not be copied or disclosed without prior written permission.
4D Systems endeavours to ensure that the information in this document is correct and fairly stated but does not
accept liability for any error or omission. The development of 4D Systems products and services is continuous and
published information may not be up to date. It is important to check the current position with 4D Systems. 4D
Systems reserves the right to modify, update or makes changes to Specifications or written material without prior
notice at any time.
All trademarks belong to their respective owners and are recognised and acknowledged.
Disclaimer of Warranties & Limitation of Liability
4D Systems makes no warranty, either expressed or implied with respect to any product, and specifically disclaims
all other warranties, including, without limitation, warranties for merchantability, non-infringement and fitness for
any particular purpose.
Information contained in this publication regarding device applications and the like is provided only for your
convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with
your specifications.
Images and graphics used throughout this document are for illustrative purposes only. All images and graphics used
are possible to be displayed on the 4D Systems range of products, however the quality may vary.
In no event shall 4D Systems be liable to the buyer or to any third party for any indirect, incidental, special,
consequential, punitive or exemplary damages (including without limitation lost profits, lost savings, or loss of
business opportunity) arising out of or relating to any product or service provided or to be provided by 4D Systems,
or the use or inability to use the same, even if 4D Systems has been advised of the possibility of such damages.
4D Systems products are not fault tolerant nor designed, manufactured or intended for use or resale as on line
control equipment in hazardous environments requiring fail – safe performance, such as in the operation of nuclear
facilities, aircraft navigation or communication systems, air traffic control, direct life support machines or weapons
systems in which the failure of the product could lead directly to death, personal injury or severe physical or
environmental damage (‘High Risk Activities’). 4D Systems and its suppliers specifically disclaim any expressed or
implied warranty of fitness for High Risk Activities.
Use of 4D Systems’ products and devices in 'High Risk Activities' and in any other application is entirely at the
buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless 4D Systems from any and all damages,
claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any 4D
Systems intellectual property rights.
21. Contact Information
For Technical Support: www.4dsystems.com.au/support
For Sales Support: sales@4dsystems.com.au
Website: www.4dsystems.com.au
Copyright 4D Systems Pty. Ltd. 2000-2021.
gen4-uLCD-24D[T]-[CLB]
Page 30 of 30
www.4dsystems.com.au