

Fiberboard logic min
Fiberboard là bo mạch điều khiển logic tích hợp (AIO), không có driver stepper Nema. Cùng chức năng module ESP32 công nghiệp thông dụng: 4 ngõ vào cách ly + 4 relay + RS485.
- Size
- 95 × 85 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 108
- Nets
- 75
- Pads
- 363
- Tracks, vias
- 0, 0
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 6 Oct 2026
- Updated
- 11 Oct 2026
Overview
Fiberboard logic min is an open-source printed circuit board by nguyenduchan, from the nguyenduchan/fiberboard repository on GitHub. It is a 2-layer board of 95 × 85 mm with 108 parts on 75 nets.
It is built around the CH340C, ESP32-WROOM-32E and XL1509-5.0, with the EL357N-G, SP3485EN-Y and TLV1117-33DCY among its other parts. Its parts include 36 resistors, 20 diodes, 18 capacitors, 13 ICs and 6 transistors. It belongs with the ESP32 boards of this library.
Main components
11CH340C
SOP-16-20℃~+70℃ 2Mbps 3.3V、5V 50uA 7mA Transceiver USB 2.0 SOP-16 USB Converters ROHSWCH (Nanjing Qinheng Microelectronics)USB ConvertersESP32-WROOM-32E
SMD,18x25.5mmSMD,18x25.5mm WiFi Modules ROHSEspressif SystemsWiFi ModulesXL1509-5.0
SOIC-8-40℃~+125℃ 1 150kHz 2A 2mA 4.5V~40V 5V Buck Buck Built-in Fixed No SOIC-8 DC-DC Converters ROHSUMWDC-DC ConvertersEL357N-G
SOP-4_L4.4-W4.1-P2.54-LS7.0SOP-4-2.54mm New Arrivals ROHSEverlight ElectronicsUncategorisedSP3485EN-Y
SOP-8SOP-8 RS-485 / RS-422 ICs ROHSYLPTECRS-485 / RS-422 ICsTLV1117-33DCY
UncategorisedTexas Instruments1N4148W
SOD-123150mA 1A 1V@50mA 1uA@75V 400mW 4ns 75V Independent SOD-123 Switching Diodes ROHSSTMicroelectronicsSwitching DiodesMMBT3904
SOT-23-55℃~+150℃ 1 NPN 100 100nA 200mA 200mW 300MHz 300mV 40V 6V NPN SOT-23 Bipolar (BJT) ROHSJiangsu Changjing Electronics Technology (CJ)Bipolar (BJT)HF3FF/024-1ZS
插件,19x15.2mm-40℃~+85℃ 1.6kΩ 100mΩ 10ms 24V 360mW 5 5ms AgCdO Non-Polarized - Single Coil One set changeover: 1C (SPDT - changeover) 插件,19x15.2mm Power Relays ROHSHFPower RelaysSS14
SMA(DO-214AC)-55℃~+150℃ 1A 25A 300uA@40V 40V 550mV@1A Independent SMA(DO-214AC) Schottky Diodes ROHSMDDSchottky DiodesSS34
SMA(DO-214AC)-55℃~+125℃ 3A 40V 500uA@40V 550mV@3A Independent SMA(DO-214AC) Schottky Diodes ROHSMDDSchottky Diodes
README
README.mdFiberboard
Fiberboard là bo mạch điều khiển logic tích hợp (AIO), không có driver stepper Nema. Cùng chức năng module ESP32 công nghiệp thông dụng: 4 ngõ vào cách ly + 4 relay + RS485. Dùng cho bơm DC, cấp liệu feeder, báo vật thể lạ và mini filler. Bố trí I/O giống module thương mại: cọc 8P cho 4 ngõ vào (SIG/GND), 4 cọc 3P cho 4 relay, cọc RS485, cọc nguồn.
Trên bo có module ESP32-WROOM-32E hàn thẳng (không còn đế cắm DevKitC) và giắc nạp/debug rời J13 (hàng chân 1×5: GND, TX, RX, IO0, EN) cắm mạch USB-UART 3,3 V hoặc ESP-Prog bên ngoài, kèm nút BOOT/EN. Không còn chip USB-UART và cổng USB trên bo. Nguồn vào 24 VDC. Bốn relay SRD / HF3FF cuộn 24 V (SPDT, COM/NO/NC, mỗi relay cách ly opto khỏi MCU), bốn ngõ vào cách ly PC817 (IN1–IN4) và RS485. Mỗi giắc vào/ra có đèn SMD 0805 sát cọc. Trong cột nguồn có đèn debug: D27 sáng khi +24 V sau bảo vệ còn điện, D6 khi LDO ra 3,3 V. Không có header OLED trên bo.
Kho mã này chỉ chứa thiết kế KiCad và script sinh mạch/layout. Phần mềm nhúng (firmware) không có trong kho.
Ghi chú thiết kế chi tiết: pcb/DESIGN_NOTES.txt
Khối bảo vệ 24 V + buck: pcb/PWR_24V_PROTECT_BUCK_GUIDE.txt
Chức năng các khối
| Khối | Mô tả |
|---|---|
| MCU | ESP32-WROOM-32E (U1) hàn thẳng, ăng-ten sát mép phải bo (vùng ANT_KEEPOUT cấm đồng) |
| Nạp firmware | Giắc J13 (GND, TX, RX, IO0, EN) → mạch nạp rời; mạch nạp không cấp nguồn cho bo. Nạp tay: giữ SW1 (BOOT), nhấn SW2 (EN). TX/RX ghi theo phía ESP32 (nối chéo với RX/TX của mạch nạp) |
| Nguồn | VIN 24 V → F1 (đế 5×20 có nắp) → D7 TVS SMAJ24A → Q12 AO3401A (chống ngược cực) → C4 → XL1509-5.0 → +5V → TLV1117 → 3,3 V. Cuộn relay lấy thẳng +24V. Chỉ một cầu chì F1. Mass sao tại NT1 |
| Đầu vào số | 4 ngõ cách ly PC817 (EL357N) trên một cọc 8P J3 chỉ có SIG + GND (không cấp 24 V ra cảm biến). Mỗi ngõ nhận áp 9–24 V (PNP / thiết bị tự cấp / công tắc khô có nguồn ngoài) so với GND: R 4,7 kΩ → LED opto, diode ngược chống đảo cực, TVS SMF28A, tụ lọc 100 nF phía MCU (~1 ms chống nhiễu) |
| Đầu ra | 4 relay HF3FF/024-1ZS (COM/NO/NC) trên J5/J6/J7/J12. Mỗi relay có opto cách ly EL357N giữa GPIO và tầng cuộn: GPIO → R 1 kΩ → LED opto; phía 24 V opto → đáy MMBT3904 (kéo xuống bằng 10 kΩ) → kéo thấp cuộn; flyback 1N4148W. Tổng cộng 8 opto (4 ngõ vào + 4 relay). Tiếp điểm hở — tải cảm lớn: snubber/diode tại tải |
Bảo vệ trên bo (tóm tắt): F1 đế 5×20 có nắp, ống sứ 4 A thay bằng tay; D7, C15, Q12 và C4/C14 ở nguồn vào; mass NT1 (một điểm); ngõ vào hiện trường qua opto; RS485 D9. Lắp tủ: nguồn 24 V ≥ 1,5–2 A, dây xoắn, IEC 61000-6-2; dừng khẩn / SIL — phần cứng an toàn riêng.
Đầu nối ra ngoài (I/O)
Cạnh dài trên (trái → phải): J1 | J3 — nguồn vào 24 V, 4 ngõ vào cách ly IN1–IN4 (cọc 8P).
Cạnh dài dưới (trái → phải): J5 | J6 | J7 | J12 | J8 — relay 1, relay 2, relay 3, relay 4, RS485.
| Ref | Tên | Chân | Ý nghĩa |
|---|---|---|---|
| J1 | VIN | 1 / 2 | +24 VDC / mass |
| J3 | IN1–IN4 | 1…8 | SIG1 / GND / SIG2 / GND / SIG3 / GND / SIG4 / GND (nhãn in I1 G I2 G I3 G I4 G) |
| J5, J6, J7, J12 | RELAY 1–4 | 1 / 2 / 3 | COM / NO / NC |
| J8 | RS485 | 1 / 2 / 3 | A / B / mass logic |
| J13 | NẠP | 1…5 | GND / TX (IO1) / RX (IO3) / IO0 / EN — hàng chân 2,54 mm trong lòng bo, cạnh nút BOOT/EN |
Cọc đấu dây hiện trường — cọc vít 5,08 mm liền khối
| Hạng mục | Khuyến nghị |
|---|---|
| Trên PCB | Cọc vít liền khối bước 5,08 mm (loại KF128-5.08-xP, chân ngang). Footprint Fiberboard:Terminal_2EDG5.08-… dùng chung bước chân 5,08 mm và lỗ 1,3 mm; kiểm tra bản vẽ cơ khí của cọc đã chọn (độ sâu thân, hướng cắm dây) trước khi đặt hàng |
| Dây ra hiện trường | Siết dây thẳng vào cọc, không cần đầu đực. Muốn cọc cắm rút thì đổi lại sang 2EDG5.08 cái + đực (đắt hơn ~$4–8 mỗi bo) |
| J1 | 2P · J3 8P (4 ngõ vào) · J5, J6, J7, J8, J12 3P (RS485: cáp xoắn có bọc chắn, nối mass một đầu) |
GPIO ESP32-WROOM-32E (tham chiếu firmware)
| GPIO | Tín hiệu | Hướng | Ghi chú |
|---|---|---|---|
| IO25 | IN1 | Vào | Ngõ vào 1 (sau opto, kéo lên 10 kΩ, tích cực thấp) |
| IO26 | IN2 | Vào | Ngõ vào 2 |
| IO32 | IN3 | Vào | Ngõ vào 3 |
| IO33 | IN4 | Vào | Ngõ vào 4 |
| IO27 | OUT_RLY1 | Ra | Relay 1 qua opto (mức cao = hút) |
| IO13 | OUT_RLY2 | Ra | Driver relay 2 |
| IO18 | OUT_RLY3 | Ra | Driver relay 3 |
| IO19 | OUT_RLY4 | Ra | Driver relay 4 |
| IO16 | RS485_RX | Vào | UART RX (SP3485) |
| IO17 | RS485_DE | Ra | DE và RE# chung (kéo xuống 10 kΩ = nghe) |
| IO23 | RS485_TX | Ra | UART TX |
| IO22 | LED_RUN | Ra | Đèn RUN, kéo thấp = sáng |
| IO1 / IO3 | UART0 TX / RX | — | Ra giắc J13 để nạp/log |
| IO0 | BOOT | — | Nút SW1 + chân J13 |
Chưa dùng: IO4, IO21, IO34/35/36/39 (chỉ vào). Tránh dùng chân strapping IO0/2/5/12/15 cho vào/ra.
Thư mục trong kho mã
| Đường dẫn | Vai trò |
|---|---|
pcb/fiberboard-logic.kicad_pro | Dự án KiCad 10 (sơ đồ + PCB) |
pcb/DESIGN_NOTES.txt | Ghi chú nguồn, layout, GPIO |
pcb/PWR_24V_PROTECT_BUCK_GUIDE.txt | Khối bảo vệ 24 V và buck |
pcb/BOM.txt | BOM đầy đủ + giá VND (sinh bằng pcb/scripts/make_bom.py) |
pcb/ASSEMBLY.txt | Vùng lắp ráp tùy chọn theo giắc (DNP cả nhóm) |
pcb/libraries/ | Symbol và footprint Fiberboard |
pcb/scripts/generate_kicad_project.py | Sinh lại sơ đồ/PCB/thư viện |
pcb/scripts/connectivity.py | Danh sách linh kiện, mạng và kết nối |
pcb/scripts/pcb_layout.py | Vị trí footprint, silk I/O, vùng ăng-ten |
pcb/scripts/make_bom.py | Sinh BOM.txt từ danh sách linh kiện |
pcb/scripts/autoroute.py | Đi dây tự động (A* trên lưới 0,1 mm, 2 lớp; lõi tăng tốc bằng numba trong maze_nb.py). Chạy sau generate_kicad_project.py: python pcb/scripts/autoroute.py --passes 7 --png route.png |
Bản minimum (giá thấp nhất, chưa có bảo vệ)
Sinh bằng biến thể min, ghi ra file riêng pcb/fiberboard-logic-min.* và pcb/BOM_min.txt (bản đủ bảo vệ giữ nguyên):
FIBER_VARIANT=min python pcb/scripts/generate_kicad_project.py
FIBER_VARIANT=min python pcb/scripts/make_bom.pyTrên PowerShell: $env:FIBER_VARIANT='min'; python pcb/scripts/generate_kicad_project.py.
| Giữ | Bỏ |
|---|---|
| 8 opto (4 ngõ vào + 4 cách ly relay), R 4,7 kΩ + diode ngược + tụ lọc ngõ vào, diode flyback relay, đèn nguồn 24 V và 4 đèn relay, mass sao NT1 | Cầu chì F1, TVS D7 và TVS ngõ vào D39–D42, TVS RS485 D9, P-FET chống ngược Q12 (+R17/R63), C15, đèn ngõ vào / RS485 / 3V3 / RUN |
Cắm ngược nguồn hoặc quá dòng sẽ hỏng bo; bảo vệ sẽ đánh giá và thêm lại sau. Giá linh kiện trên PCB khoảng 134 – 306k VND (bản đủ bảo vệ 155 – 361k).
Kích thước: PCB 95 × 85 mm (vừa hộp nhựa PLC 115×90×40 mm, lòng ~95×90; cần xác nhận lại bằng số đo thật). Bố trí:
- Cạnh trên, trái → phải: J1 nguồn, J3 cọc 8P bốn ngõ vào (SIG/GND), J8 RS485. Cạnh dưới: 4 cọc relay J5/J6/J7/J12.
- ESP32-WROOM-32E sát mép phải, dải cấm ăng-ten x ≥ 86,5 mm (không đụng 4 relay); buck, nút BOOT/EN và giắc nạp J13 nằm giữa bo.
- Cần hộp có lỗ cọc ở cả hai cạnh dài (25 chân 5,08 mm không vừa một cạnh 95 mm).
- Linh kiện chiếm ~55% diện tích bo.
Cách làm việc
| Bước | Việc cần làm |
|---|---|
| 1 | Mở pcb/fiberboard-logic.kicad_pro trong KiCad 10 |
| 2 | Sau khi sửa Python: python pcb/scripts/generate_kicad_project.py (cần KiCad 10; đường dẫn KiCad trong script) |
| 3 | python pcb/scripts/autoroute.py --passes 7 rồi refill pour GND và GND_PWR tại điểm sao NT1 |
| 4 | Chạy DRC trong KiCad; kiểm tra tay vùng ăng-ten (ANT_KEEPOUT) và chân giắc nạp J13 |
| 5 | python pcb/scripts/make_bom.py sinh lại BOM |
Kích thước bo và vỏ
Vỏ: hộp PLC 145 × 90 × 40 mm (mã 145T-1D). Giắc nhà máy nằm trên cạnh dài (~20 vị trí, pitch 5 mm). Lòng thân khoảng 125 × 90 mm. PCB 118 × 84 mm.
| Hạng mục | Giá trị |
|---|---|
| PCB | 118 × 84 mm, 2 lớp FR4, 1,6 mm |
| Vỏ | Hộp PLC ABS 145 × 90 × 40 mm (relay HF3FF cao ~15,5 mm) |
| Giắc | Cạnh dài trên: J1 nguồn vào, J3 bốn ngõ vào. Cạnh dài dưới: J5/J6/J7/J12 relay, J8 RS485 |
| Lắp ráp | SMD ưu tiên; domino, relay HF3FF, đế cầu chì xuyên lỗ hàn tay |
Ước giá linh kiện (tham chiếu)
Chi tiết từng mã: pcb/BOM.txt. Tóm tắt (lẻ VN, 1 bo, ±30%):
| Hạng mục | Khoảng (k VND) |
|---|---|
| Linh kiện trên PCB (gồm module ESP32) | ~155 – 361 |
| PCB 2 lớp 118×84 mm | ~25 – 120 |
| Lắp đủ một máy | ~180 – 481 (chưa gồm mạch nạp rời ~25–80k, dùng chung nhiều bo) |
Parts
108| Qty | Value | Footprint | References |
|---|---|---|---|
| 18 | 10k | Resistor_SMD:R_0805_2012Metric | R10, R14, R26, R27, R28, R39, R47, R48, R49, R52, R55, R58, R61, R65, R66, R67 +2 |
| 9 | 100nF | Capacitor_SMD:C_0805_2012Metric | C5, C9, C11, C18, C28, C29, C30, C31, C32 |
| 8 | 1N4148W | Diode_SMD:D_SOD-123 | D3, D4, D5, D33, D35, D36, D37, D38 |
| 8 | EL357N | Package_SO:SOP-4_3.8x4.1mm_P2.54mm | U5, U6, U9, U10, U11, U12, U13, U14 |
| 6 | MMBT3904 | Package_TO_SOT_SMD:SOT-23 | Q3, Q4, Q5, Q13, Q14, Q15 |
| 5 | 1k | Resistor_SMD:R_0402_1005Metric | R24, R25, R29, R59, R62 |
| 4 | 1k | Resistor_SMD:R_0805_2012Metric | R11, R12, R13, R64 |
| 4 | 4.7k | Resistor_SMD:R_1206_3216Metric | R7, R8, R57, R60 |
| 4 | HF3FF/024-1ZS | Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C | K1, K2, K3, K4 |
| 4 | M3 | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | 100nF 50V | Capacitor_SMD:C_0805_2012Metric | C14, C17 |
| 2 | 10R | Resistor_SMD:R_0805_2012Metric | R18, R19 |
| 2 | 10uF | Capacitor_SMD:C_0805_2012Metric | C7, C8 |
| 2 | 5.1k | Resistor_SMD:R_0805_2012Metric | R50, R51 |
| 1 | 10uF 50V | Capacitor_SMD:C_1206_3216Metric | C16 |
| 1 | 120R | Resistor_SMD:R_0805_2012Metric | R15 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric | C10 |
| 1 | 220uF 10V | Capacitor_SMD:CP_Elec_6.3x5.4 | C2 |
| 1 | 220uF 50V | Capacitor_SMD:CP_Elec_10x10.5 | C4 |
| 1 | 22uF | Capacitor_SMD:C_0805_2012Metric | C3 |
| 1 | 24V | LED_SMD:LED_0805_2012Metric | D27 |
| 1 | 47uH 6045 | Inductor_SMD:L_Sunlord_SWPA6045S | L1 |
| 1 | 485 | LED_SMD:LED_0603_1608Metric | D20 |
| 1 | 485+IN1-4 | Fiberboard:Terminal_2EDG5.08-1x11T_P5.08mm_Horizontal | J3 |
| 1 | BOOT | Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A | SW1 |
| 1 | CH340C | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U8 |
| 1 | EN | Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A | SW2 |
| 1 | ESP32-WROOM-32E | RF_Module:ESP32-WROOM-32E | U1 |
| 1 | IN1 | LED_SMD:LED_0603_1608Metric | D15 |
| 1 | IN2 | LED_SMD:LED_0603_1608Metric | D16 |
| 1 | IN3 | LED_SMD:LED_0603_1608Metric | D31 |
| 1 | IN4 | LED_SMD:LED_0603_1608Metric | D32 |
| 1 | RLY1 | LED_SMD:LED_0805_2012Metric | D17 |
| 1 | RLY1-4 | Fiberboard:Terminal_2EDG5.08-1x12T_P5.08mm_Horizontal | J5 |
| 1 | RLY2 | LED_SMD:LED_0805_2012Metric | D18 |
| 1 | RLY3 | LED_SMD:LED_0805_2012Metric | D19 |
| 1 | RLY4 | LED_SMD:LED_0805_2012Metric | D34 |
| 1 | SP3485EN | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U7 |
| 1 | SS14 | Diode_SMD:D_SOD-123 | D44 |
| 1 | SS34 | Diode_SMD:D_SMA | D8 |
| 1 | TLV1117-33 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U3 |
| 1 | USB-C | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J11 |
| 1 | VIN | Fiberboard:Terminal_2EDG5.08-1x02T_P5.08mm_Horizontal | J1 |
| 1 | XL1509-5.0 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U2 |
Similar boards
- 2 layers

- 2 layers148.3 × 69 mm

- 2 layers76.8 × 100 mm

Project CV
KazimGL/ESP32-PowerIoT-DevBoard
ESP32 battery-powered IoT dev board with Li-ion charging, protection, and sensor support — designed in KiCad
62 parts - 2 layers81.3 × 72.9 mm

- 2 layers90 × 60 mm

- 2 layers84 × 66 mm

Pomodoro timer v5 routed
hinewboy/pomodoro-timer
番茄钟 PCB 项目(KiCad):原理图、布局布线自动化脚本、JLCPCB 打样生产文件
46 partsMIT - 2 layers100 × 85 mm

ESP32 MediaCarrier routed
xmyoot/esp32-media-carrier
ESP32 multimedia carrier board with 7–24 V DC buck regulator, 3.2 W Class-D I2S audio amp, WS2812 LED ring driver, and SPI TFT display header
97 partsMIT - 2 layers50 × 50 mm

Questions
How big is the Fiberboard logic min PCB?
It measures 95 × 85 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Fiberboard logic min use?
108 parts, built around the CH340C, ESP32-WROOM-32E, XL1509-5.0 and EL357N-G. 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 Fiberboard logic min KiCad files?
From the nguyenduchan/fiberboard repository on GitHub, at the commit this page was made from: the board is pcb/fiberboard-logic-min.kicad_pcb and its schematic pcb/fiberboard-logic-min.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Fiberboard logic min design in my own project?
Its repository states no licence, so its author keeps all rights: ask nguyenduchan before reusing the design.