You can use this tool to calculate the correct values for the DPI_OUTPUT_FORMAT and DPI_TIMINGS options to enable a custom video mode on the 40-Pin Raspberry Pi computers.


Download the tool here

How to run the application

This is a Java 12 program with a graphical user interface. Your computer will, therefore, need to support GUI applications, and the Java 12 runtime environment needs to be installed.

To start the app on a windows computer, double click the downloaded jar file. Linux and macOS users can start the app with the following command:

java -jar ./path_to_jar/name_of_jar.jar

User’s Guide

The app is easy to use and straight-forward. You simply have to look up the needed values in your monitor’s datasheet and use the appropriate input fields in the app, to enter them. An explanation of what each field does can be found below.

Anyway, the first window will look like this:

Figure 1: The first window of the app

The calculated value will automatically update every time you change a setting. It can simply be copied and pasted into the config.txt file on the Raspberry Pi.

Upon clicking next, the current window will be hidden, and the second one is displayed. The settings, made in either window, will remain stored until you close the app.

Figure 2: The second window

Clicking ‘Next’ on the second window will take you back to the first dialogue.

Possible input values

Most of the options should be self-explanatory, and you can usually find the right values in the datasheet of your display. However, a few things to note:

Horizontal Front Porch, HSYNC Duration, and Horizontal Back Porch expect an unsigned integer value. The used unit is pixels (more precisely cycles of the pixel clock). So, if your HSYNC pulse lasts 110 pixel clock cycles ( = 110 “pixels” ), you have to enter 110.

Vertical Front Porch, VSYNC Duration, and Vertical Back Porch are denoted in lines. Again, only positive integers are allowed.

VSYNC Offset and Pixelrep are undocumented features, and it’s best to leave them at 0 unless you know that you’ll need them.

The Framerate and the Pixel Clock Frequency must be unsigned integers.

If the exact Aspect Ratio of your display is not listed, choose the one that matches it best.

Note that if you enter incorrect values (for example negative numbers, other characters, etc.), your Raspberry Pi might either refuse to boot or simply disable the graphics output. If it refuses to boot, you can use another computer with an SD-card reader to edit the config.txt file in the boot folder.


This program is free to use for everyone. Professional, educational, and personal use is permitted. If you downloaded it from any other site than, please contact me.

Do not upload this app to any other public website. Please always link to this page if you want to share it with others. You may, however, save the app on your own computer and share it with others via instant-messengers, email, etc. in a reasonable manner.