Skip to content
Robert Neumann edited this page Sep 29, 2018 · 72 revisions

GBS-control hardware guide

Intro

Gbs-control is a replacement controller / firmware for GBS8200 video scaler boards.
It runs on an ESP8266 microcontroller (MCU) and is programmed using the Arduino plattform.

GBS8200 upscalers can be found on Ebay, at prices around $20.
Ebay also has ESP8266 development boards for about $5. "Wemos D1" and NodeMCU work well.
(Please note that ATmega328 support (Arduino Uno, etc) will be phased out soon.)

Basic Install

The most basic installation involves the MCU, a bit of cabling and a jumper for disabling the onboard processor. Power for the MCU can be provided by:

  • a development PC USB port
  • using the same power supply that powers the GBS > into the MCU boards "Vin"
  • using the GBS regulated Vcc (3.3V) > into the MCU boards "3.3V" input

Connect the MCU board's ground to a convenient ground point on the GBS.
Connect the two I2C bus wires (SDA, SCL).

  • Wemos D1: SDA to D14, SCL to D15
  • NodeMCU: SDA to D2, SCL to D1
  • Use a jumper to bridge the 2 pins below the first programming port (see pictures)

Connect DebugPin

To enable automatic image position and timing adjustment, the MCU needs to know some timings. Carefully solder a wire from the pictured DebugPin to:

  • Wemos D1: pin D6
  • NodeMCU: pin D6

DebugPin

SCART RGB to VGA adapter

If you want to build an adapter, here is some good inspiration: https://shmups.system11.org/viewtopic.php?f=6&t=35423

The ArcadeForge Sync Strike is a solution that will work, if you don't want to build an adapter yourself.
http://arcadeforge.net/Scaler-and-Strike-Devices/Sync-Strike::15.html?language=en

Sync

Every GBS board requires an additional 100 Ohm resistor on Sync-in to ground if you want to use the RGBS input.
Together with the factory resistor of 1000 Ohm, this brings the total resistance down close to TV levels of 75 Ohm.
RGBS sources will now work, even if the sync is a Composite Video signal.
Revision: The total resistance is closer to 100 Ohm with this extra resistor. This is intentional to leave more headroom.

For best results however, I recommend using a sync stripper to extract the various forms of RGBS sync.
Please ensure your circuit has a 75 Ohm to ground (termination) resistor on the LM1881 video input, as well as a 470 Ohm series (attenuation) resistor on the sync output.
Revision: The 75 Ohm to ground resistor is not necessary. If you have one in your circuit, it is okay to remove it.

User viletim shows a good LM1881 circuit here:
https://shmups.system11.org/viewtopic.php?f=6&t=55948&p=1153713#p1153713
https://shmups.system11.org/viewtopic.php?p=1153077#p1153077
Build this circuit (sometimes this is already included in the RGB cable), and connect its sync out (from the 470 Ohm series resistor) to the GBS Sync-in.
Todo: Draw up schematics that show all this

Troubleshooting

No Picture

  • Are SDA / SCL reversed? It's safe to reverse them and try again.
  • Forgot to install the jumper on the GBS?
  • ~100 Ohm resistor to ground on Sync-in is installed?
  • using a sync stripper: Is the source voltage 5V (as required by the LM1881)?

Debugging Issues

The Arduino IDE serial monitor shows debug information at 115200 baud.
If your MCU is connected to a computer via USB, you can access this to find out more about the issue.