# Boards i use for testing

I have a Pimoroni VGA board, which is just the reference implementation of the Scanvideo project and built one board with a GPIO pin assignment which better suits me.

## Scanvideo reference board `-DBOARD=vgaboard-i2s`

Has RGB555 video output. The SDCard can be accessed in 4-bit data mode, but this conflicts with the serial port which you may prefer to have available. The leftover pins are those needed for SPI data access to the SDCard. Lib kilipili also supports SPI on arbitrary pins and the provided vgaboard boards file configures lib kilipili for that.

## My personal board `-DBOARD=kiboard`

Has RGB444 video output, SPI interface for SDCard, sigma-delta stereo audio output, 2 I²C ports to connect WII devices and a serial port. This what i'm targeting for.

### GPIO assignment

```
    SDA I²C --- 0          Vbus --+
    SCL I²C --- 1          Vsys --+
              GND          GND
R0 VGA --4kΩ -- 2          x
R1 VGA --2kΩ -- 3          3V3 out
R2 VGA --1kΩ -- 4          x
R3 VGA --500 -- 5          28 --> Audio
              GND          GND
G0 VGA --4kΩ -- 6          27 --- I²C SCL
G1 VGA --2kΩ -- 7          26 --> Audio
G2 VGA --1kΩ -- 8          reset
G3 VGA --500 -- 9          22 --- I²C SDA
              GND          GND
B0 VGA --4kΩ-- 10          21 <-- serial port
B1 VGA --2kΩ-- 11          20 --> serial port
B2 VGA --1kΩ-- 12          19 --- SDCard SPI0
B3 VGA --500-- 13          18 --- SDCard SPI0
              GND          GND
  hsync VGA -- 14          17 --- SDCard SPI0
  vsync VGA -- 15          16 --- SDCard SPI0
```

I recommend for your own project to use the left side for VGA and SPI0 at GPIO 16..19 for the SDCard. All other GPIO positions can be assigned freely to your desired hardware.

The suggested resitors are slightly to low. You can fix the maximum signal level to 0.7V by adding a ~ 1k8Ω resistor parallel to the VGA color pin to ground. Or calculate yourself. **:-)** 

The easiest way to connect a VGA connector is to buy a VGA-to-VGA cable and cut it in half. Then you have even two of them! **:-)**

For your custom board you need a board description, similar to the files in project folder `/boards`. 



