

Pif fpga
N64 PIF Replacement Hardware (KiCad)
- Size
- 35 × 41 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 61
- Nets
- 67
- Pads
- 390
- Tracks, vias
- 1,043, 169
- Pours
- 5
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 7 Jan 2020
- Updated
- 30 Oct 2020
Overview
Pif fpga is an open-source printed circuit board by jago85, from the jago85/UltraPIF_Hardware repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 35 × 41 mm with 61 parts on 67 nets, routed with 1,043 tracks and 169 vias.
It is built around the STM32F070CBT6, W25Q128JVPIQ and 74LVC1G14Z, with the SI5351A-B-GT among its other parts. Its parts include 27 capacitors, 10 resistors, 5 ICs, 4 connectors and 1 inductor. It belongs with the fPGA and programmable logic boards and the STM32 and FPGA and CPLD boards of this library.
Main components
4STM32F070CBT6
LQFP-48(7x7)-40℃~+85℃ 128KB 12bit 16KB 2.4V~3.6V 32 Bit 37 48MHz ARM Cortex-M0 Built-in FLASH LQFP-48(7x7) Microcontrollers (MCU/MPU/SOC) ROHSSTMicroelectronicsMicrocontrollers (MCU/MPU/SOC)W25Q128JVPIQ
WSON-8-EP(5x6)-40℃~+85℃ 100,000 cycles 10uA 120ms@(32KB) 128Mbit 133MHz 2.7V~3.6V 20 Years Power-on reset、Hardware write protection、Software write protection、Write enable latch、Absolute write protection、Power lock protection SPI WSON-8-EP(5x6) NOR FLASH ROHSWinbond ElecNOR FLASH74LVC1G14Z
SOT-553-40℃~+125℃ 1 1.2V~3.33V 1.65V~5.5V 200uA 32mA 32mA 6.5ns@5V,50pF 74LVC 750mV~2.35V Power shutdown protection、Noise suppression function Push-pull Schmitt trigger SOT-553 Inverters ROHSDiodes IncorporatedInvertersSI5351A-B-GT
MSOP-10-40℃~+85℃ 1.71V~3.6V 200MHz 3 I2C MSOP-10 Clock Generators, PLLs, Frequency Synthesizers ROHSSilicon LabsClock Generators, PLLs, Frequency Synthesizers
README
README.mdUltraPIF_Hardware
The UltraPIF is a replacement for the N64 PIF-NUS chip.
The PIF-NUS chip responsible for region lockout and copy protection. But it also has essential features like game controller access, cartridge EEPROM access and it includes the MIPS CPU boot rom.
The UltraPIF can replace all functions of the original PIF, but ignores the CIC and thus enables a region-free N64. In addition the UltraPIF comes with an integrated clock generator to compensate the differences of the video clocks for NTSC and PAL consoles. The UltraPIF includes an SPI NOR FLASH used to store the N64 software images. At the moment the FLASH is 16 MiB in size and 99% empty, so there could be features like backup and restore of savegame data or even direct emulation of SI (serial interface) hardware (ControllerPak, cart EEPROM, RTC). An RGB LED replaces the original N64 power LED and is used to show if the N64 is running in NTSC or PAL mode. The color is user programmable.
The project consists of custom PCBs, an FPGA design, an MCU firmware and a bunch of software for the N64 itself.
In this repository you find the KiCad hardware files.
You can find hints for assembly and installation in the wiki.

Parts
61| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | 100n | Capacitor_SMD:C_0603_1608Metric | C4, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C22 |
| 6 | 100n | Capacitor_SMD:C_0402_1005Metric | C20, C23, C24, C25, C26, C27 |
| 6 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R2, R15, R16, R17, R18 |
| 5 | Jumper_NO_Small | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1, JP2, JP3, JP4, JP5 |
| 3 | 4u7 | Capacitor_SMD:C_0603_1608Metric | C5, C18, C19 |
| 3 | LED_Small | LED_SMD:LED_0603_1608Metric | LD1, LD2, LD3 |
| 3 | TEST_1P | pif_fpga:TP_0.8mm | TP1, TP2, TP3 |
| 2 | 1u | Capacitor_SMD:C_0603_1608Metric | C2, C21 |
| 2 | 220 | Resistor_SMD:R_0603_1608Metric | R5, R10 |
| 2 | 330 | Resistor_SMD:R_0603_1608Metric | R13, R14 |
| 2 | TestPoint | pif_fpga:TP_0.8mm | TP4, TP5 |
| 1 | 10n | Capacitor_SMD:C_0603_1608Metric | C3 |
| 1 | 10u | Capacitor_SMD:C_0805_2012Metric | C1 |
| 1 | 25 MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | 74LVC1G14 | Package_TO_SOT_SMD:SOT-353_SC-70-5 | U5 |
| 1 | CONN_01X05 | pif_fpga:PinHeader_1x05_P2.54mm_NoSolder | P4 |
| 1 | CONN_01X06 | pif_fpga:PinHeader_1x06_P2.54mm_NoSolder | P3 |
| 1 | CONN_01X18 | pif_fpga:Molex_BackFlip_18x0.5mm | P2 |
| 1 | CONN_02X20 | pif_fpga:Hirose_DF12A-40DS-0.5V_2x20_P0.50mm_Vertical | P1 |
| 1 | Ferrite | Inductor_SMD:L_0603_1608Metric | L1 |
| 1 | LCMXO2-2000HC | Package_QFP:TQFP-100_14x14mm_P0.5mm | U2 |
| 1 | STM32F070CBT6 | Package_QFP:LQFP-48_7x7mm_P0.5mm | U3 |
| 1 | Si5351A | Package_SO:MSOP-10_3x3mm_P0.5mm | U1 |
| 1 | W25Q128JVPIQ | Package_DFN_QFN:DFN-8-1EP_6x5mm_P1.27mm_EP2x2mm | U4 |
More from jago85/UltraPIF_Hardware
2- 2 layers12 × 12 mm

- 2 layers13 × 21.5 mm

Similar boards
- 2 layers80 × 61 mm

Usb thermo logger
richardklingler/usbthermocouple
This is my first ever published project on Github, so most probably not error free (o;
61 parts11GPL-3.0 - 2 layers70 × 45 mm

Jaguar USB tap
dgrubb/Jaguar-USB-tap
Schematics, PCBs and firmware for an Atari Jaguar controller to USB adapter, based on an STM32F07 ARM uC.
24 parts8GPL-3.0 - 4 layers100 × 85 mm

- 6 layers50 × 75 mm

Sandflat
apfaudio/sandflat
Lower-cost DSP experimentation host for the SoldierCrab ECP5 SoM
113 parts4CERN-OHL-S-2.0 - 2 layers100 × 75 mm

RTSS Power Supply V2-5C
RadioThermal/RadioThermal_Soldering_OSHW
Open Source Hardware 470KHz Induction Soldering Iron
69 parts84CERN-OHL-P-2.0 - 2 layers28 × 28 mm

- 4 layers150 × 50 mm

- 2 layers141.8 × 107 mm

Questions
How big is the Pif fpga PCB?
It measures 35 × 41 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Pif fpga use?
61 parts, built around the STM32F070CBT6, W25Q128JVPIQ, 74LVC1G14Z and SI5351A-B-GT. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Pif fpga KiCad files?
From the jago85/UltraPIF_Hardware repository on GitHub, at the commit this page was made from: the board is pif_fpga/pif_fpga.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Pif fpga design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).