Skip to the content
2 layers160 × 125 mmReflex machine, the printed circuit board in 3D

AI-assisted KiCad PCB design pipeline: netlist -> schematic -> routed board -> fab files, with a 3D/simulation webview

Size
160 × 125 mm
Copper layers
2
Thickness
1.6 mm
Parts
125
Nets
172
Pads
442
Tracks, vias
1,041, 229
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
27 Oct 2026
Updated
28 Oct 2026

Overview

Reflex machine is an open-source printed circuit board by Mhamednoui, from the Mhamednoui/PCB_Designer repository on GitHub. It is a 2-layer board of 160 × 125 mm with 125 parts on 172 nets, routed with 1,041 tracks and 229 vias.

It is built around the 74HC595N, IRLZ44N and P6KE15A. Its parts include 55 resistors, 24 diodes, 17 connectors, 11 capacitors and 10 transistors. It belongs with the ESP32 boards of this library.

Main components

3

README

projects/reflex-machine/README.md

Reflex Machine PCB - start here

Ordering it: everything a fab or price calculator asks (size in cm, layers, holes, parts, order-form answers) is in MANUFACTURING.md - generated from the real board, regenerate with python pipeline.py reflex-machine --only fabreport. Checking the wiring without reading a PCB: CONNECTIONS.md lists every pin of every part and where it goes, in words.

10-electromagnet reflex/whack-a-mole game controller. Arduino Mega 2560 (shield-mounted) + ESP32 DevKit V1, all through-hole parts. This file tells you which other file to open next - don't read everything.

I want to...Read
Know what's done, what's pending, and open questionsHANDOVER.md
See the full build history and how it was madePROJECT_LOG.md
See the original spec and design decisionsDESIGN_BRIEF.md
Wire up the physical machineWIRING_GUIDE.md
Regenerate or change the board (schematic/PCB scripts)gen/ - see docs/NEW_BOARD_PLAYBOOK.md in the workspace root
Test the design before/after fabricationtest/README.md

Status (2026-09-17)

Board is done and verified: 160x125mm, 2-layer, ERC clean, DRC 0 errors/0 unconnected/0 parity. Fab files in out/fab/, docs+renders+STEP in out/docs/.

A pre-fabrication testing pipeline is in progress (see test/README.md):

  1. Electrical check on the real PCB file (DRC/ERC, power/signal integrity, per-magnet trace current) - done, pass.
  2. SPICE simulation of the analog subcircuits (debounce filters, coin optocoupler, level-shifter) - done, via LTspice - 9/9 filters confirmed within 0.3% of calculated values. See test/spice/REPORT.md.
  3. Functional/logic simulation (Wokwi) - input wiring confirmed (S1/S2/S3/RST/coin each pull the correct Mega pin, verified with a real scripted scenario against the real firmware). Full game-round logic not yet checked (costs simulation minutes). See test/wokwi/README.md and test/wokwi/USAGE_LOG.md.
  4. Physical bring-up self-test - ready (test/bringup/), usable once the board is manufactured.

Open questions for the user: real magnet current/coil resistance (now step 3 of the bring-up checklist), ESP32 row pitch (25.4mm assumed).

Folder layout

text
reflex-machine.kicad_sch / .kicad_pcb   the design (open in KiCad)
HANDOVER.md          current state, pending decisions - read first
PROJECT_LOG.md        full build history, part-by-part
DESIGN_BRIEF.md       spec + decisions made before designing
WIRING_GUIDE.md        user-facing wiring instructions
gen/                  scripts that generate the schematic/PCB from netlist.py (source of truth)
sim/                  PlatformIO projects to build real firmware.hex for the Mega/ESP32
test/                 pre-fabrication testing pipeline (see test/README.md)
analysis/             cached kicad-happy analyzer output
out/fab/              gerbers, BOM, CPL for JLCPCB
out/docs/             STEP, schematic PDF, renders, full BOM

Parts

125
QtyValueFootprintReferences
1510kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R42, R47, R48, R49, R50
112.2kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR31, R32, R33, R34, R35, R36, R37, R38, R39, R40, R41
10100RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR11, R12, R13, R14, R15, R16, R17, R18, R19, R20
101N5822Diode_THT:D_DO-201AD_P5.08mm_Vertical_CathodeUpD11, D12, D13, D14, D15, D16, D17, D18, D19, D20
10IRLZ44NPackage_TO_SOT_THT:TO-220-3_VerticalQ1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10
10REDLED_THT:LED_D3.0mmD21, D22, D23, D24, D25, D26, D27, D28, D29, D30
7100nFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC3, C7, C9, C10, C11, C12, C13
7470RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR55, R56, R57, R58, R59, R60, R61
61kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2, R43, R44, R45, R46, R62
4330RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR51, R52, R53, R54
2220uF 25VCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC2, C6
2GREENLED_THT:LED_D5.0mmD3, D4
2MountingHole_3.2mm_M3MountingHole:MountingHole_3.2mm_M3H1, H2
11000uF 25VCapacitor_THT:CP_Radial_D10.0mm_P5.00mmC1
110A mini bladeFuse:Fuseholder_Blade_Mini_Keystone_3568F1
112V_INTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-3-2-5.08_1x02_P5.08mm_HorizontalJ1
11N4007Diode_THT:D_DO-41_SOD81_P7.62mm_HorizontalD2
11nFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC8
12kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR63
14.7kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
15V 2A module (K7805-2000R3)Converter_DCDC:Converter_DCDC_RECOM_R-78B-2.0_THTU1
174HC595NPackage_DIP:DIP-16_W7.62mmU3
17SEGTerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-8-3.5-H_1x08_P3.50mm_HorizontalJ15
1Arduino Mega 2560 R3arduino-library:Arduino_Mega2560_R3_ShieldA1
1BUTTONSTerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-8-3.5-H_1x08_P3.50mm_HorizontalJ13
1COINTerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-3-3.5-H_1x03_P3.50mm_HorizontalJ12
1ESP32 DevKit V1 (30 pin)reflex:ESP32_DevKit_V1_30pin_SocketA2
1ESP32 SPAREConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ17
1MAG1TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ2
1MAG10TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ11
1MAG2TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ3
1MAG3TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ4
1MAG4TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ5
1MAG5TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ6
1MAG6TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ7
1MAG7TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ8
1MAG8TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ9
1MAG9TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ10
1MEGA SPAREConnector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_VerticalJ16
1P6KE15ADiode_THT:D_DO-15_P10.16mm_HorizontalD1
1PC817Package_DIP:DIP-4_W7.62mmU2
1STATUS_LEDSTerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-8-3.5-H_1x08_P3.50mm_HorizontalJ14

More from Mhamednoui/PCB_Designer

2
  • 2 layers70 × 45 mmBlinky-555, the printed circuit board in 3D

    Blinky-555

    Mhamednoui/PCB_Designer

    AI-assisted KiCad PCB design pipeline: netlist -> schematic -> routed board -> fab files, with a 3D/simulation webview

    13 parts
  • 2 layers68.6 × 53.3 mmUno toggle, the printed circuit board in 3D

    Uno toggle

    Mhamednoui/PCB_Designer

    AI-assisted KiCad PCB design pipeline: netlist -> schematic -> routed board -> fab files, with a 3D/simulation webview

    9 parts

Similar boards

  • 2 layers100 × 50 mmBldcboard, the printed circuit board in 3D

    Bldcboard

    DaWelter/RCCar

    Code and materials for my RC model car project

    112 parts5
  • 2 layers106 × 68.2 mmRC Multiswitch Sound ESP32-S3, the printed circuit board in 3D

    RC Multiswitch Sound ESP32-S3

    mnorden81/RC-Multiswitch-Sound-ESP32-S3

    CRSF Multiswitch plus Soundmodul, ESP32-S3-DevKitC-1, KiCad und Firmware

    39 parts1
  • 2 layers100 × 197.6 mmPsu breakout, the printed circuit board in 3D

    Psu breakout

    techana/psu-breakout

    ATX/AT PSU breakout boards — passive 2-layer PCB with banana jacks for bench testing of vintage and modern PC power supplies

    100 parts
  • 4 layers130 × 131.3 mmShuffleboard, the printed circuit board in 3D

    Shuffleboard

    anhvuknguyen/Shuffleboard

    Intro to Embedded Systems Final Project

    72 parts
  • 2 layers120 × 80 mmClock i2c l0, the printed circuit board in 3D

    Clock i2c l0

    ekibanu4/STM_32_Clock

    test project for binary clock based in stm32 f4070disk

    77 parts
  • 2 layers218 × 218 mmChessBoard, the printed circuit board in 3D

    ChessBoard

    Odissus/ChessBoard

    Interactive chess board design based on Arduino and ESP32

    143 parts
  • 4 layers130 × 131.3 mmShuffleboard, the printed circuit board in 3D

    Shuffleboard

    rbala25/shuffleboard

    Multiplayer Shuffleboard — Embedded Firmware (C), PCB Design, Mixed-Signal I/O, and Display + Audio Integration

    72 parts
  • 2 layers78.4 × 64.8 mmPowerNode2, the printed circuit board in 3D

    PowerNode2

    utahrobotics/Electrical-2019-2020

    67 partsMIT

Questions

How big is the Reflex machine PCB?

It measures 160 × 125 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Reflex machine use?

125 parts, built around the 74HC595N, IRLZ44N and P6KE15A. 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 Reflex machine KiCad files?

From the Mhamednoui/PCB_Designer repository on GitHub, at the commit this page was made from: the board is projects/reflex-machine/reflex-machine.kicad_pcb and its schematic projects/blinky-555/blinky-555.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Reflex machine design in my own project?

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