
Clavier
lsartory/Clavier
An FPGA-based mechanical keyboard with an integrated USB hub and communication interfaces

A compact 4-layer FPGA development board based on the Lattice LFE5U-25F-6BG256C, designed to explore high-speed PCB design, FPGA hardware, memory interfaces, and signal integrity practices.
FPGA SDRAM is an open-source printed circuit board by Rahul9-spb, from the Rahul9-spb/FPGA-1 repository on GitHub. It is a 4-layer board of 54.8 × 45.1 mm with 126 parts on 305 nets, routed with 1,273 tracks and 218 vias.
It is built around the LFE5U-25F-6BG256C, W25Q128JVSIQ and TPD4E05U06DQAR, with the USBLC6-2SC6 and SG-8002CA-PCB among its other parts. Its parts include 57 capacitors, 47 resistors, 8 ICs, 3 connectors and 3 inductors. It belongs with the fPGA and programmable logic boards and the FPGA and CPLD boards of this library.
A compact 4-layer FPGA development board based on the Lattice LFE5U-25F-6BG256C, designed to explore high-speed PCB design, FPGA hardware, memory interfaces, and signal integrity practices.
Project Status: Design Completed | Unfabricated | Fabrication Planned
| Parameter | Value |
|---|---|
| PCB Layers | 4 |
| Board Dimensions | 45x55mm |
| PCB Thickness | 1.64mm |
| Copper Weight | 1oz |
| Manufacturer | --- |
| Layer | Function |
|---|---|
| L1 | High-Speed Signals & Component Placement |
| L2 | Continuous Ground Plane |
| L3 | Power Distribution (Split Power Islands) |
| L4 | Signals + Ground Copper |
Part Number
LFE5U-25F-6BG256C
Package
BGA-256
Core Voltage
1.1V
I/O Voltages
| Parameter | Value |
|---|---|
| Target Differential Impedance | 100Ω |
| Trace Width | 0.16mm |
| Trace Gap | 0.2mm |
| Copper Thickness | 1oz |
| Reference Plane | L2 |
Memory Device
Multiple supply rails are implemented on a single internal power layer using separated copper islands.
Power Rails
Using a dedicated power plane for four independent voltage rails required splitting Layer 3 into multiple power islands.
Priority was given to:
rather than achieving visually symmetric polygon shapes.
Component placement was driven primarily by signal integrity requirements.
Major considerations included:
General signals
Power
Fine fan-out
Differential pairs
Minimum Trace Width 0.1mm
Minimum Clearance 0.1mm
Minimum Via
Hole : 0.1mm
Pad : 0.25mm
One of the primary design challenges was routing multiple FPGA BGA rows while maintaining clean escape paths.
Design considerations included:
Considerations included:
Design considerations
External high-speed interfaces include ESD protection devices placed close to connectors.
Protected Interfaces
Some of the major challenges during this project included:
PCB/
│── FPGA_SDRAM.kicad_pcb
│── FPGA_SDRAM.kicad_pro
Gerbers/
│── gerbers.zip
│── gerbers/
Schematics/
│── FPGA_SDRAM.kicad_sch
Images/
│── 3D_Model/
│── PCB_Images/
README.mdMIT License
This project was completed as a personal learning project to gain practical experience in FPGA hardware design, high-speed PCB layout, signal integrity, and power integrity.
"Designed during sophomore year as a self-directed learning project. First BGA package, first 4-layer board, first FPGA design."
Feedback and suggestions are always welcome
| Qty | Value | Footprint | References |
|---|---|---|---|
| 15 | 100n | Capacitor_SMD:C_0201_0603Metric | C4, C5, C6, C7, C8, C9, C11, C12, C13, C15, C19, C21, C23, C25, C51 |
| 13 | 100n | Capacitor_SMD:C_0402_1005Metric | C31, C47, C49, C50, C52, C53, C54, C55, C56, C57, C58, C60, C62 |
| 10 | 10k | Resistor_SMD:R_0402_1005Metric | R4, R12, R17, R19, R31, R36, R44, R45, R48, R49 |
| 6 | 22u | Capacitor_SMD:C_0603_1608Metric | C35, C36, C40, C41, C45, C46 |
| 5 | 10k | Resistor_SMD:R_0201_0603Metric | R20, R21, R22, R23, R24 |
| 5 | 10u | Capacitor_SMD:C_0201_0603Metric | C1, C14, C22, C24, C26 |
| 5 | 22R | Resistor_SMD:R_0201_0603Metric | R18, R41, R42, R43, R51 |
| 5 | 4k7 | Resistor_SMD:R_0402_1005Metric | R32, R33, R34, R46, R47 |
| 3 | 0R | Resistor_SMD:R_0402_1005Metric | R6, R10, R14 |
| 3 | 10k | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R2, R5, R8 |
| 3 | 10u | Capacitor_SMD:C_0603_1608Metric | C28, C29, C30 |
| 3 | 22R | Resistor_SMD:R_0402_1005Metric | R29, R30, R35 |
| 3 | 47n | Capacitor_SMD:C_0201_0603Metric | C34, C39, C44 |
| 3 | 4k7 | Inductor_SMD:L_0603_1608Metric | L2, L3, L4 |
| 2 | 10n | Capacitor_SMD:C_0402_1005Metric | C33, C38 |
| 2 | 22R | Resistor_SMD:R_Array_Convex_4x0402 | RN1, RN2 |
| 2 | 5k1 | Resistor_SMD:R_0402_1005Metric | R25, R26 |
| 2 | TPD4E05U06DQAR | custom:DQA0010A_ESDP | U7, U8 |
| 1 | 100n | Resistor_SMD:R_0402_1005Metric | C63 |
| 1 | 10n | Capacitor_SMD:C_0603_1608Metric | C43 |
| 1 | 10u | Resistor_SMD:R_0201_0603Metric | C10 |
| 1 | 10u | Resistor_SMD:R_0603_1608Metric | C59 |
| 1 | 10u | Capacitor_SMD:C_0805_2012Metric | C48 |
| 1 | 1n5 | Capacitor_SMD:C_0201_0603Metric | C32 |
| 1 | 1n8 | Capacitor_SMD:C_0201_0603Metric | C37 |
| 1 | 1u | Capacitor_SMD:C_0603_1608Metric | C27 |
| 1 | 1u | Capacitor_SMD:C_0402_1005Metric | C61 |
| 1 | 22R | Resistor_SMD:R_Array_Convex_2x0402 | RN3 |
| 1 | 22k1 | Resistor_SMD:R_0603_1608Metric | R27 |
| 1 | 24k9 | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R3 |
| 1 | 24k9 | Resistor_SMD:R_0402_1005Metric | R1 |
| 1 | 2k2 | Resistor_SMD:R_0402_1005Metric | R13 |
| 1 | 31k6 | Resistor_SMD:R_0402_1005Metric | R11 |
| 1 | 3k2 | Resistor_SMD:R_0402_1005Metric | R50 |
| 1 | 3n3 | Capacitor_SMD:C_0201_0603Metric | C42 |
| 1 | 45k3 | Resistor_SMD:R_0402_1005Metric | R7 |
| 1 | 47k5 | Resistor_SMD:R_0603_1608Metric | R28 |
| 1 | 6k8 | Resistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolder | R9 |
| 1 | 8k25 | Resistor_SMD:R_0402_1005Metric | R15 |
| 1 | 9k88 | Resistor_SMD:R_0402_1005Metric | R16 |
| 1 | CP2102N-Axx-xQFN28 | Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.35x3.35mm | U4 |
| 1 | FerriteBead | Inductor_SMD:L_0603_1608Metric | FB2 |
| 1 | FerriteBead | Inductor_SMD:L_0201_0603Metric | FB1 |
| 1 | HDMI_A | Connector_Video:HDMI_A_Amphenol_10029449-x01xLF_Horizontal | J3 |
| 1 | IS42S16400J-xC | Package_SO:TSOP-II-54_22.2x10.16mm_P0.8mm | U2 |
| 1 | LFE5U-25F-6BG256C | custom:BGA256C80P16X16_1400X1400X170 | U1 |
| 1 | LOGO | LOGO | G*** |
| 1 | Polyfuse | Fuse:Fuse_0402_1005Metric | F1 |
| 1 | SG-8002CA | Oscillator:Oscillator_SMD_SeikoEpson_SG8002CA-4Pin_7.0x5.0mm | Y1 |
| 1 | TPS65261RHBR | custom:TPS65261RHBR | U5 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U6 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J2 |
| 1 | W25Q128JVS | Package_SO:SOIC-8_5.3x5.3mm_P1.27mm | U3 |
| 1 | con | Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical | J1 |

lsartory/Clavier
An FPGA-based mechanical keyboard with an integrated USB hub and communication interfaces

JulienKluge/Clock-odial
Clock-odial is a PCB featuring a ECP5 fpga for frequency/clock signal processing


hazy2go/gb-link-usb
Game Boy (DMG) link port to USB-C PC adapter: printer emulation, PC link, online link play. Sister project of the WiFi Game Boy cart.

tyevco/dial-me-spinner
A Bluetooth dial spinner about 70 mm across, built on the nRF52840. A heavy, balanced stainless flywheel ring spins around a stationary centre that holds a colour OLED and a ring of 48 addressable RGB LEDs.



aguscsc/Bidirectional-Buck-DC-DC-converter
This repository contains the development steps for the making of a Bidirectional Buck DC-DC converter
It measures 54.8 × 45.1 mm and has 4 copper layers, 1.64 mm thick.
126 parts, built around the LFE5U-25F-6BG256C, W25Q128JVSIQ, TPD4E05U06DQAR and USBLC6-2SC6. 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.
From the Rahul9-spb/FPGA-1 repository on GitHub, at the commit this page was made from: the board is PCB/FPGA_SDRAM.kicad_pcb and its schematic Schematics/FPGA_SDRAM.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Rahul9-spb before reusing the design.