4Discovery-50
Description
The 4Discovery-5.0 is a high-resolution 480x854 pixel 4.95" (referred to as 5.0") Intelligent wall-mounted display product from 4D Systems, featuring the DIABLO16 Processor.
The 4Discovery's 5" TFT display is IPS, giving it very wide viewing angles.
The 4Discovery is designed to be mounted directly onto a panel or wall, or any flat drillable surface. This universal mounting enables quick and easy installation almost anywhere in any orientation, enabling a wide range of customers to take advantage of this display product.
Driving the display and peripherals is the DIABLO16 processor, a very capable and powerful graphics processor from 4D Labs, which enables stand-alone functionality, and is programmed using the 4D Systems Workshop4 IDE Software. The Workshop IDE enables graphic solutions to be constructed rapidly and with ease due to its design being solely for 4D graphics processors.
The 4Discovery has an array of features including a 5.0" 480x854 pixel TFT LCD Display, Capacitive Touch, micro-SD memory storage, optional Flash memory storage, 2 wire RS485 Interface which can act as Master or Slave with additional changeover wire, Proximity sensor to wake (or otherwise) the unit as someone approaches, and a switch-mode power supply enabling a wide input voltage range, optional WiFi/Bluetooth, along with many more features.
Anything that has been designed to run on a PICASO or DIABLO16 module can theoretically run on this 4Discovery with minor changes. Please ensure you contact the 4D Systems' support team if unsure about changing over from a 4D Systems module to this 4Discovery.
The 4Discovery-5.0 can be customised for customers who require alterations to the pinout or to add some extra features. The 4Discovery features a daughter board that is attached at the factory which can be modified to suit specific requirements, simply by changing the design of the daughter board. More details can be found in later sections on this topic.
For other customisations such as plastics colour, or more detailed inquiries specific to your application, please contact the 4D Systems sales team.
Features
- Powerful 5.0" Intelligent TFT IPS display module powered by DIABLO16.
- 480x854 FWVGA Resolution (Full Wide Video Graphics Array), RGB 65K true-to-life colours, TFT Screen with integrated Capacitive Touch Panel.
- Wide viewing angles from all directions.
- Programmed over RS485 using a special programmer designed specifically for the 4Discovery.
- 6 banks of 32750 bytes of Flash memory for User Application Code and Data
- 32Kb of SRAM purely for the User.
- On-board micro-SD memory card connector for multimedia storage and data logging purposes. HC memory card support is also available for cards larger than 4GB.
- Optional Flash Memory can be ordered for internal storage of multimedia, data files, and fonts, or for holding extra code functions (to expand the code storage of the processor), This secondary storage could be utilised where microSD card storage is undesirable - however, space is limited.
- On board proximity sensor found behind the top edge of the display glass, can be used for activation of the display, waking from sleep, or other functions as programmed by the User. Optional Onboard WiFi and Bluetooth using the Espressif ESP32-PICO-D4 SoC, with both an integrated ceramic antenna and a u.FL connector for an external antenna.
- DOS-compatible file access (FAT16 format) as well as low-level access to microSD card memory.
- Display full colour images, animations, icons and video clips on chosen 4D Systems display.
- Supports all available Windows fonts.
- 5.0V or 7.0V-to-30V input voltage range operation (single supply).
- Module dimensions: 76.2 x 139.4 x 24.8mm
- Weight approximately 130g.
- Display Viewing Area: 62.56 x 110.53mm
- Easily mounted to the wall, enclosure, panel or virtually any flat drillable surface.
- RoHS and CE Compliant.
- PCB is UL 94V-0 Flammability Rated
Configurations - Daughter Boards
There is a daughter board inside the 4Discovery 5" module which is permanently attached at the factory.
There are multiple configurations that the 4Discovery 5" can be ordered in. The default configuration utilizes a daughter board called DB01. Unless otherwise stated, 4Discovery 5" is assumed to have DB01 installed.
DB01 is the standard daughter board, and DB02 is an alternative providing different communication options. It is possible to also have a custom Daughter board designed to suit various customer requirements. The daughter board holds the 2x RJ45 Jacks which are present at the back of the 4Discovery 5" module and is a separate PCB to the main 4Discovery PCB, connected with soldered header pins.
The Daughter Board is not user removable and is installed during the manufacturing of the 4Discovery module.
Please ensure to contact our Sales team to discuss your requirements, as customisations are possible.
Daughter Board DB01
DB01 refers to 'Daughter Board 01' - Which is the default configuration in which the 4Discovery 5" is sold. Unless otherwise stated, 4Discovery 5" is assumed to have DB01 installed.
DB01 is a secondary PCB that is soldered onto the main PCB at the 4D Systems factory and provides a looped dual port RS485 communications bus, which communicates to the electronics on the 4Discovery main PCB.
This default configuration enables RS485 communications using a 2-wire bus, and the dual RJ45 ports mean you can daisy chain multiple modules or other RS485 devices together on the bus, without the need for RS485 hubs or splitters.
In this configuration, to program the 4Discovery you will need the RS485 Programmer, which is discussed in a later section of this document.
Daughter Board DB02
DB02 refers to 'Daughter Board 02' - Which is a second configuration for the 4Discovery 5" and is available on request by discussing with our Sales team.
Like DB01, the DB02 is a daughterboard that is mounted at our factory and provides various communication options to the DIABLO-16 processor. It also features dual RJ45 ports, however, the pinout is different for each port.
DB02 features an RS232 communications port, a UART communications port, and 3 GPIO (including an I2C port). This option is useful when using the 4Discovery in local control applications, such as on a machine or to a local controller, where RS485 is not required. These communication signals are available across the 2 RJ45 ports. Please refer to the pinout in the RJ45 Pin Configuration and Summary section for more information.
In this configuration, to program the 4Discovery you will program it over the serial UART, which is found on the RJ45 PORT 1, details can be found in later sections of this document.
Future
At the time of writing this document, 2 daughter board options were available, however, more may be listed in the future.
If an application warrants a completely custom daughter board to be designed and produced, this is possible, please refer to the Module Customisation Options section for some more information, and be sure to contact our Sales team.
RJ45 Pin Configuration and Summary
DB01 Pin Configuration
Standard Model (using DB01) – Dual Looped RJ45 Pinout (Both PORT1 and PORT2)
Pin | Symbol | I/O | Description |
---|---|---|---|
1 | VIN | P | 7.0V to 30VDC Input. Recommended range is 12V to 24V. This is the primary power source of the 4Discovery. |
2 | A | I/O | 485 A Signal (non-Inverting) pulled to 3.3V internally, terminated to B with 120Ω. |
3 | B | I/O | 485 B Signal (Inverting), pulled to GND internally, terminated to A with 120Ω. |
4 | GND | P | System Ground, relevant to VIN and 5V_IN |
5 | GND | P | System Ground, relevant to VIN and 5V_IN |
6 | 5_IN | P | 5.0VDC Input. This is typically only used to power the 4Discovery from the 4D 485 Programmer, however, can be used to power the 4Discovery if a higher voltage power source into VIN is not available. Should be in the range of 4.5V to 5.5V, nominal 5.0V. Please see the Power Pins section. Take note of voltage drop across long cables, and the current requirements of the module, especially when powering off 5V. |
7 | TURN | I | Primarily used by the 4D 485 Programmer in conjunction with programming the 4Discovery, however, can also be from an external device that is acting as a Host when 4Discovery is programmed to be a slave. This is an input only to the 4Discovery (PA14). When 4Discovery is a Master, the slaves must determine the direction of transmit/receive themselves using an Auto Turnaround 485 IC or circuit. |
8 | RESET | I | Reset signal used by the 4D 485 Programmer. Can be used by an external device if the 4Discovery needs to be reset. Active Low. |
Note
- I = Input, O = Output, P = Power
- PORT1 and PORT2 on the Standard Daughter board (DB01), are identical. They are looped together to enable daisy chaining of the RS485 bus and contain the same signals as each other.
- Both PORT1 and PORT2 can be used with the RS485 Programmer.
DB02 Pin Configuration
Secondary Model (using DB02) - PORT 1
Pin | Symbol | I/O | Description |
---|---|---|---|
1 | VIN | P | 7.0V to 30VDC Input. Recommended range is 12V to 24V. This is the primary power source of 4Discovery. |
2 | RX0 | I/O | Connected to the DIABLO-16 RX0 port, UART Receive, used for Programming DIABLO-16, but also for communications to external devices. This pin is 5V tolerant but operated at 3.3V logic levels. |
3 | TX0 | I/O | Connected to the DIABLO-16 TX0 port, UART Transmit, communications to external device. This pin outputs at 3.3V levels but is compatible with 5V logic systems. |
4 | GND | P | System Ground, relevant to VIN and 5V_IN |
5 | GND | P | System Ground, relevant to VIN and 5V_IN |
6 | 5V_IN | P | 5.0VDC Input. This is typically only used to power the 4Discovery during programming, however, it can be used to power the 4Discovery if a higher voltage is used to power the 4Discovery if a power source into VIN is not available. Should be in the range of 4.5V to 5.5V, nominal 5. 0V. Please see the Power Pins section. Take voltage drop across long cables, and the current requirements of the module, especially when powering off 5V. |
7 | RESET | I | Reset signal used for programming the 4Discovery over the UART. Can be used by an external device if the 4Discovery needs to be reset. Active Low. |
8 | GPIO | I | This GPIO is connected to DIABLO-16 pin PA4. Please refer to the DIABLO-16 Processor datasheet for specific information on the capabilities of this GPIO |
Secondary Model (using DB02) - PORT 2
Pin | Symbol | I/O | Description |
---|---|---|---|
1 | VIN | P | 7.0V to 30VDC Input. Recommended range is 12V to 24V. This is the primary power source of 4Discovery. |
2 | RS232-TX | I/O | This is connected to the Transmit output of the RS232 transceiver, and is controlled by DIABLO-16 pin PA1. |
3 | RS232-RX | I/O | This is connected to the Receive input of the RS232 transceiver, and sends its data to the DIABLO-16 pin PA3. |
4 | GND | P | System Ground, relevant to VIN and 5V_IN |
5 | GND | P | System Ground, relevant to VIN and 5V_IN |
6 | 5V_IN | P | 5.0VDC Input. This is typically only used to power the 4Discovery during programming, however, it can be used to power the 4Discovery if a higher voltage power source into VIN is not available. Should be in the range of 4.5V to 5.5V, nominal 5.0V. Please see the Power Pins section. Take note of voltage drop across long cables, and the current requirements of the module, especially when powering off 5V. |
7 | I2C SDA (or GPIO) | I | This pin is connected to DIABLO-16 pin PA13, and features in internal pullup resistor of 4.7KΩ. This pin can be used as an I2C SDA pin or a GPIO, or it could also function as another hardware serial UART. Please refer to the DIABLO-16 Processor datasheet for specific information on the capabilities of this GPIO. |
8 | I2C SCL (or GPIO) | I | This pin is connected to DIABLO-16 pin PA12, and features in internal pullup resistor of 4.7KΩ. This pin can be used as an I2C SCL pin or a GPIO, or it could also function as another hardware serial UART. Please refer to the DIABLO-16 Processor datasheet for specific information on the capabilities of this GPIO. |
Note
- I = Input, O = Output, P = Power
- PORT1 and PORT2 on the DB02 daughter board, are different. Please refer to the table above and connect to the appropriate port which is marked on the back of the 4Discovery module plastics.
- PORT1 RX0/TX0/RESET pins are required when programming the DIABLO-16 Processor, which is the UART pins. Programming is not possible over the RS232 network.
Hardware Interface
The 4Discovery provides both a hardware and software interface. This section describes in detail the hardware interface pins of the device.
Serial Port(s)
The 4Discovery DB01 option provides one asynchronous serial port which interfaces via the RJ45 port and communicates using the RS485 protocol.
This serial port is used for both communications to various devices on the RS485 bus, and also for the programming of the 4Discovery itself, using the 4D 485 Programmer.
An RS485 IC is used inside the 4Discovery, to provide the RS485 interface, signals A and B.
The 4Discovery DB02 option provides one asynchronous serial UART and one asynchronous RS232 serial port. The serial UART is used for programming the 4Discovery, however, can also be used for general communications. The UART and the RS232 are separate buses and can be used at the same time.
The primary features are:
- Full-Duplex 8-bit data transmission and reception.
- Data format: 8 bits, No Parity, 1 Stop bit.
- Baud rates from 300 baud up to 250K baud.
- Single byte transmits and receives 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.
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.
The figure below shows a single-byte transmission timing diagram.
Power Pins - DB01 and DB02
VIN (Primary Voltage Input):
- Pin 1:
-
4Discovery supply voltage input pin. This pin must be supplied between 7.0VDC and 30VDC, and these must not be exceeded. Typical voltages are between 12V and 24VDC. Note if long cables are used, the minimum 7V needs to be presented at the module, so voltage drops need to be considered. If this pin is not used, a 5VDC source can be applied to pin 6 (5V_IN) instead.
GND (Module Ground):
- Pins 4, 5:
-
Device ground pins. At least one of these pins must be connected to the ground.
5V_IN (Secondary Voltage Input):
- Pin 6:
-
4Discovery supply voltage input pin. This pin is typically used by the 4D 485 Programmer when programming from the USB of a PC, however, it can also be used in the case a suitable voltage cannot be applied to VIN. Supply to this pin must be between 4.5V to 5.5V DC. The nominal operating voltage is 5.0 Volts.
Note
When powering solely off 5V, the current requirements need to be taken into consideration. When all features are running on the 4Discovery, the current requirement of the 5V rail must be enough else the display may reset continuously in a loop. Please see the specification section for current requirements. Voltage drops across the cable need to also be considered, and the Pin 1 (VIN) option is recommended if cable lengths are more than a few meters.
GPIO Pins and Connections
Internal to the 4Discovery there are components such as the WiFi and Proximity Sensor, which are internally connected to the GPIO on the DIABLO-16 processor itself. This section details the connections which can be controlled by the User, to aid in the programming of the 4Discovery Module. This information can also be found in the schematic diagram, towards the end of this document.
The following four GPIO are used by the optional SPI Flash memory, which by default is not loaded onto 4Discovery modules (Please speak to Sales for more information if unsure). If your module is loaded with Flash memory, then the following pins are therefore exclusively used by the Flash memory:
- PA0 - SPI CS - Chip Select to Flash Memory
- PA1 - SPI CLK - Clock to Flash Memory
- PA2 - SPI SDI - Data In from Flash Memory
- PA3 - SPI SDO - Data Out to Flash Memory
These 4 GPIO are also available to custom Daughter Boards (please refer to Section 9). Flash Memory is not supported if the custom Daughter Board also requires their use.
For models without Flash memory loaded (Default), the following applies:
- PA1 - RS232-TX on DB02 Option
- PA3 - RS232-RX on DB02 Option
The following applies to all configurations:
- PA4 - Available as GPIO on DB02 Option
- PA5 - WiFi Main RX - Primary UART for ESP32
- PA6 - WiFi Main TX - Primary UART for ESP32
- PA7 - Prox INT (I2C) - Proximity Sensor I2C
- PA8 - Prox SDA (I2C) - Proximity Sensor I2C
- PA9 - Prox SCL (I2C) - Proximity Sensor I2C
- PA10 - Unused
- PA11 - SD Card Detect - Inserted/Ejected
- PA12 - Available as GPIO or I2C on DB02 Option
- PA13 - Available as GPIO or I2C on DB02 Option
- PA14 - 485 Turn Pin - Send/Receive Turnaround
- PA15 - WiFi/ESP32 Enable/Disable
- PA0 - Not used on DB01 or DB02 - Available for future use or on a Custom Daughter Board
- PA2 - Not used on DB01 or DB02 - Available for future use or on a Custom Daughter Board
PmmC/Firmware Programming
The 4Discovery features a 4D Systems DIABLO16 processor, which is a custom graphics processor. All functionality including the high-level commands is built into the chip. This chip-level configuration is available as a PmmC (Personality-module-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.
A PmmC file contains all the low-level micro-code information (analogy of that of a soft silicon) which defines 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 display that is to be connected to the DIABLO16 processor, along with any module-specific customisations that may be required.
Solutions, which remove the need to use Workshop4 to program the display, are available for commercial customers requiring batch programming or production line programming. These solutions are practical for production staff to minimize the chance of unwanted or unauthorised modifications on the production line.
Three solutions come with the Workshop4 IDE, which can be separated for production line computers if required, PmmC Loader, Program Loader and ScriptC.
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.
PmmC Loader is a GUI interface designed to download PmmC's and Drivers to 4D Systems Processors. It can automatically update existing PmmC's and Drivers present on a module or manually change or force download to a blank processor or module, overwriting anything written in previously.
ScriptC is a command line interface that 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.
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.
4D 485 Programmer - DB01
The 4D 485 Programmer is an essential hardware tool to program, customise and test the 4Discovery module when found in its standard configuration and utilising the DB01 daughter board. This section can be ignored if DB01 is not used in your application.
The 4D 485 Programmer is used to program a new Firmware/PmmC, Display Driver and for transferring compiled Workshop4 Applications. It can even serve as an interface for communicating serial data to the PC. The 4D Programmer also supplies power to the 4Discovery so it can be programmed on the bench or in the field, as it must be disconnected from the RS485 network to be programmed with the 4D 485 Programmer and therefore needs a power source.
It is possible to change the application the 4Discovery is running, using just a microSD card. This is possible after loading the 'Update Banks and Run' application onto the DIABLO-16 processor, enabling it to check and update the microSD card on start-up for updates, and updating the DIABLO-16 flash memory with the new application.
Connecting the 4D 485 Programmer to the 4Discovery, requires a standard CAT5 Ethernet cable, straight through (NOT cross over). You can use CAT4, CAT5, CAT5e, CAT6 etc type cables, but all that is required is 8 wires/conductors and these are straight through, not crossed, to allow correct connection between the two RJ45 plugs/connectors on the 4Discovery and the 4D 485 Programmer. The speed rating of Ethernet cables is not relevant for the 4Discovery since it uses RS485 which operates at a much slower speed than Ethernet.
Either PORT1 or PORT2 can be used for programming the 4Discovery since they are looped ports (Standard Daughter Board DB01).
The maximum length of cable between the 4Discovery and the 4D 485 Programmer, should be kept below 10m. This is due to TTL signals on the RJ45 connector that needs to be controlled by the 485 Programmer. Anything longer may be feasible depending on the type of cable used, however, typically longer cables will cause voltage drops and capacitive loading which could cause programming to fail.
The PmmC file and Display Driver file can only be programmed into the device using the RJ45 connector when using the Standard 4Discovery configuration (DB01), using the 4D 485 Programmer with the aid of Workshop4, the 4D Systems IDE software.
No other RS485 device will be able to program the PmmC and Display Driver of the 4Discovery when set up in the Standard 4Discovery Configuration (DB01), the 4D 485 Programmer must be used.
Note
The 4Discovery cannot be programmed when connected to the RS485 network. It needs to be 1:1 with the 4D 485 Programmer.
4D-UPA Programmer - DB02
When using a DB02 or a custom Daughter Board (Please speak to our Sales team for more information), a 4D-UPA Programmer likely will be required to program over the Serial UART instead of over the RS485 network, that is only present on DB01.
Alternatively, a 4D Programming Cable could also be used. Please speak to our Sales team for more information.
Additional information can be found in the Programming 4Discovery (DB02 – UART) section.
Module Features
Some of the main features of the 4Discovery are listed below.
DIABLO16 Processor
The 4Discovery is designed around the DIABLO16 Graphics Controller from 4D-Labs.
The DIABLO16 is a smart Controller and the interface to the TFT-LCDs is almost plug-n-play.
All of the data and control signals are provided by the chip to interface directly with the display. Powerful graphics, text, images, animation and countless more features are built right inside the chip.
You can refer to the PIXXI-44 graphics processor datasheet for more information.
SD/SDHC Memory Cards
The 4Discovery supports micro-SD memory cards via the onboard micro-SD connector. The memory card is used for multimedia file retrievals such as images, animations and movie clips. The memory card can also be used as general-purpose storage for data logging applications. Support is available for off-the-shelf micro-SD (up to 2GB) and high-capacity SDHC memory cards (4GB and above).
Note
A microSD card capable of SPI is a requirement for all 4D Systems' display modules powered by GOLDELOX, PICASO, PIXXI-28, PIXXI-44 or DIABLO-16 Processors. If a non-SPI compatible card is used, it will simply fail to mount, or may cause intermittent issues resulting in lockups and crashing of the application. Please refer to the 4D Systems website for microSD cards offered by 4D Systems.
The micro-SD card can be used as an update medium for the 4Discovery, in conjunction with suitable application code being written. The micro-SD card can be mounted and used to update the application(s) stored on the onboard Flash of DIABLO-16. This is useful to roll out updates without having to reprogram the 4Discovery. This however is not able to update the PmmC/Firmware or Display Driver. These must still be updated via the RS485 Programmer on Standard 4Discovery Configurations (DB01), via the Serial UART on the Secondary Configuration (DB02) or over the network with a suitable Host code.
The 4Discovery features a Card Detect on the microSD socket, that can be used by the User in their application, to determine if a microSD card is inserted or not. This could be used to switch in and out graphics which may rely on uSD card, or a simplified backup graphic which may be stored on Flash, for example.
- GPIO PA11 - SD Card Detect
-
PA11 is Active High when a card is detected, and Low when no card is detected.
Note
Read disturbance 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 firmware that actively monitors the read operation and refreshes areas of memory that have high traffic and even move data around to prevent read disturb error from occurring. Furthermore, manufacturers may choose 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.
FAT16
The 4Discovery Module uses off-the-shelf standard SDHC/SD/micro-SD memory cards 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 with the FAT16 option. 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.
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.
A Max of 4GB can be used 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 used by your 4D Systems module, using different functions. Please refer to the Application Notes.
Partitioning of microSD cards should be carried out using the RMPET tool, which is included with the Workshop4 IDE. This tool enables you to partition and format your microSD card in a range of ways. It also then allows you to format the card so it is ready for the 4Discovery.
WiFi and Bluetooth (Optional)
The 4Discovery 5.0" module optionally features both WiFi and Bluetooth connectivity, using the Espressif ESP32-PICO-D4 SoC (System on Chip).
The 4Discovery features both an internal antenna and facilities for an external u.FL style antenna to be connected. This allows flexibility if the 4Discovery is mounted in an enclosure or if WiFi reception is some distance away.
When using an external antenna, there is a slot cut-out to the top-right of the PORT2 RJ45 on the back of the 4Discovery. This slot enables a u.FL cable to exit next to the RJ45 port, for connection to an external cable. A suitable cable would be a u.FL to SMA cable (not included), and enables many common external antennas to be connected easily, with various mounting options and signal strengths. These types of cables are available online from many outlets and come in a range of lengths.
The 4Discovery comes preloaded with 4D written firmware in the ESP32, allowing the DIABLO-16 processor easy direct access to the functions of the ESP32 without having to learn longhand AT commands.
The ESP32 can be reprogrammed by the user by using a header found under the back cover. An external programmer is required, or the ESP32 can be updated OTA (Over The Air). Please discuss with our Support Team if you require this functionality.
Additionally, the DIABLO processor and its uSD content can be programmed/updated OTA via the ESP32 WiFi, provided the application written into the DIABLO contains the appropriate functionality to ready itself for OTA Updates. Please contact our Support Team if you require information about this functionality.
For full information on the ESP32 PICO D4, please refer to the Espressif website and documentation.
The ESP32 is connected to a UART on the DIABLO-16 processor. These are GPIO PA5 and PA6 of DIABLO-16.
Please refer to the schematic diagrams for more detail.
Piezo Buzzer
The 4Discovery has an onboard Piezo buzzer, which enables feedback to the user for a range of situations, such as when the screen is touched, or if an event occurs that needs an audio alert.
The Piezo buzzer uses the AUDIO pin on the DIABLO-16 processor and can be controlled using the snd_Freq() function. The optimal frequency to use for this buzzer is 2731Hz.
For detailed information about the 4DGL language, please refer to the DIABLO-16 Internal Functions Manual.
Proximity Sensor
The 4Discovery is fitted with a forward-facing Proximity Sensor, which is located under the glass on the top edge of the display.
The proximity sensor used is a Vishay VCNL4200 and communicates with the DIABLO-16 processor over an I2C bus. An example code is available.
The proximity sensor is useful for power saving, and display saving features, and can trigger the module to wake from sleep or turn the display on if turned off. It can also be used to detect various ambient levels, so the backlight can be adjusted accordingly.
The Proximity Sensor uses the following GPIO on the DIABLO-16 processor
- PA7 - Prox INT (I2C) - Proximity Sensor I2C
- PA8 - Prox SDA (I2C) - Proximity Sensor I2C
- PA9 - Prox SCL (I2C) - Proximity Sensor I2C
The proximity has many registers which can be adjusted to suit the environment the 4Discovery is mounted in, and these can be programmatically changed in the User application.
For more information on the Proximity Sensor, please refer to the Vishay website and documentation.
A sample application is available in the Workshop4 manual, outlining the code required to operate the proximity sensor.
SPI Flash Memory (Optional)
By default, the 4Discovery does not come with SPI Flash Memory loaded, however, it is an option that can be ordered direct from 4D Systems. Please contact our Sales Team.
SPI Flash memory allows some multimedia (images, animations, text, etc) to be loaded without the need for a microSD card. This solution can be beneficial for Users who do not wish to have installations dependent on a microSD card or wish to use the card for other purposes.
SPI Flash memory also allows Users to store Applications, to allow programs to be changed during run time. The flash memory can also be updated during runtime, either from the application itself (such as variable storage) or from the microSD card (such as a program update) or even via WiFi, if a suitable application is written for OTA type updates.
Compatible SPI flash memory is not available in large storage capacities, compared to microSD cards. This can be a limiting factor for larger projects/installations, and microSD cards may still be the best solution, especially when dealing with high-quality images and GUIs.
The SPI Flash is connected to the following DIABLO-16 GPIO.
- PA0 - SPI CS - Chip Select to Flash Memory
- PA1 - SPI CLK - Clock to Flash Memory
- PA2 - SPI SDI - Data In from Flash Memory
- PA3 - SPI SDO - Data Out to Flash Memory
For detailed information about the functions for using SPI Flash memory, please refer to the DIABLO-16 spiFlash_* functions.
Note
- Flash memory can only be used on DB01 based modules, or on custom daughter boards, as PA0, PA1, PA2, and PA3 must not be used by other peripherals.
- PA1 and PA3 are used on DB02 so Flash memory is not supported for DB02.
Universal Mounting Options
The 4Discovery has a range of ways it can be mounted. It is designed to be easily mounted to a wall, a panel or an enclosure, or directly mounted on virtually any supportive wall or drillable flat surface. This includes plasterboard, wood, metal, plastic and even concrete.
One nice feature about the 4Discovery is only a single central hole is required to be drilled into the surface to enable the CAT5 cable(s) to pass through and the RJ45 socket(s) on the back of the 4Disocvery to protrude into, along with as little as 2-4 screws, depending on the mounting surface.
The central hole needs to be larger than 45mm (about 1.8in) to give the RJ45 sockets clearance and not bind in the hole. Please refer to the drilling guide under the mounting example section.
There are 4 corner mounting slots, designed for countersunk self-tapping wood screws or similar. 8G Countersunk Head chipboard screws work well. These holes are slotted to allow some tolerance when mounting.
Any or all of the 4 mounting holes can be used to mount the 4Discovery. Select the most appropriate number for your target installation, and ensure the 4Discovery is securely attached to the surface in question. It is recommended to use all 4 mounting holes.
Please refer to the mechanical drawing at the end of this document, for more information regarding the mounting holes and positions.
Mounting Example
The front cover and display module itself can be removed from the mounting plate, which enables full access to the mounting holes.
The display module can be carefully unclipped by gently raising the two upper (or lower) clips, which will release the display module from the mounting base.
Please ensure only gentle force is applied to these clips so they are not damaged.
As illustrated above, the wall is on the left, which shows the recommended drill holes for the module.
The previous illustration shows four plasterboard anchors, which are a sturdy addition to mounting anything into the plasterboard. These are optional and are not included with the 4Discovery, and many suitable types are available from various hardware stores or online.
Next in the parts stack (shown in the previous illustration) is the mounting plate, which is fixed to the wall using 4 screws appropriate for the material the 4Discovery is being mounted to. If mounting into a material such as metal, then self-tapping or machine screws may be more appropriate. If mounting into Wood, then wood screws would be appropriate. When mounting into concrete, concrete anchors may be required, or suitable concrete screws can also be used. Into plasterboard, screws that come with the plasterboard anchors are typically OK to use, or simply use screws directly into the wall if deemed appropriate. It is always best to use countersunk (CSK) heads where possible. The heads of the screws must not protrude and prevent the display module from clicking into place.
The display module then clips into this mounting plate and can be unclipped and removed as required. Care needs to be taken when unclipping, to ensure the clips are not broken.
Over the top of everything is the front cover bezel, which clips over the front of the entire unit, finalizing the module install.
The following diagram is a suggestion for the main center hole relative to the 4 mounting holes. The size of the 4 screw holes will depend on the screws used to mount the 4Discovery, vary these accordingly. The center hole is sized large enough to give clearance to the RJ45 sockets on the rear of the 4Discovery, but small enough that the 4Discovery will cover the hole when mounted.
A rectangle could be cut instead of the center circle, if desired, however, a circle is typically easier and faster to cut.
The 4 corner holes are slots on the plastic, which give some tolerance when mounting. The slots allow for 51.15mm to 56.15mm horizontal centres.
Removable Front Cover and Module
The front cover bezel of the 4Discovery is removable for access to the display module beneath it, and it provides access to the microSD card socket on the side of the 4Discovery. The cover has little hooks which grab the side of the display module and allow for easy attaching or removal of the cover as required.
The display module (under the front cover bezel) can be unclipped from the mounting plate too, by carefully prizing up the 2 plastic tabs either at the top or the bottom of the unit, and the module will come away from the mounting plate.
Module Customisation Options
The 4Discovery can be ordered with customisations when ordering from 4D Systems directly, or in conjunction with your chosen 4D Systems Distributor.
There is a daughter board inside the 4Discovery which is permanently attached at the factory and is capable of being customised to suit various customer requirements (Refer to the configuration - daughter boards section. The daughter board house the 2xRJ45 Jacks and is a separate PCB to the main 4Discovery PCB, connected with soldered header pins.
By default, the 4Disvovery comes with what is known as a 'Standard Daughter Board' or 'DB01' which is a simple dual-socket RJ45 daughter board, where both ports are looped together enabling daisy chaining of RS485 devices together.
Another daughter board called 'DB02' is also available, which provides RS232, UART and GPIO instead of the default RS485 communications that DB01 provides. This can be useful for a 1:1 connection to a nearby machine or controller, where RS485 is not required. This must be custom ordered, so please discuss it with our Sales team.
If there are requirements for the RJ45 ports to have a different pinout to what is provided by default in DB01 or DB02, or if extra components such as a 2nd RS485 pair are required, a different type of communication chip (if compatible) or even an additional processor, these customisations can be made possible with a custom Daughter Board.
The benefit of customising just the daughter board over a single main product PCB, is the costs involved in customisations are therefore drastically reduced, as the main product PCB can remain the same.
Please contact our Sales team and discuss your requirements.
If your application requires different colour plastics than the standard white, then please contact our sales team to discuss your requirements.
If your application does not require WiFi, then a customised production run without this fitted is also possible, however, please discuss your requirements with our Sales team.
Display Precautions
- Avoid having to display the same image/object on the screen for lengthy periods. This will 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 or use the proximity sensor to dim or turn off the display when no one is nearby.
- Moisture and water can damage the display. Moisture on the surface of a powered display may cause the electrodes to corrode. Wipe off any moisture gently or let the display dry before usage.
- 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 temperatures and humidity. Avoid such conditions when storing.
- Displays are susceptible to mechanical shock and any force exerted on the module may result in deformed zebra stripes, a cracked display cell and a broken backlight
- Always use the mounting holes on the 4Discovery when mounting the 4Discovery to a wall, enclosure or panel.
- Do not apply undue tightness to the screws when fixing the 4Discovery to the chosen wall/enclosure, the 4Discovery case is made of plastic and may be damaged if screws are fastened too tightly.
Programming Language
The 4Discovery utilises the DIABLO16 processor, which belongs to a family of processors powered by a highly optimised softcore virtual engine, EVE (Extensible Virtual Engine).
EVE is a proprietary, high-performance virtual machine with an extensive byte-code instruction set optimised to execute compiled 4DGL programs. 4DGL (4D Graphics Language) was specifically developed from the ground up for the EVE engine core. It is a high-level language that 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 about the 4DGL language, please refer to the following documents:
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 PC-based 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 Workshop4 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 that runs, and that is written in 4DGL. ViSi-Genie automatically generates 4DGL itself based on what is configured in the GUI.
Workshop4 IDE
Workshop4 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 Workshop4 IDE.
The Workshop4 IDE supports multiple development environments for the user, to cater to 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 System's 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 Visi-Genie are available in the PRO version of WS4. Further details are explained in the Visi Genie section of the Workshop4 documentation.
- 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.
For more information regarding these environments, refer to the Workshop4 manuals.
The Workshop 4 IDE is available from the 4D Systems website.
ViSi-Genie Limitations with 4Discovery
While the 4Discovery is capable of being programmed using the basic ViSi-Genie Environment, some limitations need to be observed. If the 4Discovery is being programmed as a Slave Device on the RS485 network, it can only function in Polled mode, rather than Event mode due to the RS485 interface being half-duplex rather than a full duplex. 2-wire RS485 is only half duplex. If the 4Discovery is being programmed as a Master Device (Host) on the RS485 network, it can operate using Event mode, however, is limited in data that can be returned from the slaves.
When the 4Discovery is used with the basic ViSi-Genie, only a single Master/Host and a single Slave can be present on the network. This is the limitation with the ViSi-Genie protocol, as there is no way to direct the ViSi-Genie protocol to a specific Slave, and there is no way for Half Duplex RS485 to handle the responses from the slaves. If more than 1:1 is required, another Environment such as ViSi will be required.
If the basic ViSi-Genie is to be used when operating as a Slave Device, which is the typical operation for a 4D display using ViSi-Genie, when selecting the Event options on any given widget/object, “Reported Messages” cannot be used. The Host must poll each object on the 4Discovery to gain the required information. 4Discovery cannot just send information when it likes, which is the case of Reported Messages, as the 4Discovery is a Slave and therefore is only allowed to speak when spoken to.
If the basic ViSi-Genie is to be used when operating as a Host Device, the Reported Message option can be used as it can speak out to the bus as required since it is the Master of the RS485 bus. However, it is not possible to request information from Slave devices, such as the value of something, as there are no standard functions available in ViSi-Genie to request data from another device. This mode is typically only useful if the 4Discovery only features controls such as buttons, switches, sliders and knobs, which do not require data to be displayed, and only send data out to the slaves for them to do a specific function. Therefore, it has limited but still applicable applications.
Workshop4 PRO has an advanced ViSi-Genie environment with new widgets which allow 4DGL code to be executed by the ViSi-Genie environment when various situations occur, such as button presses, data being received, touchscreen interaction, etc. With Workshop4 PRO, a number of the above limitations are lifted and therefore possible.
4D Systems has ViSi-Genie libraries for the Arduino and the Raspberry Pi. The Arduino library has been updated to include support for the 4Discovery, to allow it to communicate as a Slave to an Arduino using RS485 (external hardware is required on the Arduino). It utilises the Turn Around pin on the 4Discovery to control the Transmit/Receive functionality of the RS485 transceiver. This Turn Around Pin control is required as the ViSi-Genie Protocol is defined already and therefore control of the 4Discoverys Transmit/Receive mode needs to be controlled from the Host, the Arduino. ViSi-Genie can be used with other hosts, however, these are the 2 platforms we have libraries written for.
Connecting to External Hardware (DB01 - RS485)
The 4Discovery can act as an RS485 Master, an RS485 Slave, or in a Multi-Master configuration when appropriate circuitry is present on the devices being interfaced to, and appropriate software is written. It is also possible to connect multiple 4Discoveries onto a single bus at the same time.
RS485 is a Multi-Drop differential system, meaning there can be multiple devices on the same RS485 bus, but it can only operate in Half Duplex mode, meaning only 1 device can speak at a time (which is typically dubbed the Master). There is typically only 1 Master in an RS485 system (with some exceptions - Multi-Master can occur when only 1 Master is active at any given time).
All devices on the RS485 bus MUST communicate using the same protocol else the system will not work.
Master and Slaves (DB01 - RS485)
The 4Discovery is a Half-Duplex RS485 device, which means it operates on a 2-wire RS485 bus, which means there can only typically be a single Master device, and multiple Slave devices, and only the Master can initiate communication, and a Slave can only communicate if first spoken to. Only 1 device can talk on the bus at any given time.
The simplest way to achieve this is when building a new network, and each device on the network is programmable and capable of handling a customised protocol. With an appropriate protocol, the Master can initiate communication to one or all slaves at once (a Broadcast), and the Slaves will receive the information, process it and based on which slave the message was intended for, that Slave will reply with the information requested or an Acknowledgement of an Action taken place. In the case of a Broadcast, the Slaves should not attempt to reply at all, as only one device can reply at once and this could lead to chaos on the network (Unless an innovative protocol is derived).
In the case of an existing RS485 system that 4Discovery is going to be placed into, the 4Discovery may need to be a Slave device to an existing Master, and an existing Protocol may need to be programmed into the 4Discovery.
On the 4Discovery there is a Turn Around pin. This pin is wired directly to the RS485 transceiver in the 4Discovery, which switches the system from Transmit to Receive. This pin is also connected to a GPIO of the DIABLO-16 processor and is therefore capable of being controlled by the 4Discovery, to tell other devices the state of the transmit/receive on the 4Discovery. While this Turn Around pin may not be used in most cases, it may be useful for those special systems where Automatic Direction Control is not possible, such as if an existing protocol does not support it, but the control of a GPIO is possible.
4Discovery as a Host (DB01 - RS485)
The 4Discovery is capable of being the Master device of the RS485 network. Therefore, it needs to communicate with all Slave devices on the network and handle the replies from each of them.
The 4Discovery is fully programmable by the User when used in Designer or ViSi, and therefore every aspect of the system needs to be managed by User Code. To enable the 4Discovery to transmit out of the RS485, the Turn Around pin needs to be High, which is controlled using the PA14 GPIO on the DIABLO-16 processor on board the 4Discovery. To enable the 4Discovery to receive over RS485, the Turn Around pin needs to be Low.
As mentioned in the Master and Slaves, the 4Discovery is capable of being used in new RS485 systems, as well as existing systems. When used in new systems, the 4Discovery protocol can be more easily customised to provide the best mix of features and performance possible, compared to existing systems which typically have a protocol already defined or devices that use a fixed protocol. The 4Discovery is fully programmable so is capable of working with a large range of new and existing systems, even if the protocols are specialised. The main factor is that all devices on the RS485 bus need to take the same protocol, or else the system will not operate correctly.
If there are systems that are not capable of determining when the Slaves are 'allowed' to Transmit, the Turn Around pin may be used from the 4Discovery to indicate when the Master (4Discovery) is transmitting or receiving and may be useful to assist the Slave.
The Master could communicate to each of the Slaves individually, or all of them by doing a Broadcast, however, this is dictated by the User Protocol and how the system is set up.
Each Device on the bus needs to communicate using the same protocol, and each device needs to be able to control its own Transmit/Receive mode of its RS485 transceiver.
4Discovery as a Slave (DB01 - RS485)
To operate the 4Discovery as an RS485 Slave, the same considerations need to be made regarding the protocol used in the system, as when the 4Discovery was the Host. An appropriate Protocol is required such that the Master Device transmits out onto the bus to the slaves, either pinpointing a single Slave device, or broadcasting to all Slave devices on the Bus. Based on the Protocol, the Slaves will receive the message and if the message is not intended for them, then discard it. If the message is intended for them then wait for the end of the message and reply accordingly.
The 4Discovery is not capable of Auto Direction Control, and therefore needs to be either externally controlled by the host (as is the case when the 4Discovery is programmed using the 4D RS485 Programmer), or more commonly the 4Discovery would handle the Direction Control of its RS485 transceiver based on the data received on the RS485, dictated by the Protocol.
The PA14 GPIO on the 4Discovery is connected to the Turn Around pin on the RJ45 Jack, and it is also connected to the Transmit/Receive controls of its RS485 transceiver. When the 4Discovery is in Slave Mode, the GPIO needs to be controlled based on the data received over the RS485, to place the 4Discovery in the appropriate Transmit or Receive state based on the information received, dictated by the Users protocol.
If this is not possible, the Turn Around pin can be controlled by the Host to manually change the 4Discovery from being in Transmit or Receive mode, however, this is less desirable and should only be used in special situations. For example, if the 4Discovery is a Slave and the PA14 GPIO is Low, then the Host is currently in Transmit mode, and data could be flowing over the RS485 and should therefore be captured and processed. If the PA14 GPIO is High, then the 4Discovery has the opportunity to reply or send information to the Host if required, in response to the previous data received.
When multiple devices are on the bus, ie more than 1 slave, Designer or ViSi Environments can be used to program the 4Discovery as a Slave. If only a single slave exists and no more are going to be added, ViSi-Genie can be used.
Please refer to the ViSi-Genie Limitations with 4Discovery for more information.
Each Slave needs to handle the changing of its own Transmit/Receive, based on the information received from the Master. Only one Slave should reply at any given time after the Master has transmitted to it. Utilizing RS485 transceivers with Auto Direction control can simplify the setup, however, a suitable protocol needs to be utilized regardless.
4Discovery Multiple Masters (DB01 - RS485)
It is possible to implement a system that has multiple Master devices on the RS485 network, provided the protocol is written to support this.
There may be situations where multiple 4Discoveries are required in a building, all attached to the same RS485 network, and talk to the same Slaves. While this is not a typical situation in the eyes of RS485, it is possible to do if each of the devices on the RS485 can be programmed to handle this. The protocol programmed into the devices needs to be written such that all devices are in Receiving Mode by default, and only go into Transmit Mode when they are initiating a transmission. This will allow any of the 4Discoveries working as a Master to send out a message onto the bus, to be received by the other units.
As with any 2-wire RS485 network, only one Master can talk at any given time. If a configuration is used where there are multiple Masters on the same RS485 bus, the programming either needs to prevent multiple Masters from speaking at the same time or it needs to handle it if the situation arises, such as if 2 Users are working on 4Discoverys' in separate locations, trying to send onto the bus at the same time.
A specialised program and protocol are required to realise this setup but is useful if more than one 4Discovery is required on the network to control the same set of equipment from multiple locations.
Programming 4Discovery (DB01 - RS485)
The main method available to program the 4Discovery directly is by using the 4D RS485 Programmer. This device programs the 4Discovery over the RS485 bus, as well as supplying it Power and controlling the Turn Around pin of the 4Discovery and the Reset signal, to appropriately program the on-board DIABLO-16 Processor.
There is no other programmer which can be used to program the 4Discovery. The 4D RS485 Programmer is also capable of upgrading the PmmC/Firmware of the 4Discovery and the Display Driver, along with the User Application.
An alternative method of loading a new Application onto the 4Discovery is by loading a pre-compiled program from microSD storage, onto the onboard flash of the DIABLO-16 processor. This can be done using the built-in functions of the DIABLO-16 processor and enables the 4Discovery to be updated in the field by the End User, without having to have a technician or technical person on call to program the 4Discovery using the 4D RS485 Programmer and PC. This method however cannot be used to upgrade the PmmC or Display Driver. This can only be done using the 4D RS485 Programmer. To enable the loading of precompiled programs onto the 4Discovery from the microSD card, an appropriate application needs to be written, this is not possible straight out of the box.
Here is a diagram to show the basics of how the 4Discovery interfaces with the 4D RS485 Programmer.
The Programmer controls the 4Discovery's Turn Around Pin, allowing the programming software to dictate when the 4Discovery is listening and when it is allowed to reply to programming commands. This same setup can be used for general communications also, where there is one external Master and 4Discovery as a single Slave. It is not possible to have multiple Slaves in this situation, due to the way the Turn Around Pin is interfaced with the 4Discovery to make the 4Discovery programmable over the RJ45 connector using RS485.
Programming of the 4Discovery is only possible when the 4Discovery is disconnected from the RS485 network and is connected 1:1 with the 4D 485 Programmer. It is not possible to program it when connected to the network, as the Reset and Turn Around pins are required to program the 4Discovery, and other devices may try to communicate on the bus when programming is occurring, which could cause corruption and the programming to fail. Reset and Turn pins are also TTL level, so the distance these should ideally be transmitted over, should be as short as possible. Please refer to Section 6, for more information.
Termination Resistors (DB01 - RS485)
On each 4Discovery DB01 is a built-in 120Ω termination resistor. This is open/deactivated by default.
The termination resistor is there to absorb reflections in the RS-485 bus and is typically only used at each end of the bus, ie the first device and the last device. Depending how you are configuring your system with the 4Discovery, will determine if you need a termination resistor or not. In several cases, having a termination resistor present is better than not having a termination resistor at all, even if the termination is not located at the end of the bus, however, this is very subjective and system dependent.
If the lack of on-board termination is causing problems with communication, it can be enabled but requires the 4Discovery case to be carefully opened and the PCB modified with a simple solder bridge.
Once the Front Cover of the 4Discovery has been removed, and the Display Module has been separated from the Mounting Plate (Please refer to Section 8), the cover on the back side of the 4Discovery can be removed. This is attached with multiple clips, which need to be carefully prised away from the cover to enable it to lift out. Using a plastic tool or possibly two plastic tools, these clips can be carefully opened, and the back cover removed, exposing the circuitry inside.
Under the cover, the DB01 daughter board will be seen, sitting on headers on top of the main PCB.
On the bottom left corner of the DB01 daughter board, there are two pads with the label JP1. These two pads need to have a solder blob added to connect them. This will enable the 120Ω resistor. On request, this can be done at the factory.
If the 120Ω resistor needs to be disabled again, these pads can be unsoldered and separated.
Note
Care needs to be taken when performing this modification. This should only be attempted by people who know the risks and are capable of modifying the PCB.
Connecting to External Hardware (DB02 - RS232 and UART)
The 4Discovery can use both RS232 and Serial UART communication ports when fitted with the DB02 Daughter board. Serial UART and RS232 are both Single-Ended communication busses and can operate in Full Duplex configurations, meaning it's a 1:1 connection between 2 devices and both can talk at the same time without conflict. Serial UART is typically used for close distances between the 2 devices, normally within cm or max of a meter or two, depending on the environment and cabling used. RS232 can stretch to a longer distance, typically a max of 10-15 meters.
RS485 on the other hand (found on DB01 configuration) is Multi-Point which can have up to 32 devices on a single bus, but is Half-Duplex, meaning only 1 device can speak on the bus at a single time, typically meaning there is One Master and Multiple Slaves.
RS232 Communications
In an RS232 system, there are 2 devices. One or both could be 4Discovery modules. This configuration is good for connecting a 4Discovery up to a Host system, which is within about 10-15 meters of each other.
Serial UART Communications
In a Serial UART system, there are 2 devices. One or both could be 4Discovery modules. This configuration is good if the 2 devices are close together, typically in a control box/enclosure together, or on the same piece of equipment.
The 4Discovery operates at a 3.3V Logic level UART and is compatible to receive 5V logic signals without a problem.
Programming 4Discovery (DB02 - UART)
The main method available to program the 4Discovery directly when using the DB02 configuration is by programming the module over the serial UART, using a 4D Programmer such as the 4D-UPA, or Programming Cable. This is the same method that is used to program virtually all 4D Systems display modules, excluding the 4Discovery range when using RS485 communications. Please refer to Section 6 for more information.
Programming is not possible over the RS232, it must be over the Serial UART.
To program the 4Discovery 5" using the UART, a suitable cable will be required to tap into the required pins on PORT 1 of the DB02 daughter board's RJ45 port. This can easily be made by taking a CAT5 cable, cutting off one end to expose the wires, isolating the wires required as per the table below, and connecting them to the 4D Programmer.
A dedicated off-the-shelf programming cable may be made available in the future.
As a reminder from the DB02 PIN Configuration section, the pinout of DB02 PORT 1 is as follows:
DB02 – PORT 1
Pin | Symbol | I/O | Description |
---|---|---|---|
1 | VIN | P | 7.0V to 30VDC Input. Recommended range is 12V to 24V. This is the primary power source of 4Discovery. |
2 | RX0 | I/O | Connected to the DIABLO-16 RX0 port, UART Receive, used for Programming DIABLO-16, but also for communications to external devices. This pin is 5V tolerant but operated at 3.3V logic levels. |
3 | TX0 | I/O | Connected to the DIABLO-16 TX0 port, UART Transmit, communications to external device. This pin outputs at 3.3V levels but is compatible with 5V logic systems. |
4 | GND | P | System Ground, relevant to VIN and 5V_IN |
5 | GND | P | System Ground, relevant to VIN and 5V_IN |
6 | 5V_IN | P | 5.0VDC Input. This is typically only used to power the 4Discovery during programming, however, it can be used to power the 4Discovery if a higher voltage is used to power the 4Discovery if a power source into VIN is not available. Should be in the range of 4.5V to 5.5V, nominal 5. 0V. Please see the Power Pins section. Take voltage drop across long cables, and the current requirements of the module, especially when powering off 5V. |
7 | RESET | I | Reset signal used for programming the 4Discovery over the UART. Can be used by an external device if the 4Discovery needs to be reset. Active Low. |
8 | GPIO | I | This GPIO is connected to DIABLO-16 pin PA4. Please refer to the DIABLO-16 Processor datasheet for specific information on the capabilities of this GPIO |
The green-highlighted rows indicate the primary signals required for programming the 4Discovery. Power is also required, and this would typically be using 5V_IN and GND, which are also connected to the same programmer. However, there may be customer-driven situations where VIN is required. If VIN is utilized, just ensure GND is common between the VIN source and the 4D Programmer.
RX0, TX0 and RESET, along with either 5V_IN and GND or VIN and GND, should be connected to the 4Discovery 5", PORT 1.
The Workshop4 IDE or one of its tools (mentioned under the PmmC/Firmware Programming section) can then be used to program the DIABLO-16 processor of the 4Discovery module.
WiFi Antenna Selection
From the factory, modules featuring the ESP32 WiFi are set up to use the internal ceramic antenna. If the external u.FL configuration is required, this can be configured for your order by talking to 4D Systems Sales, or can be modified by the User. The u.FL connector is populated, however, requires the solder bridge jumpers to be changed to select it for operation.
Please follow the same instructions in the previous section for the Termination Resistor to gain access to the surface of the PCB.
At the top of the PCB, is the location of the WiFi components. The internal antenna is mounted on the rear side of the PCB, so is not accessible for inspection, however, the connections to enable or disable the antenna are present for modification.
By default, SB1 is soldered closed with a solder blob, which enables the ESP32 to be connected to the internal antenna on the rear side of the PCB.
If the u.FL connector (ANT2) is required for connecting an external antenna, then SB1 should be unsoldered and opened, and SB2 closed instead, using a soldering iron.
Note
- If both SB1 and SB2 are connected at the same time, then WiFi performance may be impacted, as both the internal and the external antenna will be enabled at the same time. Care needs to be taken when performing this modification. This should only be attempted by people who know the risks and are capable of modifying the PCB.
- An external patch cable (for example u.FL to SMA) can be attached and fed through the external cover of the 4Discovery at the top-right of the PORT2 RJ45 port, there is a small slot located there for his purpose. Please refer to Section 7.5 for more information.
Display Module Part Numbers
The following is a breakdown of the part numbers and what they mean.
Example:
- 4Discovery-50W-DB02
- where:
-
4Discovery - 4Discovery Display Range
50 - Display size (5.0")
W - WiFi/Bluetooth enabled module (see WiFi and Bluetooth section)
DB01 - Daughter Board 01 Configuration (see Daughter Board DB01 section)
DB02 - Daughter Board 02 Configuration (see Daughter Board DB02 section)
"Custom" - Placeholder used to designate a custom configuration (see Module Custom Options section)
Note
- For part numbers that do not include DB01, DB02 etc, we assume DB01 as the standard module type
- For part numbers that do not include W after the 50, then it means the model does not feature WiFi or Bluetooth
- All 4Discovery 5" modules are Capacitive Touch
- "Custom" designates a Custom Configuration - typically a custom Daughter Board, which would be modified for the Individual/Company use. "Custom" would be replaced with an appropriate suffix to suit the customisation. This would be created in conjunction with our Sales department, with the individual/company involved.
Appendix 1 - (DB01 - RS485)
The following are a few additional configurations for the 4Discovery.
This image shows the 4Discovery when acting as Master, connecting to a Slaved device that is incapable of Auto turn-around but can have its RS485 chip controlled externally by the 4Discovery. Not a typical situation.
This image shows the 4Discovery when acting as a Slave, where the Master device is controlling the Turn pin of the 4Discovery. This is an unlikely situation, as the 4Discovery typically would be programmed to Auto Turn based on the protocol of the Master.
Specifications
Absolute Maximum Ratings
Operating ambient temperature | -20°C to +70°C |
Storage temperature | -30°C to +80°C |
Voltage on VCC with respect to GND | 7.0V to 30VDC |
Voltage on 5V_IN with respect to GND | 4.5V to 5.5V |
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 | Conditions | Min | Typ | Max | Units |
---|---|---|---|---|---|
Supply Voltage (VCC) | Stable external supply required | 7.0 | 12.0 | 30.0 | V |
Supply Voltage (5V_IN) | Stable external supply required | 4.5 | 5.0 | 5.5 | V |
Operating Temperature | -10 | -- | +60 | °C | |
Reset Pulse | External Open Collector | 20 | -- | -- | µs |
Operational Delay | Power-Up or External Reset | 500 | -- | 5000 | ms |
Global Characteristics Based on Operating Conditions
Parameter | Conditions | Min | Typ | Max | Units |
---|---|---|---|---|---|
Supply Current (ICC) | 24V, heavily depends on screen usage conditions, SD Card, WiFi etc. | 8 | 125 | -- | mA |
12V, heavily depends on screen usage conditions, SD Card, WiFi etc. | 14 | 245 | -- | mA | |
5V, heavily depends on screen usage conditions, SD Card, WiFi etc. | 26 | 545 | -- | mA | |
DIABLO-16 Flash Memory Endurance | PmmC / Application Programming | -- | 10000 | -- | E/W |
DIABLO-16 Memory Data Retention | Provided Maximum ratings are not exceeded. | 20 | -- | -- | Years |
Display Endurance | Hours of operation, measured to when the display is 50% original brightness | -- | 30000 | -- | H |
Glass Hardness | Cover Glass Hardness | -- | 6 | -- | H |
Transparency | Touch Screen Transparency | 90 | -- | -- | % |
LCD DISPLAY INFORMATION
Parameter | Conditions | Specification |
---|---|---|
Display Type | IPS LCD | |
Display Size | 4.95" (5.0") Diagonal | |
Display Resolution | 480 x 854 (Portrait Viewing) | |
Display Brightness | Typical | 500 cd/m2 |
Display Contrast Ratio | Typical | 1000:1 |
Display Viewing Direction | All – Full viewing | |
Display Backlighting | 2x6 Parallel – 12 LED’s | |
Pixel Pitch | 0.1283 x 0.1283mm (Square pixels) | |
Pixel Density | Number of pixels in 1 row in 25.4mm | 197 DPI/PPI |
ORDERING INFORMATION
Order Code: |
4Discovery-50 (Standard RS485, Non Wifi/Bluetooth) |
4Discovery-50W (Standard RS485, Wifi/Bluetooth enabled) |
4Discovery-50-DB02 (RS232, UART, GPIO version, Non-WiFi/Bluetooth) |
4Discovery-50W-DB02 (RS232, UART, GPIO version, WiFi/Bluetooth enabled) |
4Discovery-50 "Custom" (Customer-specific version, built to specification, contact sales) |
Packaging: Module sealed in an antistatic foam padded 4D Systems box |
Revision History
Hardware Revision
Revision Number | Date | Description |
---|---|---|
< 2.1 | Prior to 2020 | Prototyping / Pre-Release / Testing versions |
2.2 | May 2020 | Initial Public Release Version |
Datasheet Revision
Revision Number | Date | Description |
---|---|---|
1.0 | 27/03/2019 | Initial release version |
1.1 | 12/06/2020 | Additional information for newer hardware revisions, more detail added on daughter boards and information in general |
1.2 | 13/08/2020 | Added some more information about DB01 standard configuration, Part Numbers, and Optional WiFi model |
1.3 | 27/08/2020 | Part numbers updated |
1.4 | 27/01/2021 | Updated Logo, and TURN pin typo from PA10 to PA14 |
1.5 | 15/12/2022 | Modified datasheet for web-based documentation |
1.6 | 28/08/2023 | Added Legal Notice and Product Image on Cover Page |
1.7 | 08/03/2024 | Updated formatting for resource centre redesign |