Skip to content
Robert Neumann edited this page Feb 26, 2018 · 72 revisions

GBS-control hardware guide (wip)

Intro

Gbs-control runs on any one of currently 3 available microcontroller platforms.
They are Arduino, ESP8266 and ESP32.
Arduino was developed first and offers basic functionality, using an Uno or Pro Micro, for example.
ESP8266 and ESP32 extend on that, offering a web browser based user interface (web ui).
I recommend the ESP8266 platform. It offers the web ui and is more stable than the ESP32, simply because the SDK is more mature. ESP8266 boards can be found on Ebay for about $5. "Wemos D1" boards work well.

Basic Arduino Install

The most basic installation requires an Arduino Uno (or similar), a bit of cabling and a jumper for disabling the onboard processor. The Arduino has to be powered separately, usually by the development PC USB port. This setup doesn't require soldering.

  • Clone / download the software, load it in the Arduino IDE and program your Arduino.
  • Use your jumper to connect the 2 pins below the first programming port.
  • Connect Arduino ground to a convenient ground point on the GBS. Make sure the connection is solid.
  • Connect Arduino pin A4 to the GBS SDA pin on the second programming port.
  • Connect Arduino pin A5 to the GBS SCL pin on the second programming port.

Power up the GBS alone. There will be no picture now, confirming that the onboard processor is disabled. Power up your Arduino. You should get a picture after a few seconds. If you don't, head over to Troubleshooting.

Connect VSYNC

To enable automatic image position and timing adjustment, the Arduino needs to know some timings. At this time, only the VSYNC line is required. Choose one of the 3 alternatives and solder a wire to Arduino pin 10.

Arduino pin assignment

Note that these assignments could change but I will try to avoid that. Power pins are excluded.

Pin A4: SDA
Pin A5: SCL
Pin 10: VSYNC

ESP8266 (offers Web based control panel)

Installation is similar to the Arduino setup. For these boards, I recommend using the 5V supply input.
The VSYNC cable has to be connected to one of the 3 available spots on the GBS board (see "Connect VSYNC" section).

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
But beware, I've had a report that a Sync Strike didn't have a series resistor after the LM1881.
This will cause it to feed close to 5V into a 3.3V device.
Please check if yours has at least a 470 Ohm (or more) resistor in series between LM1881 and the Sync input into the GBS.
A multimeter set to DC voltage measurement should not show above ~3V between Sync in and ground.
Please see the Sync topic for more information.

Sync

I recommend that you use a properly built sync stripper to extract and amplify the various forms of RGBS sync.
Unfortunately, quite a few guides show an LM1881 circuit that is missing components.
Please ensure your circuit has a 75 Ohm to ground (termination) resistor on the sync input, as well as a 470 Ohm series (attenuation) resistor on the sync output. User viletim explains it perfectly:
https://shmups.system11.org/viewtopic.php?f=6&t=55948&p=1153713#p1153713
https://shmups.system11.org/viewtopic.php?p=1153077#p1153077

Troubleshooting

No Picture

  • Are SDA / SCL reversed? It's safe to reverse them and try again.
  • Forgot to install the jumper on the GBS?