Pi2SCART turns your Raspberry Pi into a retro machine. Display your retro games on your 15 KHz CRT.

PI2SCART support

  • RGB
  • Stereo Sound
  • Sync combination with Logic Ics. The sync signal will be very clean.
  • Automatic support via scart of page aspect ratio 4:3
  • Automatic support via scart RGB AV modus.
  • No extra power supply needed

PI2SCART will be plugged on GPIO interface. Sound will be provided via cable from Raspberry Pi to PI2SCART.


Basic software Installation

Edit your config.txt on SD Card to

hdmi_timings=320 1 16 30 34 240 1 2 3 22 0 0 0 60 0 6400000 1

Take care this resolution setting is a basic resolution that might not fit to your CRT setting. For retro gaming we recommend to use our retropie installation tutorial or our ReGamebox Distribution.

Use as software the console image from project Pi2Jamma


Pi2SCART and Retropie Installation

This tutorial was made by Michael Vencio in the Facebook Group Pi2Jamma

This is a pre-configured Retropie 4.2 for the pi2scart with scripts version 6.1 and most settings put in. (817 MB)

The Following systems are pre-configured and supported.
Sega Mega Drive/Genesis
Famicom Disk System
Master System
Neo Geo
PC Engine
Sega 32x
Playstation 1
Sega CD

For the latest version please execute following steps:

Current Version : 0.6.8
Last Updated : 2017-05-12



-Determines if the game being run is a console or an arcade/fba
-For arcades, it will programatically determine the resolution based on resolution.ini file.
-I got the resolution.ini (0.184) file from http://www.progettosnaps.net/renameset/
-For consoles you can set the hdmi_timings based on emulator or system
-Dynamically creates the game_name.zip.cfg file and sets the custom_viewport_height
-Dynamically add these parameters (video_allow_rotate = “true” and video_rotation = 1) for vertical games
-vertical.txt contains all the mame 0.184 vertical games
-Ability to set custom_viewport_width for arcades/fba
-Added Amiga and C64 resolution (320×240)
-Automatically set custom_viewport_y to center vertically for arcade
-Added support for 480 height arcade games like tapper
-All console and arcade will default to 1600×240 resolution
-Disable resolution change for non libretto cores
-Added support for 448 height arcade games like popeye
-Added support for 254 height arcade games like mk3

Note : Novice and advance user friendly, the logic is sound and may need to be tweaked to cater to your specific need or preference.



Install Instructions :

1. Download and write using Win32DiskImager retropie 4.2 to sd card

2. Append to /boot/config.txt
# pi2scart
hdmi_timings=320 1 23 25 39 240 1 4 3 15 0 0 0 60 0 6400000 1

3. Place SD card in the raspberry pi and power on

4. Enable and configure WIFI or Wired Internet

5. Enable SSH
Retropie > RASPI-CONFIG > interfacing options > SSH > Enable > reboot your pi

6. Tranfer these files to /opt/retropie/configs/all/

7. Transfer Roms and Bios
Note : For arcade, use the fba and/or arcade folder.

8. Press Start > Quit > Restart Emulation Station

9. Open a game, bring up the retroarch menu, set the following Video Settings for each system in order to center and fit the screen. Go to “Settings > Video”

Aspect Ratio = Custom
Custom Aspect Ratio X Pos. = user entered
Custom Aspect Ratio Y Pos. = user entered (skip for arcade)
Integer Scale = OFF

(Only for consoles)
Custom Aspect Radio Width = see below
Mega Drive : 1600
NES/SNES : 1536
Master System : 1536
Neo Geo : 1520
PC Engine : 1536
Sega 32x : 1600
Playstation 1 : 1600
Sega CD : 1600

Custom Aspect Radio Height = see below
Mega Drive : 224
NES/SNES : 224
Master System : 192
Neo Geo : 224
PC Engine : 240
Sega 32x : 224
Playstation 1 : 240
Sega CD : 224

10. Save Configuration once per each system.
Configuration > Save Current Configuration

11. Repeat step 9 and 10 until all systems are configured.

12. Enjoy and pat yourself in the back


Explanation of the rationale with setting the custom_viewport_y parameter depending on the game resolution height.

240 – takes up all the screen lines
custom_viewport_y = 0

224 (240-224=16 , 16/2 = 8) to center vertically, 8 lines black border top and bottom.
custom_viewport_y = 8

256 (256-240=16 , 16/2 = 8) negative to evenly cut 8 lines top and bottom.
custom_viewport_y = -8

Tool scripts for video timings and center image on 15khz CRTs

This tool was made Frank Skilton.


Something I’ve been working on and am very happy with the results. Shell script to streamline the process of generating/viewing/manipulating and saving hdmi_timings.

Version 2.0

Current features:

– Manually enter and generate hdmi_timings
– Adjust screen position
– Display a PNG test image to aid in screen positioning
– Display horizontal scan rate and vertical refresh rate
– Save timings and full config to boot/config.txt

Works really well, makes life so much easier.




Comments are closed.