
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.

เอกสารนี้อธิบายรายละเอียดการออกแบบทางฮาร์ดแวร์ บล็อกการทำงาน หน้าที่ของแต่ละโมดูล และโครงสร้างทางวิศวกรรมของ Master Controller Board (ไฟล์ KiCad: MasterMatrix4x4.kicadsch, MasterMatrix4x4.kicadpcb) ภายใต้สถาปัตยกรรม…
Master Matrix 4x4 is an open-source printed circuit board by Narawit-Intusub, from the Narawit-Intusub/Board-Game repository on GitHub. It is a 2-layer board of 192 × 192 mm with 79 parts on 60 nets, routed with 223 tracks and 4 vias.
It is built around the SN74AHCT1G125DBVR(UMW), SMAJ5.0A and OS102011MA1QN1. Its parts include 2 capacitors, 2 resistors, 2 ICs and 1 switch. It belongs with the lEDs and displays boards and the ESP32 boards of this library.
เอกสารนี้อธิบายรายละเอียดการออกแบบทางฮาร์ดแวร์ บล็อกการทำงาน หน้าที่ของแต่ละโมดูล และโครงสร้างทางวิศวกรรมของ Master Controller Board (ไฟล์ KiCad: Master_Matrix_4x4.kicad_sch, Master_Matrix_4x4.kicad_pcb) ภายใต้สถาปัตยกรรม Dual-MCU Smart Tile Grid
Master Controller Board ขนาดแผ่น $192.0 \times 192.0\text{ mm}$ ($19.2 \times 19.2\text{ cm}$) แบ่งเป็น 16 ช่องตาราง ($4 \times 4$ Cells ช่องละ $48.0 \times 48.0\text{ mm}$) แต่ละช่องติดตั้งไฟ LED 4 ดวงแบบ $2 \times 2$ (รวม 64 หลอด) ทำหน้าที่เป็นทั้ง พื้นที่เล่นในตัว และ เกตเวย์เชื่อมต่อกับคอมพิวเตอร์/Unity
บอร์ดแม่รวมไมโครคอนโทรลเลอร์ 2 ตัวไว้บนแผ่นเดียว เพื่อแยกบทบาทหน้าที่อย่างชัดเจน:
ESP32 Gateway (U1):
ATtiny1604 Master Tile Controller (U_ATTINY):
LINK_TXUnity Game Engine
│ USB DATA
▼
+-------------------------------------------------------------------------+
| Master Controller Board |
| |
| [ J_NORTH (Female Mag-4P) ] |
| (VBUS, Link TX, Link RX, GND) |
| ^ |
| | |
| [ POWER INPUT ] +----+----+ |
| [ USB TO UNITY ] | ATtiny | <---> [ J_EAST (Female) ] |
| │ | 1604 | (VBUS, TX, RX, GND) |
| ▼ | Master | |
| +-----------+ Internal +----+----+ |
| | ESP32 | UART | DIN_LOCAL (5V Logic) |
| | Gateway | ----------> v |
| +-----------+ (Level Shift)+---------------+ |
| │ | LED Matrix | (MOD1 -> MOD2 -> .. MOD16|
| (System Mgmt) | (64 LEDs) | (Local Driving Only) |
| (West Edge) +---------------+ |
| | |
| v |
| [ J_SOUTH (Male Mag-4P) ] |
| (VBUS, Link TX, Link RX, GND) |
+-------------------------------------------------------------------------+บอร์ด Master ติดตั้งขั้วต่อแม่เหล็กที่ขอบบอร์ด 3 ด้านเท่านั้น ได้แก่ North, East, South (เว้นด้าน West ไว้สำหรับช่องรับไฟหลักและพอร์ต USB เชื่อมต่อคอมพิวเตอร์):
$$\text{Pin 1: [ VBUS ]} \quad \vert \quad \text{Pin 2: [ LINK_TX ]} \quad \vert \quad \text{Pin 3: [ LINK_RX ]} \quad \vert \quad \text{Pin 4: [ GND ]}$$
Female Connector (North / East) Male Connector (South)
+---------------------+ +---------------------+
| (1) (2) (3) (4) | | (1) (2) (3) (4) |
| VBUS LinkTX LinkRX GND| | GND LinkTX LinkRX VBUS|
+---------------------+ +---------------------+LINK_TX ขั้วต่อแม่เหล็ก N/E/S ไปยังบอร์ดลูก74AHCT1G125; ทิศ ATtiny → ESP32 ใช้ตัวแบ่งแรงดัน 10kΩ/20kΩ เพื่อจำกัดสัญญาณประมาณ 3.3V+3V3 แยกทั้ง SDA และ SCLหลักการจ่ายไฟของระบบ:
Power Input
└──► Master Protection
└──► VBUS ผ่านขั้วต่อแม่เหล็ก
└──► Local Power Converter ในแต่ละ Tile
└──► 5V คงที่สำหรับขับ LED และเลี้ยง ATtiny1604[!NOTE] การกำหนดสเปกภาคจ่ายไฟ:
- บัสส่งไฟระหว่างบอร์ดใช้ชื่อกลางว่า
VBUSเพื่อรองรับการทดสอบแรงดันที่เหมาะสม (เช่น 5V ตรง หรือ 9V–12V ร่วมกับ Local Step-Down Converter) เพื่อลดปัญหากระแสสูงและแรงดันตกคร่อมบนพินแม่เหล็ก- สเปกของ Power Input, พิกัดแรงดัน VBUS, วงจรตรวจวัดกระแส, และเบอร์ไดโอด TVS จะถูกกำหนดอย่างเป็นทางการหลังทราบพิกัดกระแสจริงของหัวแม่เหล็กและกำลังวัตต์สูงสุดของ LED ทั้งระบบ (ไม่ล็อกเบอร์ SMAJ5.0A หาก VBUS ถูกปรับขึ้นสูงกว่า 5V)
- ตัวต้านทาน CC 5.1kΩ บนพอร์ต Type-C ทำหน้าที่ระบุสถานะ Sink พื้นฐาน ไม่ได้รับรองการจ่าย 5V/3A และไม่ใช่ระบบ USB-PD
R_BUSเป็น DNP โดยปริยาย ห้ามประกอบเป็น 0Ω จนกว่าจะยืนยันว่าใช้ VBUS 5V แบบจำกัดกระแส หากต้องการขยายหลาย Tile ให้แทนตำแหน่งนี้ด้วย Local Power Converter ที่เลือกตามพิกัดจริง- ขา
VCC_(USB)ของโมดูล ESP32 ไม่ผูกเข้ากับราง+5Vภายนอก เพื่อป้องกันการป้อนไฟย้อนเข้าสาย USB Data ของคอมพิวเตอร์
LINK_TX): ATtiny Master ส่งออกทาง LINK_TX ซึ่งเชื่อมขนานไปยังขั้วต่อ N, E, S สัญญาณจะออกไปยังเพื่อนบ้านทุกด้านพร้อมกันSource ID, Destination ID, Sequence Number, Frame Number, TTL, และ CRC ทุกโหนดจะไม่ประมวลผล Packet เดิมซ้ำLINK_RX แยกตามทิศทาง (LINK_RX_N, LINK_RX_E, LINK_RX_S) เมื่อได้รับข้อความ HELLO ทางขาใด จะทำให้ ATtiny ทราบทิศทางและบอร์ดที่เชื่อมต่ออยู่ทันที และส่งรายงานกลับไปยัง ESP32| Qty | Value | Footprint | References |
|---|---|---|---|
| 16 | 100n | Capacitor_SMD:C_0805_2012Metric | C_MOD1, C_MOD2, C_MOD3, C_MOD4, C_MOD5, C_MOD6, C_MOD7, C_MOD8, C_MOD9, C_MOD10, C_MOD11, C_MOD12, C_MOD13, C_MOD14, C_MOD15, C_MOD16 |
| 16 | PTH_4P_IN | J_IN1, J_IN2, J_IN3, J_IN4, J_IN5, J_IN6, J_IN7, J_IN8, J_IN9, J_IN10, J_IN11, J_IN12, J_IN13, J_IN14, J_IN15, J_IN16 | |
| 16 | PTH_4P_OUT | J_OUT1, J_OUT2, J_OUT3, J_OUT4, J_OUT5, J_OUT6, J_OUT7, J_OUT8, J_OUT9, J_OUT10, J_OUT11, J_OUT12, J_OUT13, J_OUT14, J_OUT15, J_OUT16 | |
| 16 | WS2812_Matrix_2x2 | ws2812-matrix-2x2:WS2812_Matrix_2x2_15x15mm | MOD1, MOD2, MOD3, MOD4, MOD5, MOD6, MOD7, MOD8, MOD9, MOD10, MOD11, MOD12, MOD13, MOD14, MOD15, MOD16 |
| 2 | 100n | Capacitor_SMD:C_0603_1608Metric | C1, C2 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R_CC1, R_CC2 |
| 1 | 100uF | Capacitor_SMD:C_1206_3216Metric | C_BULK1 |
| 1 | 10k | Resistor_SMD:R_0603_1608Metric | R2 |
| 1 | 330R | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 74AHCT1G125 | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | Mag_East (Female) | Library:fakemag4pin90degFemale | J_EAST1 |
| 1 | Mag_North (Female) | Library:fakemag4pin90degFemale | J_NORTH1 |
| 1 | Mag_South (Male) | Library:fakemag4pin90degMale | J_SOUTH1 |
| 1 | SMAJ5.0A | Diode_SMD:D_SMA | D_TVS1 |
| 1 | SW_SPDT | Button_Switch_THT:SW_Slide_SPDT_Angled_CK_OS102011MA1Q | SW1 |
| 1 | USB_C_6P_3A_5V_IN | Connector_USB:USB_C_Receptacle_6P_SMD | J_PWR1 |
| 1 | esp32-wemos-d1-mini | esp32-wemos-d1-mini:esp32-wemos-d1-mini | U1 |

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.


hasenbanck/remram
32bit STM32F7 based 3D printing controller using TMC2130 stepper driver

ageppert/Brushless-Motor-Biz-Card
A brushless motor and driver built in to a business card form-factor for learning and experimenting!

porast1/suspension-telemetry
Suspension telemetry system for mountain bike or dirt bike


leeyumsk/IRL-Subtitles
Using techniques similar to human perception to localize sounds and speakers.

axpaul/KinetiCoreDC
Compact STM32G0-based DC motor controller board featuring TI DRV8874 H-bridge drivers, RS485 communication, optoisolated I/O, and hardware power protection.
It measures 192 × 192 mm and has 2 copper layers, 1.6 mm thick.
79 parts, built around the SN74AHCT1G125DBVR(UMW), SMAJ5.0A and OS102011MA1QN1. 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 Narawit-Intusub/Board-Game repository on GitHub, at the commit this page was made from: the board is hardware/master/Master_Matrix_4x4.kicad_pcb and its schematic hardware/master/Master_Matrix_4x4.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 Narawit-Intusub before reusing the design.