Support (new)2023-08-25T20:53:49+10:00

Technical Support

We are deeply committed to the success of your projects, offering a wide range of resources, including documentation, code examples, insights from our Knowledge Base, and engaging discussions in our 4D Systems Forum. If you require direct assistance, please submit a support ticket, and we guarantee a prompt response with the best possible solution.

Documentation

Explore our extensive documentation centre featuring datasheets and manuals.

Application Notes

We offer resources that provide the latest features for all products by 4D systems.

Code Base

Here are some code examples that can serve as inspiration for your next project.

Forums

Initiate a conversation with the community comprising 4D Systems staff and clients.

Knowledge Base

Our Knowledge Base provides solutions to frequently asked questions.

Do the listed prices include VAT?2023-08-29T12:48:48+10:00

The 4D Systems website prices do not include taxes, VAT, customs fees, or other additional charges.

Will I pay customs fees?2023-08-29T12:48:08+10:00

All our packages are subject to the local import regulations of the destination country. Please note that 4D Systems do not cover any additional fees incurred due to these regulations. We recommend reaching out to your local customs office for more information about these costs.

Can I choose my courier service?2023-08-29T12:47:23+10:00

The shipping fee is incorporated into the invoice for online orders, and we manage transportation. However, for direct orders, you may select your preferred courier. Contact Us for more details.

Can you provide me with product documentation (CE, COC, ROHS)?2023-08-29T12:46:53+10:00

Product documentation can be found in the download section of each product page. If the documentation you need is unavailable, Contact Us, and our team will gladly assist.

Is this product active, or has it been discontinued?2023-08-29T12:46:01+10:00

4D Systems prioritizes long-term availability, striving to maintain our products in production for extended periods. We rarely discontinue products, ensuring consistent access to the products you require.

When will my order be shipped?2023-08-29T12:45:05+10:00

We aim to ship online orders within one week, contingent upon product availability. For a more accurate timeframe, please contact us.

Do you have a specific product in stock?2023-08-29T12:44:26+10:00

While we generally maintain a stock of small quantities and samples, we recommend confirming availability for larger quantities with our sales team at Sales contact.

What is the estimated lead time for a product?2023-08-29T12:43:54+10:00

Typically, smaller quantities of a product have faster lead times. For specific information on a particular product’s lead time, please Contact Us.

How do I request a quote? Is there a discount policy?2023-08-29T12:42:36+10:00

At 4D Systems, we take pride in offering personalized quotations designed to cater to your unique requirements. To obtain a custom quote factoring in your specific quantity and project requirements, kindly fill out our quotation form at quotation form. Our dedicated sales team ensures to offer the most cost-effective and precise pricing for your order.

We also have a discount policy based on the quantity of your order. Our sales team will meticulously evaluate your requirements and apply any applicable discounts to offer the most competitive pricing. Contact Us for more details.

What are Modules-on-the-Go (MOTG) products?2023-08-29T12:40:08+10:00

MOTG, Modules-on-the-Go, is a concept from 4D Systems revolutionizing embedded design, allowing instant and flexible hardware expansion solutions.

MOTG modules offer a simple plug-and-play interface to Universal MOTG Interface (UMI), allowing rapid assembly and maintenance. This removes the hassle of soldering and ending up with a wiring nest. It also allows the designer to easily remove the existing module or add another one instead, which could be very useful during the prototyping phase.

Importantly, the MOTG series was designed with careful consideration for space with its compact and low-profile design.

Can I use MOTG with any Picaso display module?2023-08-29T12:38:56+10:00

All existing MOTG products interfaced using Serial UART can be used with a Picaso display. Any future I2C-based MOTG product should also be compatible.

How can I connect a MOTG to a uLCD Picaso display?2023-08-29T12:38:06+10:00

MOTG products can be interfaced with uLCD products using a MOTG-Breadtooth board. This board allows you to breakout the MOTG pins to a breadboard and connect to it during development.

It is advisable to consider adding a UMI slot to your final application board.

How can I connect a MOTG to a gen4-uLCD Picaso display?2023-08-29T12:35:26+10:00

MOTG products can be easily interfaced with gen4-uLCD products using gen4-MOTG-AC boards.

For gen4 Picaso displays, the appropriate accessory board is gen4-MOTG-AC3.

Can I use MOTG with any Diablo16 display module?2023-08-29T12:34:35+10:00

All existing MOTG products that are interfaced using Serial UART and SPI can be used with a Diablo16 display. Any future I2C-based MOTG product should also be compatible.

How can I connect a MOTG to a uLCD Diablo display?2023-08-29T12:33:01+10:00

MOTG products can be interfaced with uLCD products using a MOTG-Breadtooth board. This board allows you to breakout the MOTG pins to a breadboard and connect to it during development.

It is advisable to consider adding a UMI slot in your final application board.

How can I connect a MOTG to a gen4-uLCD Diablo display?2023-08-29T10:58:23+10:00

MOTG products can be easily interfaced with gen4-uLCD products using gen4-MOTG-AC boards.

For gen4 Diablo displays, you can choose the accessory board based on the size of the display:

  • gen4-MOTG-AC1   :  2.4″ and 2.8″
  • gen4-MOTG-AC2   :  3.2″ and 3.5″
  • gen4-MOTG-AC4   :  4.3″
I have some issues with my 4DPi. What could be the cause?2023-08-29T10:56:58+10:00

Most 4DPi issues can easily be solved by ensuring that you are using a kernel package that matches or is closest to the Raspberry Pi OS kernel version you have.

Please refer to the filename of the package for the kernel version it is compiled with.

If you can’t find a matching kernel package and the closest version produces some issues, please contact our support team.

Can I use 4DPi products with other Linux machines that are pin-compatible with Raspberry Pi?2023-08-29T10:56:04+10:00

We only provide 4DPi kernel packages for the Raspberry Pi boards. However, it should be possible to edit the source code and build the drivers for your target hardware. Note that it is up to the user to get this to work.

Optionally, you can also contact our support team if you are interested in a customized software solution.

What Operating Systems are supported to work with 4DPi products?2023-08-29T10:53:48+10:00

We only provide 4DPi kernel packages for the official Raspberry Pi OS (previously Raspbian OS). However, it should be possible to build the drivers for your target operating system from the source code provided.

Note that it is up to the user to get this to work.

Optionally, you can also submit a ticket to our support team if you are interested in a customized software solution.

There is a new release of Raspberry Pi OS. Will there be a new kernel package release for 4DPi products?2023-08-29T10:52:02+10:00

If the latest OS released uses the same kernel version as the latest kernel package, there is a good chance that they will still work fine together. However, if there are any issues observed, feel free to contact our technical support.

We try to keep up with a new kernel package for every Raspberry Pi OS release. However, if our customers haven’t considered updating to a newer OS version, our team tends to allocate our development resources to other products.

If you ever need a need a new kernel package, you can either:

How should I choose the 4DPi kernel package I need to use?2023-08-29T10:46:06+10:00

Our kernel packages include in their filename the kernel version of the Raspberry Pi OS used to build it. We recommend using the kernel package that matches the same kernel of your target OS version.

What is the difference between primary and secondary display solutions for Raspberry Pi?2023-08-29T10:44:55+10:00

For both Raspberry Pi and Beaglebone Black, we use Primary to refer to displays that are able to display the desktop environment of the OS running in these Linux machines. These are essentially Monitors for these SBC’s (Single Board Computers) and show the desktop or terminal or direct to a custom application etc. as would a typical computer monitor. Primary displays typically interface to the host using SPI or raw RGB signals.

On the other hand, Secondary display solutions are not capable of the same feat in terms of displaying the Desktop but are programmed using our Workshop4 IDE to design attractive GUI’s which are then interfaced with the Host Raspberry Pi or Beaglebone Black. The Host can send values to the display to update the GUI widgets, and receive information back such as touch events or slider/knob/button input, or the GUI could be completely drawn by the host if programmed as a Slave. Secondary displays typically interface to the Host using a serial UART.

Primary display examples are gen4-4DPI-xx, 4DPi-xx, gen4-4DCAPE-xx, 4DCAPE-xx

Secondary display examples are gen4-uLCD-xx, uLCD-xx, uOLED-xx, pixxiLCD-xx

Widgets don’t show in flash-mode Pixxi display. How can this be fixed?2023-08-29T10:43:31+10:00

GCI and Inherent widgets are stored in the onboard flash when using Pixxi in flash mode.

If these widgets don’t show, it is possible that the file transfer doesn’t work properly. This is often due to a driver issue.

You might want to check and update the driver. When installing, be sure to:

  • Uninstall the old driver first via Device Manager
  • Disconnect the programmer from the PC
  • Install the new driver
  • Reconnect the Programmer

Here’s what we recommend:

If this doesn’t work, you can try one of the following:

Can I use a higher capacity microSD card with Pixxi displays?2023-08-29T10:41:44+10:00

Yes. You should be able to use a microSD card higher than 4GB.

However, keep in mind that Pixxi display only supports FAT16 which has a maximum of 4GB space. The rest of the unused space on the SD card can be accessed as RAW.

You will need to format the SD card appropriately using RMPET.

To use this tool:

  • Open or create a new Workshop4 project
  • Go to the Tools menu and open RMPET
  • Follow the instructions provided by the tool
Does Pixxi display modules support CANBUS?2023-08-29T10:40:52+10:00

No. Pixxi display modules do not directly support CANBUS.

Does Pixxi display modules support RS485?2023-08-29T10:40:14+10:00

No. Pixxi display modules do not directly support RS485. However, you can use MOTG-RS485 or similar modules to connect a Pixxi display via RS485.

To connect a MOTG-RS485 to a Pixxi display, you can use a MOTG-Breadtooth and a.gen4-Breakout.

Using a MOTG-RS485 will require the only COM port of the Pixxi module which is also used in programming the display and a GPIO pin. Therefore, the MOTG-RS485 needs to be disconnected before uploading a project to the display module.

Does Pixxi display modules support RS232?2023-08-29T10:39:41+10:00

No. Pixxi display modules do not directly support RS232. However, you can use MOTG-RS232 or similar modules to connect a Pixxi display via RS232.

To connect a MOTG-RS232 to a Pixxi display, you can use a MOTG-Breadtooth and a gen4-Breakout.

Using a MOTG-RS232 will require the only COM port of the Pixxi module which is also used in programming the display and a GPIO pin. Therefore, the MOTG-RS232 needs to be disconnected before uploading a project to the display module.

Does Pixxi display modules support I2C?2023-08-29T10:38:35+10:00

Yes. Pixxi display modules support I2C. However, it only supports I2C Master mode. The display can’t behave as an I2C slave.

Does Pixxi display modules support SPI?2023-08-29T10:37:46+10:00

No. Pixxi graphics processor does not support SPI.

Is it recommended to download/run the 4DGL program from the RAM during Pixxi development stages?2023-08-29T10:33:43+10:00

Yes, it is desirable to download/run the program from RAM to eliminate unnecessary FLASH write cycles.

Can I access folders in the FAT formatted microSD card using Pixxi?2023-08-29T10:32:58+10:00

No, you cannot use folders in the microSD card with the Pixxi based display modules. Files are only accessible from the root folder.

I’m out of program space in my Pixxi display, what can I do?2023-08-29T10:32:01+10:00

You can try utilizing 4FN and 4XE files. These will allow you to compile 4DGL code and save them to the microSD. These files can be called/run when needed by your main program.

Can I save my variables in to the internal flash of a Pixxi processor?2023-08-29T10:31:06+10:00

No, you can’t. If you want to save information permanently, you should save it to a microSD card or Flash chip.

Can I use custom displays with the Pixxi processor?2023-08-29T10:29:55+10:00

Yes, Pixxi modules can be configured for use with a custom display. Please refer to the datasheet to find the currently supported LCD interface/protocol.

You will need to use Workshop4’s Pixxi Configuration tool to set up the initialization code for your display. For instructions on how to do this, please refer to the manual available on Pixxi product page’s download section.

If you’re interested in using this processor with a custom display that requires a protocol/interface that is not currently supported, please submit a ticket to contact the technical support team.

Note: When building the custom configuration, you might notice that the display draws a bit slower. This can be improved if the PmmC contains the required configuration rather than separate. In this case, you can contact our support team and send your working configuration for us to be able to build one for you.

Does Pixxi processor support 8-bit images?2023-08-29T10:26:41+10:00

No, it does not. The Pixxi processor only supports 16-bit images.

Is 1-Wire supported by Pixxi modules?2023-08-29T10:27:16+10:00

No, it does not support Dallas One-Wire.

What is the maximum baud rate I can achieve with a Pixxi display module?2023-08-29T10:24:52+10:00

Pixxi display modules support up to 2M Baud.

How can I avoid Splash Screen showing up when using the Serial Environment?2023-08-28T18:10:42+10:00

The Splash screen will appear after a set timeout period.

To avoid the splash screen from appearing on the display, sending a command before the timeout ends will be the best option.

I have a current Diablo16 project using a 7″ display and I want to upgrade to much bigger 9′ display. Is the SD card resource can still work with the bigger display?2023-08-28T18:08:05+10:00

Yes, since both display has the same pixel size of 800 x 480.

You can use the same SD card resource in your application.

How do we run parallel tasks with the Diablo16 graphics processor?2023-08-28T18:07:03+10:00

The parallel task is not possible with the Diablo16 graphics processor.

What is the maximum Erase/Write Cycle of Diablo16 FlashBanks?2023-08-28T18:06:17+10:00

Flashbanks use the same flash memory as the Diablo16 which has an endurance of 10000 erase/write cycles.

What is the maximum baud rate I can achieve with a Diablo16 display module?2023-08-28T18:05:14+10:00

Diablo16 display modules support up to 2M Baud.

Is 1-Wire supported by Diablo16 modules?2023-08-28T18:03:53+10:00

Yes, it supports Dallas One-Wire.

Does Diablo16 processor support 8-bit images?2023-08-28T18:00:59+10:00

No, it does not. The Diablo16 processor only supports 16-bit images.

Can I save my variables in to the internal flash of a Diablo16 processor?2023-08-28T18:00:06+10:00

You can save your variables to Flash Banks that are not in use. You can also it to the microSD card.

Can I use custom displays with the Diablo16 processor?2023-08-28T17:59:11+10:00

Yes, however, there are so many variants of the display driver ICs that it is difficult to cover all of them into separate driver files. Diablo16 modules need a specific driver file with the display initialization settings fully built-in. At the moment, the only supported drivers are the ones used by 4DLCD products.

If you’re interested in using a 4D graphics processor with a custom display, please submit a ticket to contact the technical support team.

I’m out of program space in my Diablo16 display, what can I do?2023-08-28T17:57:59+10:00

You can try utilizing 4FN and 4XE files. These will allow you to compile 4DGL code and save it to Diablo16’s Flash Banks or microSD.

These files can be called/run when needed by your main program.

Can I access folders in the FAT formatted microSD card using Diablo16?2023-08-28T17:55:33+10:00

No, you cannot use folders in the microSD card with the Diablo16-based display modules. Files are only accessible from the root folder.

Is it recommended to download/run the 4DGL program from the RAM during Diablo16 development stages?2023-08-28T17:53:55+10:00

Yes, it is desirable to download/run the program from RAM to eliminate unnecessary FLASH write cycles.

Does Diablo16 display modules support SPI?2023-08-28T17:52:40+10:00

Yes. Diablo16 graphics processor does not support SPI.

Does Diablo16 display modules support I2C?2023-08-28T17:51:39+10:00

Yes. Diablo16 display modules support I2C. However, it only supports I2C Master mode. The display can’t behave as an I2C slave.

Does Diablo16 display modules support RS232?2023-08-28T17:50:26+10:00

No. Diablo16 display modules do not directly support RS232.

However, you can use MOTG-RS232 to connect a Diablo16 display via RS232. This will require one of the COM ports.
When using a gen4-uLCD Diablo16 display, it is advisable to use a gen4-MOTG accessory board. This allows easy connectivity with the MOTG-RS232 through Diablo16’s configurable COM port.

When using a non-gen4 uLCD Diablo16 display, a MOTG-Breadtooth can be used instead.

Does Diablo16 display modules support RS485?2023-08-28T17:48:52+10:00

No. Diablo16 display modules do not directly support RS485.
However, you can use MOTG-RS485 or similar modules to connect a Diablo16 display via RS485. This will require one of the COM ports and a GPIO pin.
When using a gen4-uLCD Diablo16 display. It is advisable to use a gen4-MOTG accessory board. This allows easy connectivity with the MOTG-RS485 through Diablo16’s configurable COM port.

When using a non-gen4 uLCD Diablo16 display, a MOTG-Breadtooth can be used instead.

Does Diablo16 display modules support CANBUS?2023-08-28T17:48:03+10:00

No. Diablo16 display modules do not directly support CANBUS.

However, you can use MOTG-CAN to connect a Diablo16 display to a CANBUS. This will require one of the configurable SPI bus.
When using a gen4-uLCD Diablo16 display, it is advisable to use a gen4-MOTG accessory board. This allows easy connectivity with the MOTG-CAN through Diablo16’s SPI.

When using a non-gen4 uLCD Diablo16 display, a MOTG-Breadtooth can be used instead.

Can I use a higher capacity microSD card with Diablo displays?2023-08-28T17:41:17+10:00

Yes. You should be able to use a microSD card higher than 4GB.

However, keep in mind that Diablo display only supports FAT16 which have a maximum of 4GB space. The rest of the unused space on the SD card can be accessed as RAW.

You will need to format the SD card appropriately using RMPET.

To use this tool:

  • Open or create a new Workshop4 project
  • Go to the Tools menu and open RMPET
  • Follow the instructions provided by the tool
What is the maximum baud rate I can achieve with a Picaso display module?2023-08-28T17:30:24+10:00

Picaso display modules support up to 600K Baud.

Is 1-Wire supported by Picaso modules?2023-08-28T17:28:12+10:00

No, it does not support Dallas One-Wire.

Does Picaso processor support 8-bit images?2023-08-28T17:27:31+10:00

No, it does not. The Picaso processor only supports 16-bit images.

Can I use custom displays with the Picaso processor?2023-08-28T17:26:26+10:00

No, unfortunately, there are so many variants of the display driver ICs that it is difficult to have a generic PmmC file with external display settings. Picaso modules need a specific PmmC file with the display initialization settings fully built-in.

If you’re interested in using a 4D graphics processor with a custom display, please submit a ticket to contact the technical support team.

Can I save my variables in to the internal flash of a Picaso processor?2023-08-28T17:25:18+10:00
No, you can’t. If you want to save information permanently, you should save it to the microSD card.
At what rate can I scan the GPIOs of the Picaso through 4DGL code?2023-08-28T17:23:23+10:00

You can scan the GPIOs at a rate of about once every 250 usec.

After playing a WAV file I hear a high pitch sound, how can I stop that?2023-08-28T17:21:36+10:00

Use pin_Set(..) command to turn the Audio Amplifier off after playing the WAV file.

I’m out of program space in my Picaso display, what can I do?2023-08-28T17:20:04+10:00

You can try utilizing 4FN and 4XE files. These will allow you to compile 4DGL code and save them to the microSD. These files can be called/run when needed by your main program.

Can I access folders in the FAT formatted microSD card using Picaso?2023-08-28T17:17:59+10:00

No, you cannot use folders in the microSD card with the Picaso-based display modules. Files are only accessible from the root folder.

Is it recommended to download/run the 4DGL program from the RAM during Picaso development stages?2023-08-28T17:15:20+10:00
Yes, it is desirable to download/run the program from RAM to eliminate unnecessary FLASH write cycles.
Does Picaso display modules support SPI?2023-08-28T16:44:54+10:00

Yes. Picaso graphics processor supports SPI.

However, this is commonly used to utilize a microSD card connected to Picaso display modules.

Does Picaso display modules support I2C?2023-08-28T16:43:55+10:00

Yes. Picaso display modules support I2C. However, it only supports I2C Master mode. The display can’t behave as an I2C slave.

Does Picaso display modules support RS232?2023-08-28T16:42:52+10:00

No. Picaso display modules do not directly support RS232.
However, you can use MOTG-RS232 or similar modules to connect a Picaso display via RS232. This will require one of the COM ports.
When using a gen4-uLCD Picaso display, it is advisable to use gen4-MOTG-AC3. This allows easy connectivity with the MOTG-RS232 through Picaso’s COM1.

When using a non-gen4 uLCD Picaso display, a MOTG-Breadtooth can be used instead.

Does Picaso display modules support RS485?2023-08-28T16:40:42+10:00

No. Picaso display modules do not directly support RS485.
However, you can use MOTG-RS485 or similar modules to connect a Picaso display via RS485. This will require one of the COM ports and a GPIO pin.
When using a gen4-uLCD Picaso display, it is advisable to use gen4-MOTG-AC3. This allows easy connectivity with the MOTG-RS485 through Picaso’s COM1.

When using a non-gen4 uLCD Picaso display, a MOTG-Breadtooth can be used instead.

Does Picaso display modules support CANBUS?2023-08-28T16:37:32+10:00

No. Picaso display modules do not directly support CANBUS.

Can I use a higher-capacity microSD card with Picaso displays?2023-08-28T16:35:46+10:00

Yes. You should be able to use a microSD card higher than 4GB.

However, keep in mind that Picaso displays only support FAT16 which has a maximum of 4GB space. The rest of the unused space on the SD card can be accessed as RAW.

You will need to format the SD card appropriately using RMPET.

To use this tool:

  • Open or create a new Workshop4 project
  • Go to the Tools menu and open RMPET
  • Follow the instructions provided by the tool
Where can I find the uLCD Picaso Series User Guide?2023-08-28T16:32:13+10:00

All user guides are provided in the download section of each product page.

Here’s the uLCD Picaso Series User Guide

Where can I find the gen4 Picaso Series User Guide?2023-08-28T16:24:21+10:00

All user guides are provided in the download section of each product page.

Here’s the gen4 Picaso Series User Guide

Where can I find the uLCD Series 144-G2 User Guide?2023-08-28T16:22:43+10:00

All user guides are provided in the download section of each product page.

Here’s the uLCD Series 144-G2 User Guide

What is the maximum baud rate I can achieve with a Goldelox display module?2023-08-26T14:40:14+10:00

Goldelox display modules support up to 600K Baud.

Can I use custom displays with the Goldelox processor?2023-08-26T14:39:18+10:00

No, unfortunately, there are so many variants of the display driver ICs that it is difficult to have a generic PmmC file with external display settings. Goldelox modules need a specific PmmC file with the display initialization settings fully built-in.

If you’re interested in using a 4D graphics processor with a custom display, please submit a ticket to contact our technical support team.

Can I save my variables in to the internal flash of a Goldelox processor?2023-08-26T14:37:11+10:00

No, you can’t. If you want to save information permanently, you should save it to the microSD card.

Does Goldelox processor support 8-bit images?2023-08-26T14:33:09+10:00

No, it doesn’t. The Goldelox processor only supports 16-bit images.

Why does the contrast command not work with the uLCD-144-G2 module?2023-08-26T14:32:25+10:00

The LCD screens do not support contrast settings because of their design. You cannot change the contrast on an LCD, though you can turn the display On or Off.

Is 1-Wire addressing supported by Goldelox modules?2023-08-26T14:31:15+10:00

Goldelox hasn’t been tested for 1-wire addressing. At the moment, it only supports Single Device Dallas One Wire Interface.

Is 1-Wire supported by Goldelox modules?2023-08-26T14:29:31+10:00

Yes, it supports Dallas One-Wire.

I am trying to use IO2 with my uOLED-96-G1 but the screen doesn’t behave as expected, why?2023-08-26T14:28:47+10:00

There is no IO2 in the uOLED-96-G1. uOLED-96-G2 is the upgraded module that supports IO2 as well.

What is a 4XE File?2023-08-26T14:27:22+10:00

When you compile a 4DGL file, the compiler generates an executable file with an extension .4XE. When you download the compiled code, the 4XE file gets downloaded to the FLASH or RAM depending on the option selected in the 4D Workshop4 IDE.

When a 4XE program is saved to FLASH, the program will start whenever power is applied.

Note: If #MODE RUNFLASH is added to the start of the program, the program actually executes from FLASH memory. Otherwise, the program in FLASH is loaded into RAM before it is run. A program that is run directly from FLASH runs a little slower than a program run from RAM but has the advantage of leaving the RAM space free for running child programs.

Can you provide some details regarding the lifespan of the resistive touch panel?2023-08-26T14:21:56+10:00

The Display Endurance specification is listed on the product datasheet and shown in the table below.

Display Endurance Hours of operation measured when the display is 50% original brightness 3000 hour
Touch Screen Endurance Number of touches/hits with a 12.5mm tip at a rate of 2x per second with 250gf force 1M touches
Slide Stylus on screen, 100 gf force 60 mm/s speed with a 0.8mm polyacetal tip stylus pen 100K slides
Although we currently do not have figures on the MTBF of the resistive panel or anything similar, our products have been extensively used as HMI’s for various types of machinery which operate 24/7 for years on end.
Do your displays have tempered glass?2023-08-26T14:00:09+10:00

No, our displays does not have a temper glass.

Do I Need 4D System’s USB Programming Adapters or Cables?2023-08-26T13:58:31+10:00

To program the 4D Display module – Yes.

You will require a programming adapter or cable when updating PmmC and programming the display. This is usually included in Starter Kits and can also be purchased separately.

You cannot use other FTDI or generic programming adaptors, as most of them do not use the same reset technique required for 4D Processors, and will either not work correctly, or will ‘brick’ the 4D Processor. It is highly recommended you do not even attempt to try this at risk of damaging your module’s processor.

4D Programming Adaptors or Cables are available on the 4D Systems website, or from distributors.

Using the wrong programming cable or adaptor may damage your module and void your Warranty.

List of official 4D programming adaptors:

  • uUSB-PA5-II
  • 4D-UPA
  • gen4-PA
  • Programming Cable
  • uUSB-PA5 (Legacy)
  • uUSB-CE5 (Legacy)
  • uUSB-CE5-2 (Legacy)
  • uUSB-MB5 (Legacy)
My project stuck in mounting the microSD card, what could be the problem?2023-08-26T13:57:34+10:00

The mounting issue is a result of one or more of the following:

  • Problematic microSD card – card can’t be mounted. The card might not support SPI Mode.
  • Incorrect format on microSD Card – card must be formatted FAT16, preferably with the 4D Systems RMPET tool, included with Workshop4.
  • Insufficient current for the 5V supply – display might be flashing/resetting consistently.

Replacing the microSD card, reformatting the card, and/or reloading its contents, without reprogramming the PmmC/Application, would reveal if the card is at fault.

There is a test tool in Workshop4 called ‘uSD Tester’ found in the Tools menu. Put the card into the display, and load the uSD Tester application onto the display, and it will tell you if it can mount the card and potentially why.

Display is flashing/resetting consistently, what could be the problem?2023-08-26T13:48:30+10:00

Flashing has a high chance of being caused by a lack of current on the 5V supply. Try a powered USB hub if your PC cannot supply the required current.

Can’t reprogram the display. The display is not responding, why?2023-08-26T13:47:16+10:00

There are several reasons why this could happen:

  • Lack of power
  • Incorrect COM port
  • Serial UART device connected to the programming UART (COM0 of the display)

If upon checking everything above, the display still can’t be programmed. It would be best to check the following:

  • Has the same PC been used to program it previously?
  • Does the PC work for other modules?
  • What is the machine/application that this display is installed in?
  • What environmental conditions does it experience? (ex. vibrations, humidity, temperature, etc.)

After gathering the above information, please get in touch with the technical support team by filling up the support form.

I am entirely new to programming. Any advice on where to start?2023-08-26T13:43:28+10:00

It can be a bit difficult to get started on programming. Like any other platform, it can take a while to gain a good grasp of programming in 4DGL.

We would recommend you take it slow and study programming in general rather than jumping ahead to learn our programming language. Even though 4DGL was designed to be easy to learn, it still requires that you have a good understanding of common programming topics and relevant programming experience as well.

The best path for you might be to study programming with Arduino since it is the simplest platform to learn.  When you have a good grasp of it, try using ViSi Genie to design your user interface. This is a good place to start since in most cases, it doesn’t require you to program in 4DGL.

Once you’ve gained enough programming knowledge and experience feel free to try programming in 4DGL.

Can I retrieve my project from the display?2023-08-26T13:42:19+10:00

No, you can’t. To protect the project from being copied, the display doesn’t allow reading the program binary.

When creating a project, it is always best to keep a copy of your source files, or at least the generated 4XE and CFG files during compilation or upload.

How can I update my display to the latest PmmC and/or Driver?2023-08-26T13:40:34+10:00

You need to open PmmC Loader tool by doing any of the following:

  1. From Workshop4 IDE
    • Open or create a project.
    • Go to Tools Menu and select PmmC Loader
  2. From Windows File Explorer:
    • Navigate to C:\Program Files (x86)\4D Labs\4D Workshop 4 IDE\DEP
    • Open EXE

Once you have this tool opened, you can either use Automatic or Manual mode. Usually, automatic should work without issues. However, if you do encounter any issues, you can try using Manual.

When using Manual mode, the PmmC and Driver files are located in:

C:\Users\Public\Documents\4D Labs\4DUpdates\PmmCs

Note: Driver files are only applicable to Diablo displays

I think the touch panel on my display module is faulty. How can I test it?2023-08-26T13:36:39+10:00

There is an example project included with Workshop4 IDE that you can run.

  • Go to File -> Samples -> Picaso Designer
  • Navigate to PICASO – TOUCH SCREEN

Run TOUCHTESTDRAW

Note: This can also be used with other graphics processors.

Can I retrieve my program code back from the display module?2023-08-26T13:33:31+10:00

Unfortunately, once the program is written in the flash memory it can no longer be read back.

For any program stored in the microSD or external flash in the form of 4XE or 4FN file, it is also difficult for it to be disassembled into anything that is close enough to resemble the source code.

Can I use the display as a slave device?2023-08-26T13:31:53+10:00

Yes. All core display solutions (4D Systems modules that use 4D Systems processors, such as uLCD, uOLED, pixxiLCD, and gen4-uLCD products) are pre-programmed with SPE (Serial Platform Environment). This allows users to interface their favorite controller boards to the display without the need to program the display manually. In this setup, the display acts as a slave device.

It is also a good idea to consider using ViSi-Genie. This is a codeless Workshop4 environment that allows you to design your user interface that can allow widgets to be linked together. It accepts and processes write commands from the host controller and can also be configured to send reports during certain events.

The touch calibration on my resistive touch display module is out, how can I calibrate it?2023-08-26T13:24:46+10:00

There is a calibration tool in Workshop4 IDE under the Tools menu.

Start a new project or open an existing project for the display in question, access the Tools menu, and select Touch Calibration.

Follow the on-screen instructions to calibrate your display module.

What is a 4FN File?2023-08-26T13:19:55+10:00

When you compile a 4DGL file that doesn’t have a “Main” Function, a 4FN file is generated as relocatable source code. A 4FN file can be loaded, then called from the Main program that resides in the FLASH memory of the Processor.

It works just like a function and can be discarded when no longer required, freeing up memory. You can also pass arguments to a 4FN file from the Main Program. It can return values to the “Main” Program.

You can return from a 4FN file to the Main Program at the same point where you called the 4FN file.

Note: A good example of this technique can be found in the 4DTETRIS.4DG program which can be browsed through the Samples -> Picaso Designer -> PICASO – DEMO\EXECUTABLESSOURCE

How can I use 4XE file as a child program?2023-08-26T13:18:05+10:00

A secondary (CHILD) 4XE file can be saved to the microSD card and called from the Main program that resides in the FLASH. Once loaded, a child 4XE file takes full control and runs from the RAM.

When you reach “Exit” in the 4XE file code, the module goes back to the start-up routine returning control to the Main Program in FLASH, in effect restarting it.

You can pass arguments to a 4XE file from the Main Program. The 4XE File cannot return anything to the Main program.

Can I call a .4XE or .4FN file from another .4XE or .4FN file?2023-08-26T13:15:24+10:00

No, you can’t. You need to call down and return up. You can’t ‘jump’ from one .4XE or .4FN file to another.

Can I change the orientation of the display modules in run time?2023-08-26T13:12:36+10:00

Yes, you can change the orientation in run time. Here is an example code snippet:

gfx_Set (SCREEN_MODE, LANDSCAPE); // Other Options: PORTRAIT, LANDSCAPE and PORTRAIT_R

See – the ‘Internal Functions Reference Manual’ document for more details, there is a different manual for each of the 4D Processors, so open the one that matches the processor you have.

When I change the orientation of the display module, does the origin of the touch screen change?2023-08-26T13:11:20+10:00

Yes, with the change in orientation, the display origin as well as the touch screen origin changes accordingly.

Why does the gfx_TriangleFilled command seem slower than drawing other filled shapes?2023-08-26T13:09:10+10:00

Drawing a filled triangle is handled differently in the PmmC since there are no display internal commands that allow fast filling of a triangle.

Where can I find the documents related to my display module?2023-08-26T13:08:15+10:00

Each available product includes a download section for all documents related to it. The download section will include product datasheets, software manuals, etc.

How to programmatically retrieve the locations of the widgets on the display?2023-08-26T13:06:51+10:00

You can use img_GetWord(handle, index, offset) functions to get the basic widget parameter. The X-position, Y-position, width, and height can be obtained by following offsets: IMAGE_XPOS, IMAGE_YPOS, IMAGE_WIDTH, IMAGE_HEIGHT.

Example:

ypos := img_GetWord(hndl, iStatictext1, IMAGE_YPOS);
Is there a function that converts int to float and vice versa?2023-08-26T13:05:02+10:00

There are two functions that can be used for 16-bit conversion.

Converting integer(int_value) to float (float_value):

Float_value := flt_FTOI()

Converting float (float_value) to integer (int_value) :

Int_value := flt_ITOF(float_value)

You can check Diablo16 Internal Functions Manual for more information about the functions.

I got an Error 30 when trying to use Inherent Widgets, what can I do to solve this?2023-08-26T12:58:28+10:00

To use Inherent Widgets, you need to load the inherent widget resources into the Bank 5 of the Diablo16 processor.

You can do this by going to the Tools menu and clicking on the Load Inherents into Bank 5 button. This is only a one-time write operation unless flashbank5 has been overwritten or if there were updates to the inherent code in the future.

How can I transfer License from an old computer to a new one?2023-08-26T12:55:21+10:00

Download and install the latest Workshop4 IDE from the link below into the new PC.

Latest Workshop4

  1. Use the email address and the password use from the old PC.
  2. Click the License Pro button, which will prompt a confirmation message to allow the transfer.
  3. Click Yes to proceed.
  4. Once done, you can remove the Workshop4 IDE from the old PC.
I have this message ” Internet Required for Validation” message when opening Workshop4 Pro. What can I do?2023-08-26T12:54:14+10:00

To validate your Workshop4 Pro license requires an internet connection.

Please ensure that your computer has internet access for validation.

Check your Antivirus or firewall settings if it’s blocking the access of Workshop4 accessing our server.

 

Note: Common licensing errors can be solved by simply running the latest version of Workshop4. If you are running into any issues, please try updating your Workshop4 to the latest version.

Latest Workshop4

Careful there! Your guide to touch screen care2023-08-26T12:40:46+10:00

As touch screens become more prevalent in our daily lives, it’s important to understand how to properly care for them to maximise their accuracy, performance and longevity.

Touch screens are essential components in many modern electronics, from smart home control to industrial equipment. However, these touch screens tend to be fragile and sensitive, making it crucial to handle them with care. Improper care can lead to scratches, diminished sensitivity, and compromised accuracy. Therefore, it is essential to maintain these advanced touch screens diligently to ensure they remain in their best condition, allowing us to experience smooth and uninterrupted operation.

This comprehensive guide aims to provide you with a thorough understanding of various methods for caring for touch screens. Within this article, we will explore practical tips on how to protect, clean, and maintain your touch screen devices. By implementing these strategies, you can ensure that the touch screens of your digital computing systems stay responsive and efficient, ultimately enhancing your productivity and overall user experience.

Clean Your Touch Screen Regularly

Your touch screen is the primary interface between you and the computing system. However, regular usage can cause it to accumulate dirt, and oils from your fingers that can affect its functionality.

The first step in touch screen care is to clean it regularly. This is how we recommend cleaning your touch screen:

  1. Turn off the device: Before cleaning your touch screen display, turn off the device to avoid accidentally triggering any functions while cleaning.
  2. Choose the right material: Use a soft, lint-free cloth, such as a microfiber cloth, to clean the screen. Avoid using abrasive materials such as paper towels, tissue paper, or rough fabrics, as they can scratch the screen.
  3. Dampen the cloth: Dampen the cloth with water or a mild cleaning solution specifically designed for touch screens. Do not use harsh chemicals, such as ammonia-based cleaners, alcohol, or vinegar, as they can damage the protective layer of the screen.
  4. Clean the screen: Gently wipe the screen with the damp cloth in a circular motion, starting from the top of the screen and working your way down. Be careful not to apply too much pressure, as this can damage the screen.
  5. Dry the screen: After cleaning, use a dry, soft cloth to wipe the screen dry. Do not use a hairdryer or other heating device to dry the screen, as this can damage the display.

Handle with Care

Handling your touch screen devices with care is important to preserve their lifespan and performance. The touch screen is vulnerable to the following damage–

  1. Avoid excessive pressure: Touch screens function based on the slight electrical changes caused by your fingers. They are not designed to withstand high pressure or harsh impact. Consistently applying too much pressure or force can lead to cracks, dead pixels, or even total screen failure. Use only your fingers or a stylus designed specifically for touch screens.
  2. Prevent sharp objects: Sharp objects such as pens, pencils, keys, or any pointed items can easily scratch or pierce the screen. These damages are often irreversible and can significantly affect your device’s performance. Avoid the temptation to use these objects.
  3. Avoid extreme temperatures: Touch screen devices are sensitive to temperature extremes. High temperatures can cause your device to overheat, which can damage the screen and internal components. On the other hand, exposure to very cold conditions can cause the screen to become less responsive or even malfunction. Always try to keep your device in a moderate, room-temperature environment. Avoid leaving your device in hot cars, near heaters, or in direct sunlight for extended periods. Similarly, avoid using your device in freezing conditions.

Calibration

Calibration is important for Resistive touchscreen displays

Calibration becomes important, particularly in industrial applications, where accuracy and precision are essential. It ensures that the touch screen accurately detects touch and responds accordingly. When a touch screen loses its calibration, it can affect the accuracy of touch detection and result in incorrect input or unresponsive screens.

In particular, resistive touch screens, when pressure is applied to the surface of the touchscreen through a finger, the two resistive layers come in contact at the point of the touch. This change in electrical current serves as a signal to prompt the device to carry out the required action. Consequently, calibration becomes crucial for resistive touch screens in order to ensure precise responsiveness to user input

On the contrary, capacitive touchscreen use electrodes that change the electrical capacitance when a conductive object touches the screen. In the manufacturing process, capacitive displays use glass material, which allow them to withstand more pressure impact. 4D Systems capacitive touchscreen panels cannot be calibrated because of this underlying technology and operation.

There is a need for direct human skin contact with capacitive touchscreens that restricts their ease of use, unlike resistive touchscreens. For instance, capacitive touchscreens do not support usage of external leather gloves, a limitation that is not applicable to any resistive touchscreens.

Calibration aligns the touch screen coordinates with the system coordinates. Calibrating your touch screen periodically or as recommended, helps ensure that the touch screen accurately detects touch, responds promptly, and delivers precise results.

Firmware Updates

To keep your touch screen firmware updated, regularly check for updates through your device’s settings. Make sure that the device is always backed up with your data before initiating a firmware update, as an update process can sometimes lead to data loss if there’s an issue during installation. Additionally, ensure that your device is connected to a reliable power source before starting the update, as the process can consume a significant amount of power.

Firmware updates addresses several of the following issues–

  1. Bug fixes: Firmware updates often address known issues or bugs that could be affecting your touch screen’s performance. This could include fixes to unresponsive areas on the screen, issues with screen rotation, or problems with certain touch gestures.
  2. Feature additions: Firmware updates may also introduce new features or improvements to existing features on your touch screen device.
  3. Software compatibility: Regular firmware updates ensure that your touch screen remains compatible with the latest software, offering you the best user experience.

Complete Setup to Update the Firmware

To ensure the optimal performance of your 4D Systems display module, and in order to enable the latest feature releases, it is highly recommended to load the latest firmware. This means at the time of development, PmmC for Picaso, Pixxi, Goldelox, or PmmC plus Display Driver for Diablo.

The PmmC (Personality Module Micro-Code) serves as the operating system for the device, incorporating the Extensible Virtual Engine runtime and a comprehensive instruction set that can be programmed using the Workshop4 Software IDE

In addition, the display driver (4DRV) is responsible for controlling the display and can be independently upgraded. This means that you can update the display driver at any time without impacting existing applications or stored data in the memory banks or the PmmC

These firmware updates aim to keep your display safe, ensuring its functionality, security, and compatibility with the latest advancements and improvements. By providing regular updates for both the PmmC and display driver, we enable you to maintain a secure and reliable display experience without any disruptions to your existing applications or data.

Proper Storage

In addition to all of steps mentioned above, proper storage of the touch screen device can have significant impact on the performance. 4D Systems have also provided display specifications of gen4 display modules, where the customer can understand further on for storage temperature and operating voltage.

So there you have it. Following these simple steps can help you keep your touch screen clean and responsive. Regular cleaning will ensure the longevity of the device, and taking proper care will only maximise their accuracy and performance for the life of your end-application.

As always, for any further questions or if you’d like to discuss more, don’t hesitate to reach out to our engineers and support team.

Until next time.

My display module is only showing a black screen when I tried to apply power, what can I do to fix it?2023-08-26T12:37:55+10:00

There are several reasons why this could happen.

  • LCD flex connection

Please check the connection between the LCD and the PCB if it is properly connected.

  • Lack of power

Please check if the display has power.

  • Programmer connection

Please make sure that the connection between the programmer and the display module is properly connected.

  • Upload PmmC and Driver

Upon checking everything above, and there is still no activity on the display. Try to upload PmmC to your display module. If you are using Diablo16 display module, it also needs a driver to be installed.

You can check the latest PmmC and Display Drivers versions from Workshop4 > Options and Updates.

You can use this article   “How can I update my display to the latest PmmC and/or Driver?” as a guide for uploading PmmC and/or Driver to the display.

If you are unsure of which PmmC and/or driver to load, you can contact our support to help you.

What is the uCAM-III idle current?2023-08-26T12:32:35+10:00

The idle current is the same as the operation mode current. During idle mode, the uCAM-III is still in sync and waiting for any commands. You can adjust the sleep timeout less than the default but you need to re-sync again.

What are the materials used in uCAM-III?2023-08-26T12:29:41+10:00

The PCB is standard FR4 material PCB.

The Lens material varies depending on the version of the lens used. The standard 56-degree lens has plastic lens elements which are made of PMMA plastic, whereas the 116-degree lens is all glass construction.

The lens barrel and holder are made of ABS plastic.

The CMOS sensor on the PCB is a PLCC package,. with a cover glass on top of the sensor surface.

Do you have other lenses available for uCAM-III?2023-08-26T12:27:10+10:00

Yes, the default lens is the 56-Degree lens and we also have 76-degree and 116-degree lenses available.

Is the 56-degree lens of uCAM-III can be sold separately?2023-08-26T12:26:21+10:00

Yes, you can purchase it separately. You can contact our sales team for your orders.

Can I use a custom-made or third-party USB to Serial for programming?2023-08-26T12:25:29+10:00

No, you shouldn’t use a third-party USB to Serial converter. Custom made, please see note below.

You cannot use other FTDI or generic programming adaptors, as most of them do not use the same reset technique required for 4D Processors, and will either not work correctly, or will ‘brick’ the 4D Processor. It is highly recommended you do not even attempt to try this at risk of damaging your module’s processor.

4D Programming Adaptors or Cables are available on the 4D Systems website, or from distributors.

Using the wrong programming cable or adaptor may damage your module and void your Warranty.

uUSB-PA5-II, 4D-UPA, Programming Cable, (Legacy – uUSB-PA5, uUSB-CE5, uUSB-CE5-2, uUSB-MB5)

Warranty Note:

PmmC/Firmware or user application code programming should only be carried out using official Programming Cables or Adaptors. Any malfunction because of custom or third-party USB to Serial converters or Serial (RS232) to Serial (TTL) level converters will void the warranty. It also applies to all 4D products which require an interface from the PC to the module for testing using 4D Software Test Tools. Using an incorrect programmer could ‘brick’ your module.

Custom Made:

If you have an application that requires you to have an on-board programmer, such as in a custom product, please contact our Support team, so the required information can be passed to you so you design can a programmer that meets the required specification for programming 4D Processors.

My widgets became corrupted after a while. What is the problem?2023-08-26T12:23:56+10:00

File corruption in microSD cards will most likely happen when it gets interrupted while it has an ongoing write procedure. This can occur due to almost any reason like power interruption, sudden card removals, etc.

There is also a low chance that file corruption can occur when the file is frequently being read. The probability of this happening can be further reduced by using Industrial microSD cards that have ‘Read Disturb Prevention’ technology.

What should I consider when selecting a microSD card?2023-08-26T12:21:50+10:00

All 4D devices that use microSD cards require cards that support the SPI protocol.

It is not ‘mandatory’ for manufacturers to support this protocol, but most do. Unfortunately, this is not usually explicitly labeled or shown, so it can be a challenge to find suitable cards.

For this, we highly recommend using our Industrial Grade cards, which support SPI and Read Disturb Prevention technology.

I am having problems communicating with my microSD card, what could be the problem?2023-08-26T12:20:41+10:00

Make sure your microSD card supports the SPI interface, that is how 4D processors connect to the microSD card. There are some brands of cards, also fakes or duplicate cards, in the market that fail to work with SPI either at all, or reliably. These cards are usually duplicates of the popular microSD brands and do not specifically state compatibility with SPI.

SPI compatibility is critical for 4D Systems processors.

For best results, purchase your microSD card from 4D Systems, We sell cards that we know are reliable and work as they should, refer to the 4D Systems website.

Is FAT format supported for the microSD?2023-08-26T12:19:28+10:00

Except for Goldelox, all 4D processor supports FAT.

Goldelox only supports reading the microSD card in RAW format.

The rest of the 4D processors support FAT16 which can take up to 4 GB space on the microSD. Any space more than that can still be accessed in RAW format just like in Goldelox.

Do you have any waterproofing recommendations for uLCD/uOLED display modules?2023-08-26T12:17:43+10:00

The best practice is to add a thin transparent membrane that can be effectively fused to the enclosure and then place the display in front of it.

The membrane must be clear and flexible enough for use with the display. Likewise, just using sealants around the edges is not a good way as it can affect touch capability.

The 4D-UPA/gen4-PA interferes with when I use COM0 of gen4-uLCD, what can I do?2023-08-26T12:16:47+10:00

When 3 devices are connected to each other through the same UART lines, the third device can interfere with the communication between the other two.

Ideally, only one set of UART pins is connected to another. That means you can either:

  • Use a gen4-IB which breaks out the 5 commonly used pins (5V, TX, RX, GND, RST)
  • Use a gen4 Breakout board which breaks out all 30 pins from the 30-way FFC
  • Connect the FFC directly to your application board
I need a longer 30-way flex cable, where can I find some?2023-08-26T12:15:34+10:00

The standard length of FFC cable we include in our gen4 products is 150mm (4DFFC-150) which is usually just right for common applications.

We can also provide you with 200mm (4DFFC-200) for a longer alternative. If you are interested, you can add a note in your order that you would like this option.

Do you have any waterproofing recommendations for gen4 display modules?2023-08-26T12:14:21+10:00

It can easily be achieved by utilizing display modules that have a capacitive touch with Cover Lens Bezel (CLB) which can provide sufficient protection given that the perimeter is sealed.

For applications that use resistive or non-touch display module, the best practice is to add a thin transparent membrane that can be effectively fused to the enclosure and then place the display in front of it.

The membrane must be clear and flexible enough for use with the display. Likewise, just using sealants around the edges is not a good way as it can affect touch capability.

What is the specification of the provided 30-way FFC?2023-08-26T11:59:27+10:00

The 30-way Flexible Flat Cable has the following specifications:

  • No. of Pins: 30
  • Length: 150mm
  • Pitch: 0.5mm (0.02″)
  • Cable Type: AWM 20624 80C 60V VW-1
  • Heat Resistance: 80 °C
  • Connections on the opposite side at each end: Type B

All 30-way FFC connectors provided for gen4 displays are ‘Top Contact’, meaning the FFC cable has the metal ‘fingers’ pointing upward in the connector, blue stiffener on the back of the FFC cable is down on the PCB side.

It is best to check with our sales team if we can provide compatible flex cables based on your length requirements.

What is a SK module?2023-08-26T11:39:19+10:00

A module with its part number starting with SK means it’s a Starter Kit.

A Starter Kit is a display module with a set of accessory parts, which are designed to aid the starting out of development with the 4D Systems product in question.

For example, a SK-GEN4-43DCT is a Starter Kit for the gen4-uLCD-43DCT display module and includes extra parts such as a 4D-UPA Programmer and a microSD Card.

Can I power Goldelox display modules with 3.3-volts?2023-08-26T11:37:55+10:00

All of our Goldelox-based display modules have onboard protection diodes and 3.3V regulators, they have forward voltage drops. Therefore you ‘need’ to provide 5 volts to the display modules.

That being said, it is possible to power Goldelox modules down to around 4V, sometimes a little lower. By powering the 5V pin as normal there is a diode in series for protection, but by powering the 5V_OUT pin, this is after the diode, so a slightly lower input voltage can be tolerated. Refer to the Schematic in the module Datasheet to see what is actually happening. It will get to a point where the 3.3V regulator will no longer be regulating, and will simply pass the input voltage, however, the module may still run correctly. You may have success at 3.3V using the 5V_OUT pin as the input, however, you will need to test this yourself. This is not endorsed by 4D Systems, but you are welcome to try at your own risk.

Do you have a 3D Models of your products?2023-08-26T11:36:27+10:00

You can usually find 3D Models in the downloads section of each product page.

If you cannot find any, please contact the support team to check if it is available.

Can I use 4D-UPA/gen4-PA to connect another device to the display module?2023-08-26T11:31:54+10:00

Yes. The display breaks out the available pins from the display module.

However, keep in mind that these products are primarily meant to program the displays, and breaking out the extra pins is an additional feature.

On that note, the 5-way interface included in both programming adaptors is labeled:

  • 5-Way Interface  (gen4-PA)
  • uLCD/uOLED (4D-UPA)

is meant to program uLCD and uOLED products, not to breakout the display’s 5-way interface.

Therefore, if you need to breakout the Serial UART pins that are also used for programming, it is recommended to use a gen4-Breakout board or integrate the display directly into your application board.

What does a module part number ending in -AR or -PI mean?2023-08-26T11:29:32+10:00

-AR and -PI are suffixed to part numbers which indicate the display module in question is in a Kit for Arduino (-AR) or the Raspberry Pi (-PI).

In the kit will be the display module in question, plus (but not limited to) the Arduino Adaptor Shield (for -AR) or the Serial Pi Adaptor (for -PI).

For example, uLCD-43DT-AR is a uLCD-43DT display module in Kit form to includes parts to interface easily with an Arduino.

The display module used is identical whether you buy the display module by itself, or you buy it in the -AR or -PI kit forms, the kits just include some extra parts for easy interface, while the display module by itself does not.

I plan to use my Arduino-compatible board as Serial SPE host controller. Do you have any libraries?2023-08-26T10:56:49+10:00

Yes. We have different libraries you can download and use from our Github account.

Each 4D graphics processor requires a dedicated library. Here are the Serial SPE Arduino libraries available:

If you are planning to use Arduino IDE, it might be simpler to use their built-in Arduino library manager.

Go to Sketch -> Include Library -> Manage Libraries to open the library manager, simply search for the corresponding Serial Arduino library and install it.

Note: If you install Workshop4 on a computer with Arduino installed, Workshop4 installation will also unpack the Serial SPE libraries to Arduino’s library directory.

I plan to use my Raspberry Pi as Serial SPE host controller. Do you have any libraries?2023-08-26T10:55:40+10:00

Yes. We have different libraries you can download and use from our GitHub account.

Each 4D graphics processor requires a dedicated library. When using a Raspberry Pi, you can choose to use the Linux libraries or the C libraries for Serial SPE.

Here are the Serial SPE C libraries available:

Here are the Serial SPE Linux libraries available:

How can I load back the Serial SPE program?2023-08-26T10:52:30+10:00

If you like to reprogram the display module with the default Serial SPE program. Simply follow the following steps:

  1. Open Workshop4 IDE and then create a new project
  2. Select the display module that you are using and proceed
  3. In the Choose your Environment screen, select Serial
  4. Connect your display module to the computer
  5. Go to the Comms tab and select the correct COM port
  6. Finally, in the Tools tab, click on the SPE Load button to upload the SPE program into your display module
What is the default UART baud rate used by 4D Systems modules?2023-08-26T10:49:25+10:00

All 4D display modules start with 115200 baud if the baud rate is not manually configured.

I plan to use my Arduino-compatible board as ViSi Genie host controller. Do you have any libraries?2023-08-26T10:48:07+10:00

Yes. We have different libraries you can download and use from our Github account. You can find the ViSi Genie Arduino library here.

If you are planning to use Arduino IDE, it might be simpler to use their built in Arduino library manager.

Go to Sketch -> Include Library -> Manage Libraries to open the library manager, simply search for ViSi Genie and install it.

I plan to use my Raspberry Pi as ViSi Genie host controller. Do you have any libraries?2023-08-26T10:47:09+10:00

Yes. We have different libraries you can download and use from our GitHub account. You can find the ViSi Genie Raspberry Pi library here.

How to Change Initial Form?2023-08-26T10:45:38+10:00

You can easily change the initial form of a ViSi Genie project by doing the short procedure below:

  • Go to Project Menu tab
  • Under Genie, set the Initial Form
What are the benefits of acquiring the PRO version?2023-08-26T10:36:52+10:00

Workshop4 IDE PRO version adds the following features on top of the free version features:

  • ViSi Genie Magic: allows users to add custom code on top of their ViSi Genie projects.
  • Smart Widgets: allows users to design widgets based on minimal widget parts.
  • User Inherent Widgets: allows users to add code-based widgets.
The display shows “Error-15”. What does this mean?2023-08-26T10:34:27+10:00

Error 15 or Eve Stack overflow means that either the stack size is insufficient in your program (variables and such), a recursive function fails to exit, or multiple timers are firing simultaneously.

For insufficient stack size.

You can expand the stack size by manually inserting the code below for Workshop4 Designer/ViSi and ViSi-Genie Magic

#STACK 4094 //max stack size

Using Designer/ViSi add the line at the top of your code as constant.

Using ViSi-Genie Magic add the line using Magic Code in the Constant/Global/Data Insertion

For more information about the #STACK, you can check the 4DGL Programmers Reference Manual

For recursive functions.

Check iterations, recursions or function calls that may possibly cause this. You can add like, return or return 0 as an ending argument to make sure that it terminates.

It can also happen in conditionals (especially nested ones) where you think the program might not actually reach the argument; it would still be best to add an else clause with just the return statement in it just so the memory gets freed once it exits the function.

You can find this error on Internal Functions Reference Manual > Runtime Errors.

Diablo16 Internal Functions Manual

Pixxi Internal Functions Manual

Picaso Internal Function Manual

If you are still having trouble, you can contact our technical support, who will help you check your code.

Where can I find a 4XE or 4FN file?2023-08-26T10:31:59+10:00

When you compile a 4DGL Source code a 4XE or 4FN file is generated (depending on whether you have the “Main” function in the 4DGL Source code or not) at the same file location where the 4DGL Source Code exists.

What is a host controller?2023-08-26T10:30:51+10:00

A host controller is a separate programmable microcontroller (typically) designed to control the graphical user interface and process user inputs.

A host controller is typically used when the display module is configured in Serial (SPE) or ViSi Genie environments. It is also possible to create a Designer or ViSi project that is designed to work with a host controller with a custom protocol.

Host controllers can be useful if there is a system that has a lot of GPIO or external device interaction, so they can be dedicated to handling those devices and passing information to and from the display which is relevant.

Host controllers can also extend to larger devices, not just microcontrollers, but anything that has a Serial UART, which can pass information to and/or from a 4D display module.

Host controllers don’t always need to be programmable either, such as if there is an older system and a display needs to be replaced on it, as long as the old display signals can be sent over a Serial UART, then a custom protocol can be written on the 4D Display side using Designer, ViSi or even ViSi-Genie PRO, to interpret this host information and display required information on the 4D display.

I would like to add your display to my ongoing project. Any recommendations?2023-08-26T09:56:23+10:00

If you already have an existing project, ViSi Genie might be the best for you.

This allows you to design a user interface and control it using your main/host controller without the need to program the display.

However, keep in mind that ViSi Genie have some limitations since it was designed to follow the most common behavior expected for each widget.

If you want or need a custom behavior, you can add custom code with ViSi Genie Magic which is available for the PRO version of the IDE. Keep in mind that you need a good understanding of program flow and 4DGL to efficiently utilize ViSi Genie Magic.

If you need full control of the display, you can use Designer or ViSi.

Do your display modules support transparency?2023-08-25T19:01:23+10:00

4D Graphics processors does not support transparency.

However, using Workshp4, you can add transparent images on your user interface using widgets like UserImages. Workshop4 will build these images on top of the background color or image used in the Form. This allows the image to still appear transparent in the actual application.

Workshop4 shows security tampering issue after upgrading to Windows 10, why?2023-08-25T18:57:59+10:00

Workshop4 works fine in Windows 10.

This message is likely due to you having an old version of the IDE and upgrading to Windows 10 or after a Windows 10 update.

You can fix this manually by performing these procedures:

  • Open Registry Editor
  • Navigate to HKEY_CURRENT_USER\SOFTWARE\4DLabs\Workshop
  • Delete the entire Workshop folder/key
  • Reinstall Workshop4 using the latest installer
Workshop4 shows security tampering issue after a Windows 10 update, why?2023-08-25T18:54:13+10:00

Workshop4 works fine in Windows 10.

This message is likely due to you having an old version of the IDE and upgrading to Windows 10 or after a Windows 10 update.

You can fix this manually by performing this procedure:

  • Open Registry Editor
  • Navigate to HKEY_CURRENT_USER\SOFTWARE\4DLabs\Workshop
  • Delete the entire Workshop folder/key
  • Reinstall Workshop4 using the latest installer
I got ‘File Transfer failed’ error when uploading my project, what can I do?2023-08-25T18:51:45+10:00

If you are using any of the following programming adaptors:

  • uUSB-PA5-II
  • gen4-PA
  • 4D-UPA

This is caused by an issue with the Windows 10 driver of the USB-to-UART chip. This can easily be solved by using the Windows 7/8/8.1 driver that you can find here.

If you are using older 4D programming adaptors, this forum thread might help.

What are the requirements for a host controller?2023-08-25T18:48:12+10:00

When using ViSi Genie or Serial (SPE) and turning the display into a slave device / secondary device, the host controller requires to have:

  • 1 UART peripheral – provides ViSi Genie and Serial (SPE) communication between the host and the display
  • 1 digital output pin – controls the reset pin of the display module

Keep in mind that the display pins are 3.3V with most of the pins being 5V tolerant. Please refer to the datasheets for more information.

How can I share my projects?2023-08-25T18:43:42+10:00

It is recommended to use the Zip Project option when sharing projects to another person.

This ensures that all files required by the project is included when you send it.

This option can be accessed by going to File -> Zip Project while the project is opened and active in Workshop4.

zip_project

 

What are the Installation Requirements of Workshop4?2023-08-25T18:33:13+10:00

Workshop4 is a Windows-only product. It is compatible with Windows XP to Windows 10 (Windows 7 or higher is recommended). Note that some older OS such as Windows ME and Vista has not been tested for some time due to availability, however, should still work.

It is possible to run Workshop4 under a virtual machine on Linux or Mac, however, it is not officially supported. It is up to the user to set this up. Many customers have had success running Workshop4 under a VM, but is not something we can support officially.

I got this warning message “Password must be 16 or 22 characters long” when trying to enter the password key. I just entered the key that I received via email. How can I solve this?2023-08-25T18:30:07+10:00

Please make sure that there are no spaces before and after the characters.

Note: Common licensing errors can be solved by simply running the latest version of Workshop4. If you are running into any issues, please try updating your Workshop4 to the latest version.

Latest Workshop4

Does 4DGL support floating point variable types?2023-08-25T18:27:27+10:00

No, it doesn’t. 4DGL only supports 16-bit variables. However, by utilizing a 2-element array which results in a 32-bit space, some processors can support 32-bit floats. These processors utilize internal functions to store floating-point values and perform operations.

Does 4DGL support 8-bit variable types?2023-08-25T18:24:14+10:00

No, it doesn’t. 4DGL only supports 16-bit variables. Obviously, 8-bit values have no problem being stored in a 16-bit variable.

Does 4DGL support 32-bit integer types?2023-08-25T18:20:47+10:00

No, it doesn’t. 4DGL only supports 16-bit variables. However, by utilizing a 2-element array which results in a 32-bit space, some processors can support 32-bit unsigned long values. These processors utilize internal functions to store unsigned long values and perform operations.

What colours are available for use with the graphics functions?2023-08-25T18:16:37+10:00

An assortment of colours is available that range from 0x0000 to 0xFFFF. A full listing of named colours can be found in the 4DGL_16bitColours.fnc file, which is located in the installation directory of Workshop4. This file can be added to any project by simply inheriting the file:

#inherit "4DGL_16bitColours.fnc"

Right-click on the file and click ‘Open file at Cursor’ to open the inherited file in a new tab and view the list of predefined colours.

Which video file formats are supported by Workshop4?2023-08-25T18:13:57+10:00

The following video file formats are currently supported:

  • gif
  • wmv
  • avi
  • vob
  • mpg

Workshop4 then converts these formats into a format compatible with the selected display module.

Display modules cannot open these file formats directly.

Which image file formats are supported by the Workshop4?2023-08-25T18:10:11+10:00

The following image file formats are currently supported:

  • jpg/jpeg
  • bmp
  • gif
  • ico
  • wmf
  • png
  • tif
  • tiff
  • emf
  • wmf

Workshop4 then converts these formats into a format that is compatible with the display module selected.

Display modules cannot open these file formats directly.

What are the GCI and DAT files?2023-08-25T18:07:27+10:00

These files are the graphical resources compiled by Workshop4 based on the project. These contain the raw graphics and starting offsets required by the display modules’ PmmC to render the designed graphics. These files are required to be copied to the microSD card at least once by agreeing to the IDE to perform the copy.

What is the format of a GCI file?2023-08-25T18:04:28+10:00

An Image (single frame widget) is formatted as:

  • a 6-byte header as 3-words:
    • word1 – Width: horizontal size of the image
    • word2 – Height: vertical size of the image
    • word3:
      • byte5 – colour_mode: 16dec = 65K colour mode / 16-bit colours / 2 bytes per pixel
      • byte6 – zero
  • raw pixel data as drawn from left to right and going down:
    • Pixel11 to Pixel1W
    • Pixel21 to Pixel2W
    • PixelH1 to PixelHW

A Video (multi-frame widget) is formatted as:

  • a 8-byte header as 4-words:
    • word1 – Width: horizontal size of the image
    • word2 – Height: vertical size of the image
    • word3:
      • byte5 – colour_mode: 16dec = 65K colour mode / 16-bit colours / 2 bytes per pixel
      • byte6 – frame delay (non-zero)
    • word4Frames: number of frames
  • raw pixel data as drawn from left to right, going down from first to last frame:
    • Pixel111 to Pixel11W
    • Pixel121 to Pixel12W
    • Pixel1H1 to Pixel1HW
    • Pixel211 to Pixel21W
    • Pixel221 to Pixel22W
    • Pixel2H1 to Pixel2HW
    • PixelF11 to PixelF1W
    • PixelF21 to PixelF2W
    • PixelFH1 to PixelFHW

Support Ticket

If you are unable to locate the information you need, please contact our engineers by creating a new support ticket.

Title

Go to Top