Skip to the content
2 layers50 × 70 mmNeuromorphic ir event sensor, the printed circuit board in 3D

Neuromorphic ir event sensor

RyanHailey21/neuromorphic-ir-event-sensor

Neuromorphic Infrared Event Sensor (Rev A) - 4-Quadrant Temporal Contrast Analog Front-End in KiCad 10

Size
50 × 70 mm
Copper layers
2
Thickness
1.6 mm
Parts
123
Nets
78
Pads
340
Tracks, vias
1,172, 110
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
26 Sep 2026
Updated
27 Sep 2026

Overview

Neuromorphic ir event sensor is an open-source printed circuit board by RyanHailey21, from the RyanHailey21/neuromorphic-ir-event-sensor repository on GitHub. It is a 2-layer board of 50 × 70 mm with 123 parts on 78 nets, routed with 1,172 tracks and 110 vias.

It is built around the SN74LVC1G123DCU, TLV3202AIDR(LX) and REF3312AIDBZR, with the VBPW34S, AO3400A and BLM18AG601SN1D among its other parts. Its parts include 43 resistors, 37 capacitors, 17 ICs, 5 diodes and 3 connectors. It belongs with the sensors and measurement boards and the FPGA and CPLD boards of this library.

Main components

7

README

README.md

Neuromorphic Infrared Event Sensor (Rev A)

An analog front-end (AFE) neuromorphic infrared event sensor board designed in KiCad 10. The board implements biologically-inspired temporal contrast sensing across four quadrants (Top-Left, Top-Right, Bottom-Left, Bottom-Right), transducing rapid dynamic changes in infrared illumination into asynchronous digital spike trains suitable for direct FPGA processing.

Full Engineering Design Specification: See docs/DESIGN_SPECIFICATION.md for the frozen 74-section system boundary, optical architecture, TIA/adaptation/comparator parameters, FPGA synchronizer RTL, and verification plans.

3D Isometric View3D Top View
3D Isometric3D Top

1. System Overview & Theory of Operation

Architecture Pipeline

Each quadrant operates through an independent analog signal chain:

text
[Photodiode Pair (BPW34S)]
        │
        ▼
[Transimpedance Amplifier (TIA)]  ──> OPA381 Precision Stage (RF = 18.0k, CF = 47pF, VREF = 1.25V)
        │
        ▼
[High-Pass Differentiator (AC Coupling)] ──> Extracts Temporal Contrast (RA = 22.0k, CA = 100nF, tau = 2.2ms)
        │
        ├──> (+) Positive Threshold Comparator (TLV3202, VTH_ON = 1.29V) ──> ON Event
        └──> (-) Negative Threshold Comparator (TLV3202, VTH_OFF = 1.21V) ──> OFF Event
        │
        ▼
[Monostable Pulse Shaper (74LVC1G123)] ──> Generates Calibrated Digital Spikes (~100 µs)
        │
        ▼
[Digital SPIKE Interface] ──> 2x10 Pin Header (J_FPGA)

Optical Quadrants

  • TL (Top-Left): Quadrant 1
  • TR (Top-Right): Quadrant 2
  • BL (Bottom-Left): Quadrant 3
  • BR (Bottom-Right): Quadrant 4
  • Center Optical Barrier: Keep-out line ($Y = 27.2\text{ mm}$) separating optical photodiodes from digital pulse-shaping logic with $>1.2\text{ mm}$ clearance.

2. Hardware Specifications

ParameterSpecificationNotes
Dimensions50.0 mm × 70.0 mmRectangular form factor, 4 × M3 mounting holes at corners (3.5 mm inset)
Layer Count2 LayersTop (F.Cu), Bottom (B.Cu)
Copper Weight1 oz (35 µm)Standard FR4 substrate, 1.6 mm thickness
Ground PoursDual solid flooded planesTop and bottom ground planes interconnected with low-impedance stitching
Minimum Trace / Space0.20 mm / 0.20 mm100% compliant with standard JLCPCB / PCBWay manufacturing rules
Minimum Drill / Annular0.30 mm drill / 0.60 mm padStandard via size throughout
Silkscreen FinishCleaned Front SilkscreenSmall 0402/0603 passive and dense IC reference designators hidden on F.SilkS (preserved on F.Fab for assembly), zero silkscreen-to-pad clipping
Supply Voltage+3.3 V DCSourced via pin 2 of J_FPGA
Power Consumption< 120 mA (quiescent)Ferrite-bead isolated analog rail (FB1)

3. Connector Pinouts

J_FPGA: Digital Event Output Header (2x10, 2.54 mm Pitch)

Direct connection to FPGA GPIO bank.

PinNet NameTypeDescription
1GNDPowerSystem Ground
23V3Power+3.3 V Main Power Input
3SPIKE_ON_TLOutputQuadrant TL Positive Contrast Event
4SPIKE_OFF_TLOutputQuadrant TL Negative Contrast Event
5SPIKE_ON_TROutputQuadrant TR Positive Contrast Event
6SPIKE_OFF_TROutputQuadrant TR Negative Contrast Event
7SPIKE_ON_BLOutputQuadrant BL Positive Contrast Event
8SPIKE_OFF_BLOutputQuadrant BL Negative Contrast Event
9SPIKE_ON_BROutputQuadrant BR Positive Contrast Event
10SPIKE_OFF_BROutputQuadrant BR Negative Contrast Event
11GNDPowerDigital Return Ground
12AER_REQOutputAsynchronous Address-Event Request Line
13AER_ACKInputAsynchronous Address-Event Acknowledge
14RST_NInputActive-Low Hardware Reset
15ADDR_0OutputQuadrant Address Bit 0
16ADDR_1OutputQuadrant Address Bit 1
17POLARITYOutputSpike Polarity Indicator (1 = ON, 0 = OFF)
18CLK_SYNCInputOptional FPGA Synchronous Sampling Clock
19GNDPowerSystem Ground
203V3_AUXPowerOptional Auxiliary 3.3V Monitoring Rail

J_DEBUG: Analog Front-End Probe Header (1x6, 2.54 mm Pitch)

Convenient oscilloscope probe points for calibration and signal integrity checking.

PinNet NameTypeDescription
1GNDGroundProbe Ground Reference
2VREFAnalogPrecision Low-Noise Bias Reference (1.250 V, REF3312)
3VPHOTO_TLAnalogTransimpedance Output: TL Quadrant
4VPHOTO_TRAnalogTransimpedance Output: TR Quadrant
5VPHOTO_BLAnalogTransimpedance Output: BL Quadrant
6VPHOTO_BRAnalogTransimpedance Output: BR Quadrant

4. Circuit Simulation & SPICE Verification

The analog front-end (AFE) and asynchronous spike generation stages have undergone complete SPICE and physical state-space simulation.

Detailed Engineering Report: See docs/SIMULATION_REPORT.md for complete analytical derivations, phase margin calculations, and drift immunity proofs.

Simulation Verification Highlights (Berkeley NGSPICE 46 & Analytical MNA):

  • TIA Stability & Phase Margin: 89.1° phase margin at 7.17 MHz crossover frequency ($C_F = 47\text{ pF} \gg C_{F,opt} = 5.86\text{ pF}$). The transimpedance amplifier is strongly overdamped, ensuring zero ringing and unconditional stability.
  • Closed-Loop Bandwidth: 190.55 kHz (-3dB cutoff in NGSPICE AC analysis), passing sub-microsecond optical contrast edges while filtering RF noise.
  • Temporal Adaptation: High-pass cutoff at 69.18 Hz ($\tau_A = 2.20\text{ ms}$), rejecting steady-state ambient illumination and environmental light drift up to $1.01,\mu\text{A}/\text{ms}$ with zero false spikes.
  • Asynchronous Digital Spikes: The 74LVC1G123 monostable generates calibrated $145,\mu\text{s}$ digital CMOS pulses ($0\text{ V} \rightarrow 3.3\text{ V}$) with $< 25\text{ ns}$ comparator propagation delay.
Full AFE Transient Response (NGSPICE 46)AC Stability & Bode Response (NGSPICE 46)
Transient SimulationBode Stability
Microsecond-Scale Spike Timing Detail (NGSPICE 46)
Spike Detail

Companion Simulation Files:


5. Verification Status & DRC Sign-Off

The board has been thoroughly verified using KiCad 10 CLI verification:

  • Electrical Connections: 62 nets, 268 pins mapped, 874 track segments, 83 vias.
  • Unconnected Nets: 0 (100% routed).
  • Short Circuits: 0.
  • Clearance Violations: 0.
  • Silkscreen Violations: 0 (0 pad overlaps, 0 clipping warnings).
  • Physical Placement: 100/100 PASS (0 courtyard collisions, connectors inset $\ge 2.0\text{ mm}$ from board edge, mounting hole clearances $\ge 2.5\text{ mm}$).

6. Turnkey Production Package

Ready-to-manufacture files are located in the production/ and gerbers/ directories:

  • 3D CAD STEP Model (Full Assembly): production/neuromorphic-ir-event-sensor-revA.step (Ready for direct import into Onshape, SolidWorks, or FreeCAD for mechanical enclosure/lens housing modeling)
  • Gerbers & Drill Archive: production/neuromorphic-ir-event-sensor-revA-gerber.zip
  • Bill of Materials: production/neuromorphic-ir-event-sensor-bom.csv (92 components, 27 unique groups)
  • Pick-and-Place (CPL): production/neuromorphic-ir-event-sensor-cpl.csv

7. How to Build & Verify (CLI Commands)

Run PCB Design Rule Check (DRC)

powershell
kicad-cli pcb drc --format json -o reports/drc_report.json neuromorphic-ir-event-sensor.kicad_pcb

Export Gerbers and Drill Files

powershell
kicad-cli pcb export gerbers -o gerbers/ neuromorphic-ir-event-sensor.kicad_pcb
kicad-cli pcb export drill -o gerbers/ neuromorphic-ir-event-sensor.kicad_pcb

Run Berkeley NGSPICE 46 Circuit Simulation

powershell
python simulation/run_spice_simulation.py

Run Python Discrete State-Space Simulator

powershell
python simulation/simulate_afe.py

Parts

123
QtyValueFootprintReferences
21100nFCapacitor_SMD:C_0603_1608MetricC10, C11, C12, C13, C14, C15, C16, C26, C30, C31, C32, C33, C34, C35, C36, C37 +5
812nFCapacitor_SMD:C_0603_1608MetricC17, C18, C19, C20, C21, C22, C23, C24
8150RResistor_SMD:R_0603_1608MetricR17, R18, R19, R20, R21, R22, R23, R24
82.0MResistor_SMD:R_0603_1608MetricR32, R33, R34, R35, R36, R37, R38, R39
88.2kResistor_SMD:R_0603_1608MetricR9, R10, R11, R12, R13, R14, R15, R16
8SN74LVC1G123DCUPackage_SO:VSSOP-8_2.3x2mm_P0.5mmU9, U10, U11, U12, U13, U14, U15, U16
610.0kResistor_SMD:R_0603_1608MetricR29, R30, R40, R41, R42, R43
418.0kResistor_SMD:R_0603_1608MetricR1, R2, R3, R4
422kResistor_SMD:R_0603_1608MetricR5, R6, R7, R8
447pFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
4OPA381AIDGKRPackage_SO:MSOP-8_3x3mm_P0.65mmU1, U2, U3, U4
4TLV3202AIDRPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU5, U6, U7, U8
4VBPW34SVBPW34S:XDCR_VBPW34SD1, D2, D3, D4
310uFCapacitor_SMD:C_0805_2012MetricC27, C28, C29
2MountingHoleMountingHole:MountingHole_2.2mm_M2H5, H6
1100RResistor_SMD:R_0603_1608MetricR26
1100kResistor_SMD:R_0603_1608MetricR27
11uFCapacitor_SMD:C_0603_1608MetricC25
1301kResistor_SMD:R_0603_1608MetricR31
1499kResistor_SMD:R_0603_1608MetricR28
182RResistor_SMD:R_1206_3216MetricR25
1AO3400APackage_TO_SOT_SMD:SOT-23Q1
1Analog_DebugConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ2
1BLM18AG601SN1DInductor_SMD:L_0603_1608MetricFB1
1FPGA_Events_2x5Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_VerticalJ1
1LED_Enable_InputConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ3
1RAW_OFF_BLTestPoint:TestPoint_Pad_D1.0mmTP8
1RAW_OFF_BRTestPoint:TestPoint_Pad_D1.0mmTP10
1RAW_OFF_TLTestPoint:TestPoint_Pad_D1.0mmTP4
1RAW_OFF_TRTestPoint:TestPoint_Pad_D1.0mmTP6
1RAW_ON_BLTestPoint:TestPoint_Pad_D1.0mmTP7
1RAW_ON_BRTestPoint:TestPoint_Pad_D1.0mmTP9
1RAW_ON_TLTestPoint:TestPoint_Pad_D1.0mmTP3
1RAW_ON_TRTestPoint:TestPoint_Pad_D1.0mmTP5
1REF3312AIDBZRPackage_TO_SOT_SMD:SOT-23-3U17
1TSAL6200LED_THT:LED_D5.0mmD5
1VTH_OFFTestPoint:TestPoint_Pad_D1.0mmTP2
1VTH_ONTestPoint:TestPoint_Pad_D1.0mmTP1

Similar boards

  • 2 layers60.5 × 76.8 mmHeadphones prototype pcb, the printed circuit board in 3D

    Headphones prototype pcb

    strangeparts/niubi-headphones

    Flexible circuit board design for adding a headphone jack to an iPhone 7

    53 parts493MIT
  • 4 layers65 × 75 mmMicroduck Power Regen R22, the printed circuit board in 3D

    Microduck Power Regen R22

    ldcyes/OpenDuck

    已完成可编辑原理图、真实四层 PCB 和本地库。阶梯板面积 4510 mm²,比原 65×60 + 32×30 mm 两板总面积 4860 mm² 少 350 mm²(7.20%)。原 TDK 模块本体、四个安装孔和原 TDK 器件位置保留,回生电容采用原料号卧装,J1 因实际拔插通道冲突改为同系列 BM08 顶插。当前为工程候选,未制造,未完成热、回生瞬态、低电量或行走验收。

    84 parts
  • 2 layers94 × 99 mmInductance Meter V2-0, the printed circuit board in 3D

    Inductance Meter V2-0

    RobieElliz/esp32InductanceMeterV2

    Portable ESP32 Inductance Meter: A low-cost, high-precision tool with dual 100nF/5µF refs, a TLV3202 comparator, fast USB-C (IP2312) charging, and a 2.4-inch OLED display for real-time readings.

    86 parts20MIT
  • 4 layers100 × 100 mmSTM32 ESC HW, the printed circuit board in 3D

    STM32 ESC HW

    cej830/STM32_BLDC_ESC_Firmware

    STM32_BLDC_ESC_Firmware

    162 parts
  • 2 layers37.5 × 99 mmDiy oled 3d controller, the printed circuit board in 3D

    Diy oled 3d controller

    open3doled/open-3d-oled

    If running windows 11 or 10 with DPI scaling be sure to disable it as follows. 1) Right click properties on 3dplayer.exe in the 3DPlayer folder 2) Click on "Compatability" tab then click on the button at the bottom…

    42 parts98
  • 4 layers30 × 30 mmNeuromorphic ir sensor compact, the printed circuit board in 3D

    Neuromorphic ir sensor compact

    RyanHailey21/neuromorphic-IR-hand-assembled

    All through-hole re-implementation of the Rev A neuromorphic IR event sensor: no SMD parts, solderable with a basic iron.

    121 parts
  • 2 layers30 × 48 mmFrameprobe, the printed circuit board in 3D

    Frameprobe

    frameprobe/frameprobe

    End-to-end display latency measurement: the time from a mouse click to a visible change on screen, measured with a photodiode strapped to the monitor.

    18 parts20GPL-3.0
  • 2 layers66 × 21.5 mmCicada, the printed circuit board in 3D

    Cicada

    SnoWHandS/screaming-solar-cicada

    A cricket that chirps from indoor light

    40 parts1GPL-3.0

Questions

How big is the Neuromorphic ir event sensor PCB?

It measures 50 × 70 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Neuromorphic ir event sensor use?

123 parts, built around the SN74LVC1G123DCU, TLV3202AIDR(LX), REF3312AIDBZR and VBPW34S. 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 Neuromorphic ir event sensor KiCad files?

From the RyanHailey21/neuromorphic-ir-event-sensor repository on GitHub, at the commit this page was made from: the board is neuromorphic-ir-event-sensor.kicad_pcb and its schematic headless_candidate/neuromorphic-ir-event-sensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Neuromorphic ir event sensor design in my own project?

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