Skip to content
Robert Neumann edited this page Aug 20, 2018 · 72 revisions

GBS-control hardware guide

Intro

Gbs-control runs on either the Arduino or the ESP8266 microcontroller platforms.

The Arduino version was developed first and offers basic functionality.
ESP8266 extends on that, offering a web browser based user interface (web ui).
I recommend the ESP8266 platform for its web ui and more ample resources.

ESP8266 boards can be found on Ebay for about $5. "Wemos D1" boards work well.
Note that ATmega328 support (Arduino Uno, etc) will be phased out soon. The project has grown too big for it.

Common tasks

  • Clone / download the gbs-control software, load it in the Arduino IDE and program your MCU.
  • Use a jumper to connect the 2 pins below the first programming port (see pictures)

Basic Install

The most basic installation requires the MCU, a bit of cabling and a jumper for disabling the onboard processor. The MCU can be powered 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 "5V" input (Most Arduinos work fine with the lower voltage, ESP8266 boards require 3.3V anyway.)

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

  • Arduino: SDA to pin A4, SCL to pin A5
  • ESP8266: NodeMCU: SDA to D2, SCL to D1 | Wemos D1: SDA to D14, SCL to D15

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:

  • Arduino > pin 11
  • ESP8266 > pin D6

DebugPin

ESP8266

For these boards, I recommend using the Vin (supply) input.
The supply will be shared between GBS board and ESP8266. It can range from 5V to 10V.
Please ignore the VSync connection. It isn't required anymore.

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 to TV levels of 75 Ohm.
RGBS sources will now work, even if the sync is a Composite Video signal.

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.

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. Make sure the GBS Sync-in has the earlier mentioned 100 Ohm resistor to ground as well.
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.