Skip to the content
4 layers89.7 × 82.9 mmICE40UP5K logic analyzer rev2, the printed circuit board in 3D

ICE40UP5K logic analyzer rev2

hack-a-tack/FPGA_Logic_Analyzer

(Info applies to rev. 1, update for later revisions (only final rev. matters in the README)) FPGA-based 8-channel logic analyzer implemented on iCE40UP5K.

Size
89.7 × 82.9 mm
Copper layers
4
Thickness
1.6 mm
Parts
170
Nets
153
Pads
521
Tracks, vias
1,028, 202
Pours
9
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
5 Mar 2026
Updated
31 Oct 2026

Overview

ICE40UP5K logic analyzer rev2 is an open-source printed circuit board by hack-a-tack, from the hack-a-tack/FPGA_Logic_Analyzer repository on GitHub. It is a 4-layer board of 89.7 × 82.9 mm with 170 parts on 153 nets, routed with 1,028 tracks and 202 vias.

It is built around the ICE40UP5K-SG48I, FT2232HL-TRAY and W25Q40CLSNIG, with the SN74LVC14ADBRE4, MIC5504-1.2YM5-TR and MIC5504-3.3YM5-TR among its other parts. Its parts include 74 resistors, 38 capacitors, 9 diodes, 8 ICs and 7 connectors. It belongs with the sensors and measurement boards and the FPGA and CPLD boards of this library.

Main components

11

README

README.md

FPGA Logic Analyzer

(NOTE TO SELF: THIS MUST BE UPDATED FOR THE FINAL REVISION; REV1 IS VIRTUALLY IRRELEVANT HERE, ONLY RELEVANT IN REPORT IF USED TO DISCUSS IMPORTANT DESIGN DECISIONS)

Project overview

(Info applies to rev. 1, update for later revisions (only final rev. matters in the README)) FPGA-based 8-channel logic analyzer implemented on iCE40UP5K. Supports 24 MHz sampling, 4096 sample depth, UART streaming and trigger logic.

Key specs:

SpecValue
FPGAiCE40UP5K
Sampling channels8
Sampling rate24MHz
Buffer4096 samples
InterfaceUART
ProgrammingSPI
PCB2-layer
Revision1.

Architecture

// Note to self: block diagram, + explain modules briefly (less than a full sentence for each)

(insert block diagram)

(module overview:)

ModuleDescription
capture_engine.vhdsamples digital inputs
analyzer_fsm.vhdmanages logic analyzer state
send_engine.vhdUART streaming of captured data
......

Photos / board render

Performance metrics

(table of performance metrics)

MetricValue
Sample rate24MHz
Buffer depth4096 samples
UART throughput3Mbaud
Capture latency3 cycles
LUT usage1420
BRAM usage4

How to build / simulate

(Brief instructions)

Lessons and improvements

Link to engineering report

For a more in-depth overview, check out the project report (add github route and link).

Parts

170
QtyValueFootprintReferences
220u10u1_0603_cap_C0603C104M4RAC:CAPC1608X95NC10, C11, C13, C14, C16, C18, C19, C24, C25, C26, C27, C28, C29, C30, C31, C32 +6
17100kResistor_SMD:R_0603_1608MetricR16, R41, R42, R43, R44, R45, R46, R47, R48, R49, R50, R51, R52, R53, R54, R55 +1
17330RResistor_SMD:R_0603_1608MetricR21, R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39 +1
1610kResistor_SMD:R_0603_1608MetricR1, R3, R8, R9, R10, R15, R18, R19, R57, R58, R59, R60, R61, R62, R63, R64
114u74u7_0805_cap_C0805C475K4RACTM:C0805C1, C12, C15, C17, C20, C21, C22, C23, C34, C35, C38
9100RResistor_SMD:R_0603_1608MetricR14, R17, R65, R66, R67, R69, R70, R71, R72
6680RResistor_SMD:R_0603_1608MetricR6, R7, R20, R22, R23, R24
41u1u_0603_cap_MBASE168SB7105KTNA18:INDC1608X90NC2, C3, C4, C5
4GNDTestPoint:TestPoint_Pad_D1.0mmTP:GND, TP:GND, TP13, TP14
30RResistor_SMD:R_0805_2012MetricR68, R73, R74
322RResistor_SMD:R_0603_1608MetricR11, R12, R13
3SN74LVC14ADBRE4Schmitt_trigger_buffer_SN74LVC14ADBRE4:SOP65P780X200-14NIC6, IC7, IC8
2613008211218pin_header_2x4_61300821121:J_Wurth_WR-PHD_61300821121J4, J5
2BLM18AG601SN1DFerrite_bead_BLM18AG601SN1D:BLM18SP221SN1BFB1, FB2
112kResistor_SMD:R_0603_1608MetricR2
11V2TestPoint:TestPoint_Pad_D1.5mmTP3
11kResistor_SMD:R_0603_1608MetricR5
12920L050_72DRPolyfuse_2920L050_72DR:FUSC7451X125NF1
12N7002H6327XTSA2NMOS_2N7002H6327XTSA2:SOT95P240X110-3NQ1
13V3TestPoint:TestPoint_Pad_D1.5mmTP2
13u34u7_0805_cap_C0805C475K4RACTM:C0805C6
14k7Resistor_SMD:R_0603_1608MetricR4
15VTestPoint:TestPoint_Pad_D1.5mmTP1
16120202162120_pin_2x10_shrouded_header_61202021621:SHDR20W64P254_2X10_3306X910X885PJ3
1613003111218pin_header_2x4_61300821121:J_Wurth_WR-PHD_61300311121J6
1613006111216_pin_header_61300611121:HDRV6W64P0X254_1X6_1524X254X869PJ2
1613006211216pin_header_2x3_61300621121:J_Wurth_WR-PHD_61300621121J7
183020821480912MHz_CMOS_clock_830208214809:830208214809Y1
1BLM21SP601SN1DFerrite_bead_BLM21SP601SN1D:BLM21AG102BH1JFL1
1CDONETestPoint:TestPoint_Pad_D1.0mmTP5
1CRESET_BTestPoint:TestPoint_Pad_D1.0mmTP6
1DONEGreen_LED_0805_150060VS75003:150060VS75003D4
1FT2232HL-TRAYUART_USB_bridge_FT2232HL:QFP50P1200X1200X160-64NIC4
1FTDI_RXBlue_LED_0805_APT2012LVBC/D:LEDC2012X85ND8
1FTDI_TXYellow_LED_0805_150080YS75000:LEDC2012X70ND9
1FTDI_VCCIOTestPoint:TestPoint_Pad_D1.0mmTP:3V3
1FTDI_VCORETestPoint:TestPoint_Pad_D1.0mmTP:1V8
1FTDI_VREGINTestPoint:TestPoint_Pad_D1.0mmTP:3V3
1GNDTestPoint:TestPoint_Pad_D1.5mmTP4
1ICE40UP5K-SG48IICE40UP5K-SG48I:QFN50P700X700X100-49N-DIC1
1L101011MS02QSlide_switch_SPST_ON/OFF_L101011MS02Q:L101011MS02QS2
1MIC5504-1.2YM5-TRMIC5504-1.2YM5-TR:SOT95P280X145-5NIC3
1MIC5504-3.3YM5-TRMIC5504-3.3YM5-TR:SOT95P280X145-5NIC2
1OS102011MA1QN1Slide_switch_SPDT_ON/ON_OS102011MA1QN1:OS102011MA1QN1S1
1PWRGreen_LED_0805_150060VS75003:150060VS75003D3
1PWREN#TestPoint:TestPoint_Pad_D1.0mmTP:PWREN#
1PWRSAV#TestPoint:TestPoint_Pad_D1.0mmTP:PWRSAV
1REFTestPoint:TestPoint_Pad_D1.0mmTP:REF
1RESET#TestPoint:TestPoint_Pad_D1.0mmTP:RESET#
1RXBlue_LED_0805_APT2012LVBC/D:LEDC2012X85ND7
1SMAJ5.0ATVS_diode_SMAJ5_0A:DIOM5127X229ND1
1SP0502BAHTGESD_diode_array_3pin_SP0502BAHTG:SOT95P237X112-3ND2
1SUSPEND#TestPoint:TestPoint_Pad_D1.0mmTP:SUSPEND#
1TESTTestPoint:TestPoint_Pad_D1.0mmTP:GND
1TXYellow_LED_0805_150080YS75000:LEDC2012X70ND6
1USB B Female ConnectorUSB_B_Female_Connector:61400416121J1
1USERWhite_LED_0805_150060WS75000:150060WS75000D5
1VCCTestPoint:TestPoint_Pad_D1.0mmTP:1V2
1VCCIOTestPoint:TestPoint_Pad_D1.0mmTP:3V3
1VCC_PLLTestPoint:TestPoint_Pad_D1.0mmTP:VCCPLL
1VPHYTestPoint:TestPoint_Pad_D1.0mmTP:VPHY
1VPLLTestPoint:TestPoint_Pad_D1.0mmTP:VPLL
1VREGOUTTestPoint:TestPoint_Pad_D1.0mmTP:1V8
1VS_OSCTestPoint:TestPoint_Pad_D1.0mmTP:3V3
1W25Q40CLSNIGSPI_flash_NOR_W25Q40CLSNIG:SOIC127P600X175-8NIC5

More from hack-a-tack/FPGA_Logic_Analyzer

1
  • 2 layers49.6 × 52.8 mmICE40UP5K logic analyzer, the printed circuit board in 3D

    ICE40UP5K logic analyzer

    hack-a-tack/FPGA_Logic_Analyzer

    (Info applies to rev. 1, update for later revisions (only final rev. matters in the README)) FPGA-based 8-channel logic analyzer implemented on iCE40UP5K.

    80 parts

Similar boards

  • 2 layers25.4 × 52.1 mmAtarimod, the printed circuit board in 3D

    Atarimod

    c0pperdragon/A-VideoBoard

    FPGA board to create a component video signal for vintage computers.

    14 parts71MIT
  • 2 layers118.4 × 129.7 mmNifty Numpad, the printed circuit board in 3D

    Nifty Numpad

    Acliad/Nifty-Numpad

    Full sized numpad with an extra row and two extra columns of macro keys. It was created as a companion to my TKL keyboard for CAD design.

    176 parts
  • 4 layers49.7 × 30 mmControl Board, the printed circuit board in 3D

    Control Board

    Acliad/XBOX-Sign

    A "weekend" project converting a vanity Xbox sign to the OG Xbox style

    82 parts
  • 4 layers56.1 × 57.1 mmMCL86jr, the printed circuit board in 3D

    MCL86jr

    MicroCoreLabs/Projects

    Ted Fried's MicroCore Labs Projects - FPGA CPU cores and emulators for the 8088, 8086, 8051, 6502, 68000, Z80, Risc-V, and also Typewriter and EPROM Emulator projects.

    66 parts534
  • 4 layers100 × 100 mmFpga, the printed circuit board in 3D

    Fpga

    gggmmm/pcb-spartan-3

    First attempt at PCB design using KiCad 5.1. This design contains Xilinx Spartan-3 programmable either through JTAG or Atmega328p.

    37 parts3
  • 4 layers100 × 132.5 mmIcE1usb panel, the printed circuit board in 3D

    IcE1usb panel

    osmocom/osmo-e1-hardware

    Osmocom open source E1 (TDM) hardware; mirror of https://gitea.osmocom.org/retronetworking/osmo-e1-hardware

    240 parts9
  • 2 layers60.5 × 40.1 mmPROGLOG01, the printed circuit board in 3D

    PROGLOG01

    mlab-modules/PROGLOG01

    Small low-power open-source toolchain compatible FPGA

    66 parts1
  • 2 layers192 × 192 mmMaster Matrix 4x4, the printed circuit board in 3D

    Master Matrix 4x4

    Narawit-Intusub/Board-Game

    เอกสารนี้อธิบายรายละเอียดการออกแบบทางฮาร์ดแวร์ บล็อกการทำงาน หน้าที่ของแต่ละโมดูล และโครงสร้างทางวิศวกรรมของ Master Controller Board (ไฟล์ KiCad: MasterMatrix4x4.kicadsch, MasterMatrix4x4.kicadpcb) ภายใต้สถาปัตยกรรม…

    79 parts

Questions

How big is the ICE40UP5K logic analyzer rev2 PCB?

It measures 89.7 × 82.9 mm and has 4 copper layers, 1.6 mm thick.

What parts does the ICE40UP5K logic analyzer rev2 use?

170 parts, built around the ICE40UP5K-SG48I, FT2232HL-TRAY, W25Q40CLSNIG and SN74LVC14ADBRE4. 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 ICE40UP5K logic analyzer rev2 KiCad files?

From the hack-a-tack/FPGA_Logic_Analyzer repository on GitHub, at the commit this page was made from: the board is rev2/pcb/kicad/iCE40UP5K_logic_analyzer_rev2.kicad_pcb and its schematic rev1/pcb/kicad/iCE40UP5K_logic_analyzer.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ICE40UP5K logic analyzer rev2 design in my own project?

Its repository states no licence, so its author keeps all rights: ask hack-a-tack before reusing the design.