

Pci2nano
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.mdPCI2Nano 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/

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Demo
My l337-Communication Controller
Reference Platform Parts List
| Part | Description | Price |
|---|---|---|
| DE0-Nano | FPGA Board | ~$100.00 |
| Seeed Odyssey X86J4105 SBC | SIngle Board Computer | ~$185.00 |
| PCI2Nano Breakout PCB | Coverts PCI to DE0-Nano GPIO | ~$45 (OSHPark for 3) |
| Startech PEX1PCI1 | Converts PCIe to PCI | ~$40 |
| M.2 Key M Extender PCIE x16 | Break out M.2 to PCIe x16 | ~$32 |
| 2x 100mil 40-pin IDC sockets | Soldered to the PCB | ~$1-$2 |
Directions
- 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.
- 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
- 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
- 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| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | Conn_02x20_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Vertical | J2, J3 |
| 2 | SolderJumper_2_Bridged | Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm | JP1, JP2 |
| 1 | Bus_PCI_32bit_Universal | Connector_PCBEdge:BUS_PCI_UNIVERSAL_edgecuts | J1 |
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 mm

- 2 layers21 × 33 mm

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 mm

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 mm

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 mm

KiCadTest
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
5 parts915 - 2 layers50 × 23 mm

- 2 layers43.2 × 28.5 mm

- 2 layers20.3 × 15.2 mm

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