Skip to the content
PCBKitNew board
2 layers79.2 × 69.2 mmPci2nano, the printed circuit board in 3D

An FPGA/PCI Device Reference Platform

Size
79.2 × 69.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
5
Nets
99
Pads
316
Tracks, vias
807, 123
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
8 Dec 2020
Updated
10 Dec 2020

Overview

Pci2nano is an open-source printed circuit board by defparam, from the defparam/PCI2Nano-PCB repository on GitHub, published under the CC-BY-SA-4.0 licence. It is a 2-layer board of 79.2 × 69.2 mm with 5 parts on 99 nets, routed with 807 tracks and 123 vias.

It belongs with the fPGA and programmable logic boards of this library.

README

README.md

PCI2Nano Reference Platform

Welcome to the PCI2Nano Reference Platform repo. In this repo you'll find an inexpensive suggested Reference Platform for designing and testing PCI functions on a DE0-Nano FPGA to an x86 host. I have personally built/connected/tested every single one of these components and can confirm they work for fast iterative PCI development.

The design collateral that is included with this repo are the kicad design files for the PCI2Nano breakout board and a Quartus project that contains all the correct PCI pinout constraints for the PCI2Nano breakout board. This repo does not contain an actual PCI core written in verilog. For an example PCI core implementation with a UART check out the PCI2Nano-RTL repo here: https://github.com/defparam/PCI2Nano-RTL/

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Demo

My l337-Communication Controller

Reference Platform Parts List

PartDescriptionPrice
DE0-NanoFPGA Board~$100.00
Seeed Odyssey X86J4105 SBCSIngle Board Computer~$185.00
PCI2Nano Breakout PCBCoverts PCI to DE0-Nano GPIO~$45 (OSHPark for 3)
Startech PEX1PCI1Converts PCIe to PCI~$40
M.2 Key M Extender PCIE x16Break out M.2 to PCIe x16~$32
2x 100mil 40-pin IDC socketsSoldered to the PCB~$1-$2

Directions

  1. Mount the Extender cable into the Odyssey M.2 M Key slot. If you have standoffs you can affix the x16 connector of the extender to the SBC as shown in the picture above.
  2. Mount the PEX1PCI1 onto the x16 connector. Supplying the molex power I believe is not required since it is used to power the 5V rails of a mounted PCI device, the PCI2Nano doesn't use this 5V rail (unless you bridge it to the Nano's 5V GPIO power pin via the board shunt). However it is best to power the nano through its USB cable
  3. Connect the PCI2Nano breakout board to the DE0-Nano, make sure that the USB of the nano points in the correct direction as specified by the silkscreen
  4. Connect the PCI side of the PCI2Nano onto the PEX1PCI1, make sure it is connected in the orientation as indicated by the silk screen. The arrow indicating the chassis side should be pointed to the externel side of the PEX1PCI1

PCB board

There is a small amount of soldering involved with the PCB board to connect the 100mil IDC socket to the PCB board.

Parts

The DE0-Nano:

The PCI2Nano PCB:

The PEX1PCI1 PCIe-2-PCI Bridge:

The Seeed Odyssey X86J4105 SBC:

The M.2 Key M Extender PCIE x16:

Parts

5
QtyValueFootprintReferences
2Conn_02x20_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_VerticalJ2, J3
2SolderJumper_2_BridgedJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP1, JP2
1Bus_PCI_32bit_UniversalConnector_PCBEdge:BUS_PCI_UNIVERSAL_edgecutsJ1

Questions

How big is the Pci2nano PCB?

It measures 79.2 × 69.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Pci2nano use?

5 parts. 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 Pci2nano KiCad files?

From the defparam/PCI2Nano-PCB repository on GitHub, at the commit this page was made from: the board is pci2nano.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Pci2nano design in my own project?

Its repository publishes it under the CC-BY-SA-4.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).

Similar boards

  • 2 layers98 × 27 mmXy limit, the printed circuit board in 3D

    Xy limit

    opulo-inc/lumenpnp

    The LumenPnP is an open source pick and place machine.

    5 parts3.7k
  • 2 layers21 × 33 mm24g2usb pico2w, the printed circuit board in 3D

    24g2usb pico2w

    joypad-ai/joypad-os

    Universal controller firmware for building adapters, dongles, and custom controllers.

    5 parts1.7kApache-2.0
  • 2 layers53.2 × 59.6 mmA10 OLinuXino Lime Rev B SHIELD TEMPLATE, the printed circuit board in 3D

    A10 OLinuXino Lime Rev B SHIELD TEMPLATE

    OLIMEX/OLINUXINO

    OLINUXINO is Open Source / Open Hardware, low cost from EUR 24 Linux Industrial grade Single Board Computer capable to operate -25+85C

    5 parts1.5k
  • 2 layers30 × 11 mmMain control board servo tester, the printed circuit board in 3D

    Main control board servo tester

    jamro/tiny-engineer

    A small desktop robot that brings an AI coding assistant to life, physically acting out when it reads files, thinks, writes code, and finishes work.

    5 parts1.1k
  • 2 layers78.8 × 35.3 mmKiCadTest, the printed circuit board in 3D

    KiCadTest

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    5 parts915
  • 2 layers50 × 23 mmMiniCircuits LTCC, the printed circuit board in 3D

    MiniCircuits LTCC

    VanceVagell/kv4p-ht

    Open source handheld ham radio project KV4P-HT

    5 parts828GPL-3.0
  • 2 layers20.3 × 15.2 mmL0 light sensor, the printed circuit board in 3D

    L0 light sensor

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    5 parts546MIT