Skip to content

mackieks/fujiflex

Repository files navigation

OSHW GCVideo DVI flex for Nintendo Wii. Tested and working! Solderpad Hardware License v2.1

Special thanks to loopj for testing the FPC and writing the assembly+install documentation!

fujiflex features

  • Compact 28 x 30mm 2-layer flex PCB (requires KiCAD 8.0 or later)
  • ~$10 BOM cost
  • Powered from 3.3V and 1.8V (1.2V generated from 1.8V)
  • 19-pin Molex 5052781933 / 5052781970 ZIF for HDMI output
  • Wii SDA and SCL testpoints
  • MODE solder jumper
  • Powered by Ingo Korb's GCVideo DVI

Ordering & Assembly

  • Download the latest gerber ZIP from the gerbers folder.
  • Order design as a 2-layer flexible PCB from JLCPCB, PCBWay, GoldPhoenix, or OSHPark.
  • MANDATORY: FPC must use at least 0.5oz/in² copper
  • If ordering from JLCPCB, you must select 0.12mm thickness to get 0.5oz!
  • A steel solderpaste stencil with etching or electropolishing is highly recommended for assembly. JLCPCB is a good source.

I maintain a Mouser project with most of the BOM. You still need to source the FPGA from elsewhere. I suggest either LCSC, AliExpress, or Taobao.

The total BOM cost for fujiflex is around 10USD. If you're paying more than $5 per FPGA, you are being ripped off!

Use the provided ibom.html to guide part placement.

Note: If you intend to program the SPI flash in-system, do not place R6. You will need to place it after programming is complete.

Flashing GCVideo

Once assembled, you'll need to flash the GCVideo bitstream. The cheap 'n' easy approach is to program in-system using a SPI flash programmer (EZP20xx, CH341A-based, RPi Pico) soldered to the testpads on fujiflex.

  • Remove R6 to avoid powering the FPGA during programming
  • Wire the CS, MISO, MOSI, CLK, and GND pads to the corresponding pins on your SPI flash programmer
  • Wire the rightmost pad of R6 to 3.3V on your SPI flash programmer
  • Download the shuriken-v3-wii bitstream from GCVideo's latest release
  • Write the bitstream (eg. gcvideo-dvi-shuriken-v3-wii-3.1-spirom-complete.bin) to the SPI flash (see below)
  • Populate R6 (0402 0Ω)

fujiflex pads

EZP20xx programmers

If you are using an EZP20xx programmer, you can flash the bitstream using the Windows software for these devices.

Other programmers (using flashrom)

For other programmers, flashrom is an open source command line tool for programming flash chips which supports tons of devices, including the inexpensive CH341A-based boards.

First expand the GCVideo bitstream to match the size of the SPI flash chip:

fallocate -l 512k gcvideo-dvi-shuriken-v3-wii-3.1-spirom-complete.bin

Then flash the bitstream, for example with a CH341A programmer:

flashrom --programmer ch341a_spi -w gcvideo-dvi-shuriken-v3-wii-3.1-spirom-complete.bin

Socket adapters

You can also use a DFN8 2x3mm socket to program the SPI flash before soldering it to the board. Type 1, Type 2

Installation

fujiflex is soldered directly to the digital A/V vias on a 4-layer Wii motherboard.

  • Align and solder fujiflex to the GPU vias
  • Wire the 1.8V, 3.3V, 5V, and GND pads
  • To use a Gamecube controller for navigating the GCVideo OSD, you'll also need to wire the GCC pad (or via).

Install by loopj:

License

Solderpad Hardware License v2.1