Skip to the content
8 layers230 × 145.3 mmOptiLogic-16-Pro, the printed circuit board in 3D

OptiLogic-16-Pro

HexFud/OptiLogic-16-Pro

A logic analyzer with 16 channels that can also watch two fiber network links at the same time

Size
230 × 145.3 mm
Copper layers
8
Thickness
1.6 mm
Parts
342
Nets
679
Pads
2,128
Tracks, vias
5,536, 1,084
Pours
6
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 Oct 2026
Updated
26 Oct 2026

Overview

OptiLogic-16-Pro is an open-source printed circuit board by HexFud, from the HexFud/OptiLogic-16-Pro repository on GitHub. It is an 8-layer board of 230 × 145.3 mm with 342 parts on 679 nets, routed with 5,536 tracks and 1,084 vias.

It is built around the KSZ9031RNXCA, FT601Q-B-T and W25Q128JVSIQ, with the LMH7324SQ, MT41K256M16HA-CN and TLV75512PDBV among its other parts. Its parts include 144 resistors, 124 capacitors, 25 ICs, 19 diodes and 9 connectors. It belongs with the sensors and measurement boards of this library.

Main components

8

README

README.md

OptiLogic-16 Pro

OptiLogic-16 Pro is a custom built, FPGA-based 16-channel logic analyzer and network monitor designed from scratch from PCB design and component selection to firmware development and 3D modeling. Featuring a Xilinx Kintex-7 FPGA 500 MSa/s sampling programmable input thresholds 4 Gbit DDR3 memory three SFP ports Gigabit Ethernet and USB 3.0, it is designed for high-speed digital signal analysis, hardware debugging, and network data acquisition.

image.png

Schematic and PCB

image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png

How this was made

I designed an 8-layer PCB that has 16 digital inputs united by 4 comparators. The board runs with 12V DC current with a standard barrel jack connector:

  1. 16 analog thresholds programmable from -2.0V to +5.0V.
  2. A 4 Gbit DDR3 memory dedicated to sample buffering.
  3. Three SFP cages for fiber optic (2 are recive only and 1 is recive and trasmit).
  4. Gigabit Ethernet.
  5. USB 3.0 for PC communication.

The PCB has a precise layer structure:

  1. F.Cu is only used for local connections or high speed and GND plane
  2. In1.Cu is used as GND plane to remove noise and interferences from the under and above layer. It is used to put traces on it if there is no space between them
  3. In2.Cu is used for short range high speed comunication like the RAM
  4. In3.Cu is used only to carry power with very thick copper traces
  5. In4.Cu is the same as In1.Cu
  6. In5.Cu used to connect the comparators and DACs between them and wire them to the FGPA
  7. In6.Cu is the same as In3.Cu
  8. B.Cu used as auxiliary short distance traces

External connections breakdown

  1. 12V Power: The main barrel jack socket that powers the board portectd by a resettable fuse. The 12V input is stepped down with multiple converters and the 12V input becomes +7.0V, -3.0V, +3.3V, +2.5V, +1.8V, +1.5V, +1.2V, +1.0V required by the FPGA, comparators, and transceivers.
  2. USB-C Port: This port supports PC communication.
  3. Logic Probes: Two 20-pin headers handling the 16 high-speed input channels. The even pins are connected to GND.
  4. JTAG: A 14-pin socket used to debug and flash the FPGA and the QSPI memory.

Mechanical design and why I chose certain components

To make sure the logic analyzer can sample at 500 MSa/s without struggling with signal integrity, I had to select specialized components:

  • FPGA (Xilinx Kintex-7 XC7K70T-2FBG676I): I choose the FBG676 package because it provides enough I/O pins to drive everything that is on the board.
  • Comparators (LMH7324): Selected for their 700 ps rise/fall times. By powering their output stage (VCCO) at +2.5V, the RSPECL outputs naturally shift to LVDS levels, allowing direct connection to the FPGA without complex external resistor networks.
  • USB Bridge (FTDI FT601Q): I avoided using a PCIe interface or a complex FPGA-based USB PHY. The FT601Q provides a 32-bit synchronous 245 FIFO interface running at 100 MHz, easily sustaining ~380 MB/s of real-world bandwidth to the host PC.
  • DACs (TI DAC8568): Chosen to provide 16 independent threshold voltages. A single SPI bus configures both chips, and precision Op-Amps scale the 0–2.5V output to the required -2.0V to +5.0V range.

How to flash the firmware

My project doesn't have a built-in USB-to-JTAG programmer. To flash the firmware you need a Xilinx Platform Cable USB or a JTAG adapter wired to the connector. You must use the AMD/Xilinx Vivado Design Suite to upload the firmware into the QSPI Flash.

Steps to reproduce:

In AMD/Xilinx Vivado (Compilation):

  1. Install Vivado 2023.2 (or newer).
  2. Open the project and go to the settings to select the target device XC7K70T-2FBG676I.
  3. Add the Verilog sources and the XDC file.
  4. Run Synthesis and Implementation from the left panel.
  5. Click on Generate Bitstream.
  6. Open the Tcl Console and paste the following command to export the compiled binary for the QSPI Flash: write_cfgmem -format bin -interface spix4 -size 16 -loadbit "up 0x0 ./project_name.runs/impl_1/optilogic_16_pro_top.bit" -file ./optilogic_16_pro_flash.bin

In Vivado Hardware Manager (Flashing):

  1. Insert the JTAG programmer into the PC and connect it to the header on the board.
  2. Connect the 12V power supply.
  3. In Vivado, click "Open Hardware Manager" ensure that the programmer is selected, and click "Auto Connect".
  4. Right-click the xc7k70t_0 device and select "Add Configuration Memory Device".
  5. Search for the w25q128-spi-x1_x2_x4 part and select it.
  6. Go to the programming tab select the previously exported .bin file ensure "Erase, Program, Verify" is selected, and click "Start Programming". If everything goes right you'll see a success message. Power-cycle the board to boot the firmware.

Filament and Thermal recommendation

The Kintex-7 FPGA, FT601Q bridge, KSZ9031 PHY, and switching regulators generate a lot of heat (50°C–60°C) during continuous sampling. The LMH7324 comparators also dissipate heat into the PCB internal GND plane. To dissipate the thermal load and shield the board from radio frequency interference the board must be enclosed in a CNC-machined aluminum case. I suggest using these settings on JLCPCB before putting it into production image.png

⚠️⚠️ Safety advice ⚠️⚠️

This project includes experimental software and hardware designs. Assembly documentation and firmware are still under development and may contain bugs, errors, or incomplete features. By using, building, or modifying this project, you acknowledge that:

  1. You use this project entirely at your own risk.
  2. You are solely responsible for safe assembly, testing, and operation.
  3. The author isn't responsible for any type of damage, injury, or loss to people or the machine itself.

By proceeding, you accept all risks and agree to these conditions. If you do not acknowledge these risks and conditions, please do not use or build this project.

Parts

342
QtyValueFootprintReferences
90100nFCapacitor_SMD:C_0805_2012MetricC1, C10, C100, C101, C102, C103, C106, C107, C108, C109, C111, C112, C113, C114, C115, C116 +74
3212k 0.1%Resistor_SMD:R_0805_2012MetricR61, R63, R65, R67, R69, R71, R100, R101, R102, R103, R104, R105, R106, R107, R108, R109 +16
32150Resistor_SMD:R_0805_2012MetricR11, R12, R14, R15, R17, R18, R20, R21, R23, R24, R26, R27, R29, R30, R32, R33 +16
18100Resistor_SMD:R_0805_2012MetricR10, R13, R16, R19, R22, R25, R28, R31, R34, R37, R38, R43, R44, R49, R118, R145 +2
17BAV99Package_TO_SOT_SMD:SOT-23D2, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31, D32 +1
1615k 0.1%Resistor_SMD:R_0805_2012MetricR60, R62, R64, R66, R68, R70, R72, R74, R76, R78, R80, R82, R84, R86, R88, R90
1010kResistor_SMD:R_0805_2012MetricR111, R112, R113, R127, R128, R129, R130, R139, R142, R143
84.7KResistor_SMD:R_0805_2012MetricR2, R3, R4, R5, R6, R7, R8, R114
710uFCapacitor_SMD:C_0805_2012MetricC11, C13, C15, C79, C83, C85, C86
74.7kResistor_SMD:R_0805_2012MetricR117, R119, R132, R146, R148, R149, R150
74.7uFCapacitor_SMD:C_0805_2012MetricC47, C54, C70, C71, C104, C105, C110
41uFCapacitor_SMD:C_0805_2012MetricC35, C36, C78, C92
422uFCapacitor_SMD:C_0805_2012MetricC73, C75, C82, C89
4LMH7324Package_DFN_QFN:WQFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mmU6, U7, U8, U9
4MountingHole_PadMountingHole:MountingHole_3mm_PadH1, H2, H3, H4
4Opamp_QuadPackage_SO:TSSOP-14_4.4x5mm_P0.65mmU26, U27, U28, U29
4TPS563200Package_TO_SOT_SMD:SOT-23-6U5, U30, U34, U36
310KResistor_SMD:R_0805_2012MetricR115, R116, R122
32.2uHInductor_SMD:L_7.3x7.3_H3.5L2, L3, L5
3FerriteBeadInductor_SMD:L_0805_2012MetricFB4, FB5, FB6
3SFPConnector:Connector_SFP_and_CageJ1, J2, J3
21.5uHInductor_SMD:L_7.3x7.3_H3.5L4, L7
212pFCapacitor_SMD:C_0805_2012MetricC42, C43
22.2uFCapacitor_SMD:C_0805_2012MetricC76, C77
222pFCapacitor_SMD:C_0805_2012MetricC49, C50
25.1kResistor_SMD:R_0805_2012MetricR92, R93
2Conn_02x10_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_VerticalJ6, J7
2~EasyEDA_Lib:TSSOP-16_L5.0-W4.4-P0.65-LS6.4-BLU24, U25
1100kResistor_SMD:R_0805_2012MetricR133
1100uFCapacitor_SMD:C_0805_2012MetricC68
1100uF 25VCapacitor_SMD:C_0805_2012MetricC18
1102kResistor_SMD:R_0805_2012MetricR123
1107kResistor_SMD:R_0805_2012MetricR125
112.1kResistor_SMD:R_0805_2012MetricR1
112.1k 1%Resistor_SMD:R_0805_2012MetricR59
1125MHzOscillator:Oscillator_SMD_SiTime_PQFD-6L_3.2x2.5mmY2
112k 1%Resistor_SMD:R_0805_2012MetricR58
113.7kResistor_SMD:R_0805_2012MetricR140
118VDiode_SMD:D_0805_2012MetricD3
11nFCapacitor_SMD:C_0805_2012MetricC87
12.2nFCapacitor_SMD:C_0805_2012MetricC69
12.49KResistor_SMD:R_0805_2012MetricR121
122Resistor_SMD:R_0805_2012MetricR110
1240Resistor_SMD:R_0805_2012MetricR9
125.000 MHzOscillator:Oscillator_DIP-8Y4
127nFCapacitor_SMD:C_0805_2012MetricC66
13.57kResistor_SMD:R_0805_2012MetricR120
130kResistor_SMD:R_0805_2012MetricR141
133Resistor_SMD:R_0805_2012MetricR144
133.2kResistor_SMD:R_0805_2012MetricR126
136.5kResistor_SMD:R_0805_2012MetricR124
13A 16VFuse:Fuse_1812_4532MetricF2
14.7uHInductor_SMD:L_7.3x7.3_H3.5L6
143pFCapacitor_SMD:C_0805_2012MetricC67
182.5kResistor_SMD:R_0805_2012MetricR131
1ACO-xxxMHzOscillator:Oscillator_SMD_Abracon_ASE-4Pin_3.2x2.5mmY1
1AP2112K-2.5Package_TO_SOT_SMD:SOT-23-5U31
1Barrel_JackConnector_BarrelJack:BarrelJack_CUI_PJ-063AH_HorizontalJ9
1Conn_02x07_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x07_P2.54mm_VerticalJ5
1Conn_CoaxialConnector_Coaxial:SMA_Amphenol_132203-12_HorizontalJ8
1CrystalCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY3
1FT601QPackage_DFN_QFN:QFN-76-1EP_9x9mm_P0.4mm_EP5.81x6.31mmU42
1KSZ9031RNXCAPackage_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.15x5.15mmU3
1LEDLED_SMD:LED_0805_2012MetricD1
1MT41K256M16HAPackage_BGA:Micron_FBGA-96_9x14mm_Layout9x16_P0.8mmU1
1Q_PMOS_GSDPackage_TO_SOT_SMD:SOT-23Q2
1REF5025ADPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU22
1SW_PushButton_Switch_SMD:SW_SPST_PTS647_Sx38SW1
1TLV75512PDBVPackage_TO_SOT_SMD:SOT-23-5U32
1TPS51200DRCPackage_SON:VSON-10-1EP_3x3mm_P0.5mm_EP1.65x2.4mmU33
1USB_C_ReceptacleConnector_USB:USB_C_Receptacle_GCT_USB4085J4
1W25Q128JVSPackage_SO:SOIC-8_5.3x5.3mm_P1.27mmU4
1~EasyEDA_Lib:VSON-10_L3.0-W3.0-P0.50-TL-EP-1U35
1~EasyEDA_Lib:VQFN-14_L3.5-W3.5-P0.50-BL-EP_TPS54622RHLTU23
1~EasyEDA_Lib:FBGA-676_L27.0-W27.0-R26-C26-P1.00-BLU37
1~EasyEDA_Lib:RJ45-TH_0826-1X1T-HT-FRJ1

Similar boards

  • 8 layers50 × 50 mmZynq7010, the printed circuit board in 3D

    Zynq7010

    youheng7185/xc7z010-clg400_pcb

    152 parts
  • 8 layers68 × 67.8 mmReform kintex, the printed circuit board in 3D

    Reform kintex

    kitspace-forks/reform-kintex-som

    This is the open hardware system-on-module featuring the Xilinx/AMD Kintex-7 FPGA (XC7K160T or XC7K325T) and 2GB DDR3 RAM.

    297 parts2
  • 4 layers120 × 69 mmDual adc usb, the printed circuit board in 3D

    Dual adc usb

    devbisme/ai-circuit-design-tests

    Tests of KiCad-related AI tools.

    184 parts10
  • 4 layers50 × 37 mmIce40tag, the printed circuit board in 3D

    Ice40tag

    clysto/ice40tag

    78 parts
  • 4 layers75 × 55 mmEos epu up5k, the printed circuit board in 3D

    Eos epu up5k

    embeddedos-org/eCAD-Hardware-Products

    Hardware designs + EE docs + Board datasheets of Multiple products

    145 parts8MIT
  • 4 layers100 × 60 mmWork after r3, the printed circuit board in 3D

    Work after r3

    cfbird/usb3-sdr

    USB3 direct-sampling HF SDR: AD9649 ADC -> ECP5 FPGA DDC -> FT601 USB 3. KiCad 9 + Verilog, co-designed by Claude and Gemini (AGY).

    231 parts
  • 8 layers91 × 22 mmDevice, the printed circuit board in 3D

    Device

    jayis1/hacker-devices

    Full-cycle hardware designs for security research devices — each device is a subfolder with its own README, schematics, PCB layout, and software stack

    14 parts2

Questions

How big is the OptiLogic-16-Pro PCB?

It measures 230 × 145.3 mm and has 8 copper layers, 1.6 mm thick.

What parts does the OptiLogic-16-Pro use?

342 parts, built around the KSZ9031RNXCA, FT601Q-B-T, W25Q128JVSIQ and LMH7324SQ. 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 OptiLogic-16-Pro KiCad files?

From the HexFud/OptiLogic-16-Pro repository on GitHub, at the commit this page was made from: the board is PCB/OptiLogic-16-Pro.kicad_pcb and its schematic PCB/16_channels.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the OptiLogic-16-Pro design in my own project?

Its repository states no licence, so its author keeps all rights: ask HexFud before reusing the design.