

Clean room
ESP32-based slave controller board for cleanroom equipment — RS485/Modbus, isolated I/O, 220V mains control (KiCad)
- Size
- 165 × 110 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 213
- Nets
- 136
- Pads
- 649
- Tracks, vias
- 1,170, 492
- Pours
- 28
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 9 Sep 2026
- Updated
- 9 Sep 2026
Overview
Clean room is an open-source printed circuit board by trieuhuyduc, from the trieuhuyduc/Clean_room_slave repository on GitHub. It is a 2-layer board of 165 × 110 mm with 213 parts on 136 nets, routed with 1,170 tracks and 492 vias.
It is built around the MAX485ED, ESP32-WROOM-32 and HLK-10M12, with the ISO7721DR-Y, AMS1117 and SI2302 among its other parts. Its parts include 74 resistors, 42 capacitors, 15 transistors, 11 ICs and 9 connectors. It belongs with the interfaces and adapters boards and the ESP32 boards of this library.
Main components
10MAX485ED
SOP-8-40℃~+85℃ 1 1 1mA 32 4.75V~5.25V 5Mbps Half-Duplex Transceiver ±8kV SOP-8 RS-485 / RS-422 ICs ROHSHTCRS-485 / RS-422 ICsESP32-WROOM-32
SMD,18x25.5mm-40℃~+85℃ -98dBm 2.4GHz 2.7V~3.6V 20dBm Bluetooth4.2 ESP32-DOWDQ6 UART、SDIO、SPI、I2C、GPIO、PWM、ADC、DAC SMD,25.5x18mm WiFi Modules ROHSEspressif SystemsWiFi ModulesHLK-10M12
DIP,46.9x27.8mm1 10W 120mVp-p 12V 3kV 70V~350V 85VAC~264VAC 900mA AC/DC-DC Short Circuit Protection、Over Current Protection ±0.2% DIP,46.9x27.8mm AC-DC Power Modules ROHSHI-LINKAC-DC Power ModulesISO7721DR-Y
SOIC-8SOIC-8 Digital Isolators ROHSYLPTECDigital IsolatorsAMS1117
1.0 A Low-Dropout Fixed RegulatorAdvanced Monolithic SystemsUncategorisedSI2302
SOT-23-55℃~+150℃ 1 N-channel 120pF 1V 1W 20V 300pF 3A 4nC@4.5V 65mΩ@2.5V 80pF N-Channel SOT-23 MOSFETs ROHSYONGYUTAIMOSFETs1N4148WS
SOD-3231.25V@150mA 100V 150mA 1uA@75V 200mW 2A 4ns Independent SOD-323 Switching Diodes ROHSJiangsu Changjing Electronics Technology (CJ)Switching Diodes10D561K
插件,P=7.5mm180pF@1kHz 2.5kA 350V 460V 504V~616V 70J 925V 插件,P=7.5mm Varistors ROHSSURGINGVaristorsSI2301
SOT-23-3L-55℃~+150℃ 1 P-Channel 1.5V 120mΩ@4.5V 2.2A 200pF 20V 700mW 80pF P-Channel ±10V SOT-23 MOSFETs ROHSYONGYUTAIMOSFETsBAT54C
SOT-231 Pair Common Cathode 200mA 2uA@25V 30V 600mA 800mV@100mA SOT-23 Schottky Diodes ROHSNexperiaSchottky Diodes
README
README.mdClean_room_slave_v1 — ESP32 Cleanroom Equipment Controller
An ESP32-WROOM-32 based slave controller board for cleanroom equipment, designed in KiCad with RS485/Modbus industrial communication, digitally isolated I/O, and a 220 V mains control stage. Designed by Triệu Huy Đức.
Status: design complete, pre-production review in progress — not yet released to fabrication. See Project Status below; this is deliberate, not an oversight — the review that caught the remaining issues is part of what this repo documents.
🇬🇧 English · 🇻🇳 Tiếng Việt
English
Overview
This board acts as an RS485 slave node that reads digital/analog inputs and drives a 220 V mains-side control stage (relay/TRIAC), reporting over an isolated RS485 bus back to a master controller. It was designed from schematic capture through layout to manufacturing-file export in KiCad.
Key specs
| MCU | ESP32-WROOM-32 |
| Schematic | 6 hierarchical sheets · 211 symbols · 212 footprints · 136 nets |
| PCB | 2-layer, ~163 × 110 mm · 1,165 tracks · 456 vias · 647 pads · 29 copper zones |
| Isolation | ISO7721 (2-channel digital isolator) + MAX485 on the RS485 side; EL357 optocouplers on mains-referenced digital inputs |
| Other ICs | DS3231M (battery-backed RTC), AMS1117 (LDO regulation) |
| Interfaces | RS485 (isolated), opto-isolated digital inputs, 220 V relay/TRIAC control, buzzer |
| Manufacturing outputs | BOM, CPL (placement), Gerber + drill archive — see OUTPUT_CLEARROOM_SLave/ |
Design highlights
A few of the calculated decisions behind this board — not just "which part was used" but why, with the numbers to back it:
- RS485 fail-safe biasing recalculated. The original 4.7 kΩ bus-bias resistors gave far too little differential voltage to guarantee a defined idle state. Recomputed to 470 Ω, yielding VAB = 300 mV against the 200 mV receiver threshold — with the resulting 56.4 Ω driver load (26.6 mA) confirmed to stay within the MAX485's rated drive capability.
- Optocoupler CTR budget corrected. The original 1 kΩ pull-up demanded 290 % CTR from the EL357 optocoupler — physically impossible. Recalculated the sink current against a 47 kΩ pull-up instead, dropping the requirement to a realistic 6.2 % CTR.
- ESP32 EN-pin reset timing tuned. Set the power-on reset RC constant to 10 ms (10 kΩ + 1 µF) per Espressif's official guidance, resolving unreliable resets on power-up.
- GPIO2 strapping divider re-derived so that VGPIO2 stays below the 0.825 V boot-strap threshold across the entire supply voltage range, rather than at one nominal voltage only.
- ISO7721 pinout traced against the datasheet and documented explicitly — channel A runs side-2→side-1 while channel B runs side-1→side-2, a detail easy to misread that had previously led to an incorrect "fix" being applied to a circuit that was already wired correctly.
Project status
This board has not been released to fabrication yet. A self-conducted pre-production design review — built around an automated clearance checker run directly against the PCB netlist and copper geometry — found two classes of issues before any board was ordered:
- Mains ↔ SELV creepage as low as 1.335 mm, against a ~6 mm safety requirement (15 objects flagged under 3 mm).
- RS485 isolation barrier spacing as low as 0.200 mm, against a ≥1 mm target (11 objects flagged under 1 mm).
- Root cause: the KiCad project's
min_clearancedesign rule was set to0, so the built-in DRC was not enforcing any minimum spacing at all — a normal "DRC passed" run gave false confidence. - Zero copper-to-copper shorts between different nets were confirmed (762/762 verified trace endpoints land on the correct net).
A coordinate-indexed remediation list was produced to guide the clearance fixes before this board goes to fabrication. The full review trail is kept in its original Vietnamese — these were written as working documents during the review itself, including the false starts and corrections along the way:
REVIEW_TONG_THE.md— full schematic-vs-netlist design reviewKIEM_TRA_RS485.md— RS485 / isolation channel deep-diveKIEM_TRA_TRUOC_SAN_XUAT.md— pre-fabrication safety-clearance gateDANH_SACH_SUA_LAYOUT.md— coordinate-indexed copper remediation list
Repository structure
Clean_room/
├── Clean_room.kicad_pro/.kicad_sch/.kicad_pcb/.kicad_prl top-level project, schematic, PCB, local settings
├── 220V_Control.kicad_sch mains-side relay/TRIAC control
├── MCU.kicad_sch ESP32-WROOM-32 core
├── INPUT_COM.kicad_sch opto-isolated digital inputs
├── PW_SUPPLY.kicad_sch power supply (AMS1117 LDO, etc.)
├── RS485_COM.kicad_sch RS485 transceiver + ISO7721 isolation
├── fp-lib-table footprint library table (project-relative, portable)
├── lib/ProjectFP.pretty/ custom footprint library
├── OUTPUT_CLEARROOM_SLave/ BOM, CPL, Gerber + drill archive
├── REVIEW_TONG_THE.md full schematic-vs-netlist design review (Vietnamese)
├── KIEM_TRA_RS485.md RS485 / isolation channel deep-dive (Vietnamese)
├── KIEM_TRA_TRUOC_SAN_XUAT.md pre-fabrication safety-clearance gate (Vietnamese)
└── DANH_SACH_SUA_LAYOUT.md coordinate-indexed copper remediation list (Vietnamese)Getting started
- Install KiCad 7 or newer (project files declare schema version 7).
- Open
Clean_room/Clean_room.kicad_pro. - The custom footprint library resolves automatically via a project-relative path
(
${KIPRJMOD}/lib/ProjectFP.pretty) — no manual library configuration needed.
The ISO7721 datasheet is not bundled here (third-party copyrighted material) — see TI's ISO7721 product page instead.
License
Not yet chosen. If you'd like to reuse this design, please open an issue or contact the author first — an open-hardware license (e.g. CERN-OHL) is under consideration but not yet applied.
Author
Triệu Huy Đức
Tiếng Việt
Tổng quan
Đây là board slave điều khiển thiết bị phòng sạch, đọc tín hiệu vào số/analog và điều khiển khối 220V (relay/TRIAC), báo cáo về bộ điều khiển trung tâm qua bus RS485 cách ly. Thiết kế hoàn chỉnh từ sơ đồ nguyên lý, layout PCB đến xuất file sản xuất trên KiCad.
Thông số chính
| MCU | ESP32-WROOM-32 |
| Sơ đồ nguyên lý | 6 sheet phân cấp · 211 symbol · 212 footprint · 136 net |
| PCB | 2 lớp, ~163 × 110 mm · 1.165 track · 456 via · 647 pad · 29 vùng phủ đồng |
| Cách ly | ISO7721 (isolator số 2 kênh) + MAX485 phía RS485; opto EL357 cho ngõ vào số tham chiếu lưới điện |
| IC khác | DS3231M (RTC có pin dự phòng), AMS1117 (ổn áp LDO) |
| Giao tiếp | RS485 (cách ly), ngõ vào số cách ly quang, điều khiển relay/TRIAC 220V, còi báo |
| File sản xuất | BOM, CPL (vị trí đặt linh kiện), Gerber + file khoan — xem OUTPUT_CLEARROOM_SLave/ |
Điểm nổi bật trong thiết kế
Một vài quyết định có tính toán đằng sau board này — không chỉ "dùng linh kiện gì" mà là tại sao, kèm số liệu chứng minh:
- Tính lại fail-safe biasing cho RS485. Trở kéo bus gốc 4.7 kΩ cho điện áp vi sai quá thấp để đảm bảo trạng thái nghỉ xác định. Tính lại còn 470 Ω, đạt VAB = 300 mV so với ngưỡng thu 200 mV — tải driver 56.4 Ω (26.6 mA) được xác nhận vẫn trong khả năng của MAX485.
- Sửa ngân sách CTR cho opto. Trở kéo gốc 1 kΩ đòi hỏi optocoupler EL357 đạt CTR 290% — bất khả thi về vật lý. Tính lại dòng hút với trở kéo 47 kΩ, hạ yêu cầu xuống còn 6.2% CTR khả thi.
- Hiệu chỉnh thời gian reset chân EN của ESP32. Đặt hằng số RC = 10 ms (10 kΩ + 1 µF) đúng khuyến nghị chính thức của Espressif, khắc phục lỗi reset không ổn định khi cấp nguồn.
- Tính lại bộ chia áp GPIO2 để VGPIO2 luôn dưới ngưỡng boot-strap 0.825 V trên toàn dải điện áp nguồn, thay vì chỉ đúng ở một mức điện áp danh định.
- Đối chiếu pinout ISO7721 với datasheet và ghi lại rõ ràng — kênh A đi từ phía 2 sang phía 1, kênh B đi xuôi từ phía 1 sang phía 2, chi tiết dễ nhớ nhầm từng khiến một "sửa lỗi" trước đó áp dụng sai vào một mạch vốn đã đấu đúng.
Tình trạng dự án
Board này chưa được gửi sản xuất. Một đợt design review trước sản xuất tự thực hiện — dựa trên công cụ kiểm tra khoảng hở tự động chạy trực tiếp trên netlist và hình học lớp đồng của PCB — đã phát hiện hai nhóm vấn đề trước khi đặt board:
- Khoảng hở điện lưới ↔ SELV chỉ 1.335 mm, so với yêu cầu an toàn ~6 mm (15 đối tượng dưới 3 mm).
- Khoảng hở hàng rào cách ly RS485 chỉ 0.200 mm, so với mục tiêu ≥1 mm (11 đối tượng dưới 1 mm).
- Nguyên nhân gốc: thiết lập
min_clearancetrong luật thiết kế của dự án KiCad bị đặt bằng0, nên DRC mặc định không hề kiểm tra khoảng hở tối thiểu nào — một lượt chạy "DRC pass" bình thường đã tạo cảm giác an toàn giả. - Không có chập đồng giữa các net khác nhau (762/762 đầu dây được xác nhận rơi đúng net).
Một danh sách khắc phục theo toạ độ đã được lập để hướng dẫn sửa khoảng hở trước khi board này được gửi sản xuất. Toàn bộ quá trình review được ghi lại nguyên văn tiếng Việt trong 4 tài liệu:
REVIEW_TONG_THE.md— review toàn bộ sơ đồ nguyên lý đối chiếu netlistKIEM_TRA_RS485.md— soi kỹ khối RS485 và kênh cách lyKIEM_TRA_TRUOC_SAN_XUAT.md— cổng kiểm tra an toàn khoảng hở trước sản xuấtDANH_SACH_SUA_LAYOUT.md— danh sách khắc phục lớp đồng theo toạ độ
Cấu trúc repo
Xem mục Repository structure ở phần tiếng Anh phía trên — cấu trúc thư mục giống nhau.
Bắt đầu
- Cài KiCad 7 trở lên (file dự án khai báo schema version 7).
- Mở
Clean_room/Clean_room.kicad_pro. - Thư viện footprint tự động phân giải qua đường dẫn tương đối theo dự án
(
${KIPRJMOD}/lib/ProjectFP.pretty) — không cần cấu hình thủ công.
Datasheet ISO7721 không đính kèm trong repo (tài liệu bản quyền bên thứ ba) — xem tại trang sản phẩm ISO7721 của TI.
Giấy phép
Chưa lựa chọn. Nếu bạn muốn tái sử dụng thiết kế này, vui lòng mở issue hoặc liên hệ tác giả trước — đang cân nhắc giấy phép phần cứng mở (ví dụ CERN-OHL) nhưng chưa áp dụng chính thức.
Tác giả
Triệu Huy Đức
Parts
213| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | 100 | GIT_THAO_FP:R_0603 | R14, R20, R21, R22, R23, R30, R31, R32, R33, R38, R51, R52, R53, R54 |
| 11 | 100nF | GIT_THAO_FP:C_0603 | C2, C3, C10, C19, C22, C35, C36, C38, C39, C40, C41 |
| 11 | 10k | GIT_THAO_FP:R_0603 | R2, R3, R6, R11, R24, R25, R34, R35, R49, R50, R55 |
| 11 | SI2302 | GIT_THAO_FP:SOT23-3 | Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11 |
| 9 | Led | GIT_THAO_FP:LED0603 | LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, LE9 |
| 8 | 470 | GIT_THAO_FP:R_0603 | R26, R27, R36, R37, R61, R62, R63, R64 |
| 6 | 1k | GIT_THAO_FP:R_0603 | R10, R46, R69, R70, R73, R74 |
| 5 | 1N4148WS | GIT_THAO_FP:D_SOD323 | D2, D3, D4, D5, D6 |
| 4 | 100k | GIT_THAO_FP:R_0603 | R67, R68, R71, R72 |
| 4 | 100nf | GIT_THAO_FP:C_0603 | C16, C17, C20, C33 |
| 4 | 10D561 | IoT_Footprint:RV_Disc_D12mm_W5.8mm_P7.5mm | RV2, RV3, RV4, RV5 |
| 4 | 10uF | GIT_THAO_FP:C_0603 | C1, C6, C8, C32 |
| 4 | 22uf | GIT_THAO_FP:C_0603 | C24, C25, C26, C27 |
| 4 | 30k | GIT_THAO_FP:R_0603 | R18, R19, R28, R29 |
| 4 | Conn_01x04 | GIT_THAO_FP:Terminal_HT-3.96mm-4P-Vertical-Pluggable | J5, J7, J8, J9 |
| 4 | G5NB | GIT_THAO_FP:Relay_G5NB-1A-E DC5 | RL1, RL2, RL3, RL4 |
| 4 | MountingHole | IVSFootprint:MountingHole_3.2mm_M3_Pad_Via | H2, H3, H4, H5 |
| 4 | si2301 | Package_TO_SOT_SMD:SOT-23-3 | Q13, Q14, Q15, Q16 |
| 3 | 10K | GIT_THAO_FP:R_0603 | R15, R16, R39 |
| 3 | 4.7k | GIT_THAO_FP:R_0603 | R7, R12, R13 |
| 3 | 47k | GIT_THAO_FP:R_0603 | R48, R59, R60 |
| 3 | D_TVS | GIT_THAO_FP:D_SMA | TVS1, TVS2, TVS5 |
| 3 | D_TVS | IoT_Footprint:D_SMA | TVS3, TVS4, TVS6 |
| 2 | 100nf/0805 | GIT_THAO_FP:C_0805 | C12, C15 |
| 2 | 10uf | GIT_THAO_FP:C_0603 | C21, C30 |
| 2 | 120 | GIT_THAO_FP:R_1206 | R65, R66 |
| 2 | 180k | GIT_THAO_FP:R_0805 | R41, R42 |
| 2 | 1uf | GIT_THAO_FP:C_0603 | C18, C23 |
| 2 | 330 | IoT_Footprint:R_0603 | R8, R9 |
| 2 | 471/2k | Capacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mm | C4, C5 |
| 2 | 680 | GIT_THAO_FP:R_0603 | R57, R58 |
| 2 | EL357 | IoT_Footprint:OPTO_EL357N-G | U10, U11 |
| 2 | FAN | GIT_THAO_FP:Terminal_HT-3.96mm-2P-Horizontal-Pluggable | J3, J4 |
| 2 | ISO7721DR | IoT_Footprint:SOIC-8_3.9x4.9mm_P1.27mm | U8, U9 |
| 2 | LED_Housing_Dual | IoT_Footprint:LED_Housing_Dual | L2, L3 |
| 2 | MAX485E | IoT_Footprint:SOIC-8_3.9x4.9mm_P1.27mm | U12, U13 |
| 2 | Polyfuse | IoT_Footprint:Fuse_1812_4532Metric | F5, F6 |
| 2 | Polyfuse | GIT_THAO_FP:Fuse_1812_4532Metric | F3, F4 |
| 2 | SW_Push | GIT_THAO_FP:SW_SPST_CK_RS282G05A3 | SW1, SW2 |
| 1 | 0.1uF/275VAC | IVSFootprint:C-Polyester-Rect-L16.5mm-W5.0mm-P15.00mm-MKT | C7 |
| 1 | 0.1uF/275VAC | IoT_Footprint:C_Rect_L16.5mm_W5.0mm_P15.00mm_MKT | C9 |
| 1 | 1.5k | GIT_THAO_FP:R_0603 | R1 |
| 1 | 10D561 | ThaoFootprint:RV_Disc_D12mm_W5.8mm_P7.5mm | RV1 |
| 1 | 10nF/275V | GIT_THAO_FP:C_Disc_D12.5mm_W5.0mm_P10.00mm | C31 |
| 1 | 10nf | GIT_THAO_FP:C_0805 | C28 |
| 1 | 10uF/0805 | GIT_THAO_FP:C_0805 | C37 |
| 1 | 10uf/0805 | GIT_THAO_FP:C_0805 | C14 |
| 1 | 180 | GIT_THAO_FP:R_0603 | R40 |
| 1 | 1N4148 | GIT_THAO_FP:D_SOD323 | D9 |
| 1 | 1uF | IVSFootprint:C_0603 | C42 |
| 1 | 20mH | IVSFootprint:ACFilterChoke-UU9.8 | FL1 |
| 1 | 220 | GIT_THAO_FP:R_0603 | R5 |
| 1 | 220uf | GIT_THAO_FP:CP_Alu_SMD_8x10.5mm | C11 |
| 1 | 22k | GIT_THAO_FP:R_0603 | R45 |
| 1 | 2A | IVSFootprint:Fuse_HolderGlass5x20mm | F1 |
| 1 | 2k | GIT_THAO_FP:R_0603 | R56 |
| 1 | 330/1W | GIT_THAO_FP:R_Axial_DIN0414_L11.9mm_D4.5mm_P5.08mm_Vertical | R43 |
| 1 | 4.7K | GIT_THAO_FP:R_0603 | R17 |
| 1 | 4.7uF | GIT_THAO_FP:C_0805 | C34 |
| 1 | 470/1W | GIT_THAO_FP:R_Axial_DIN0414_L11.9mm_D4.5mm_P5.08mm_Vertical | R44 |
| 1 | 470uF | GIT_THAO_FP:CP_Alu_SMD_10x10.5mm | C13 |
| 1 | 47nF/275 | GIT_THAO_FP:C_Disc_D12.5mm_W5.0mm_P10.00mm | C29 |
| 1 | 56/1W | GIT_THAO_FP:R_Axial_DIN0414_L11.9mm_D4.5mm_P5.08mm_Vertical | R47 |
| 1 | 6.8k | GIT_THAO_FP:R_0603 | R4 |
| 1 | 68uH | GIT_THAO_FP:L_Bourns_SRR1208_12.7x12.7mm | L1 |
| 1 | AMS1117 | IoT_Footprint:SOT-223-3_TabPin2 | U2 |
| 1 | B0505S/B1205S | TAMFootprint:B0505s-2wr2 | U7 |
| 1 | BAT54C | GIT_THAO_FP:SOT23-3 | D10 |
| 1 | BTA16-6000B | TAMFootprint:TO-220-3_Vertical_heatsink_TRIAC_N_MOSFET | D8 |
| 1 | Battery_Cell | IVSFootprint:BatteryHolder-SMD-CR1220 | BT1 |
| 1 | Buzzer | GIT_THAO_FP:Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | CHENH_AP | GIT_THAO_FP:Terminal_HT-3.96mm-4P-Horizontal-Pluggable | J6 |
| 1 | Conn_01x07_Pin | IVSFootprint:PinHeader_1x07_P2.54mm_Vertical | J11 |
| 1 | Conn_01x10 | TAMFootprint:TerminalBlock_Screw_HB9500_10P_P9.5mm | J2 |
| 1 | EL357 | GIT_THAO_FP:OPTO_EL357N-G | U6 |
| 1 | ESP32-WROOM-32 | GIT_THAO_FP:ESP32-WROOM-32E | U4 |
| 1 | Fuse | IVSFootprint:Fuseholder-Littelfuse_Nano2_154x | F2 |
| 1 | HLK-10M12 | Converter_ACDC:Converter_ACDC_Hi-Link_HLK-10Mxx | PS1 |
| 1 | LM317_SOT-223 | IoT_Footprint:SOT-223-3_TabPin2 | U3 |
| 1 | LOGO | TAMFootprint:Logo_IotVision_20x6.6 | G*** |
The 203 most common of 213 parts.
Similar boards
- 2 layers80 × 70 mm

- 4 layers77.9 × 81.6 mm

Lilygo
Ndambia/lilygo
A custom 4-layer KiCad PCB design integrating an ESP32 Wi-Fi/Bluetooth microcontroller with a SIM7600G-H 4G LTE Cat-4 cellular module, comprehensive power management, GPS tracking, GPRS connectivity, USB-C charging…
188 parts - 2 layers98.5 × 59.8 mm

Neuron
giant-axon/lu.i-neuron-pcb
Lu.i is an electronic neuron circuit mimicking and illustrating the basic dynamics of real, biological neurons. The printed circuit board (PCB) features a configurable, fully analog implementation of the leaky…
90 parts73CERN-OHL-S-2.0 - 2 layers50 × 75 mm

- 2 layers63.2 × 23.8 mm

Wand
ayuusweetfish/Malletwand
A pendulum as a hands-on musical interface for all · NIME 2024 Short Paper
68 parts1CERN-OHL-S-2.0 - 4 layers140 × 90 mm

- 2 layers40 × 80 mm

SenseBeTx rev1
Appiko/sense_snap_hw
This repository contains all the KiCad based PCB design and related documentation for all the PCBs developed at Appiko.
38 parts2 - 2 layers37 × 106 mm

Questions
How big is the Clean room PCB?
It measures 165 × 110 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Clean room use?
213 parts, built around the MAX485ED, ESP32-WROOM-32, HLK-10M12 and ISO7721DR-Y. 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 Clean room KiCad files?
From the trieuhuyduc/Clean_room_slave repository on GitHub, at the commit this page was made from: the board is Clean_room/Clean_room.kicad_pcb and its schematic Clean_room/220V_Control.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Clean room design in my own project?
Its repository states no licence, so its author keeps all rights: ask trieuhuyduc before reusing the design.