1. Mục tiêu của bài này
Sau bài này, bạn sẽ làm được trọn quy trình:
- Import thư viện symbol và footprint vào KiCad
- Đặt symbol lên schematic và nối mạch
- Gán footprint cho từng symbol
- Đẩy dữ liệu sang PCB layout
- Kiểm tra mapping pin và pad để tránh lỗi đi dây sai
Mình sẽ hướng dẫn theo cách dễ áp dụng nhất cho dự án IoTLabs, đặc biệt phù hợp khi bạn dùng các module như ESP32, GPS, SIM 4G, NRF24L01.
2. Chuẩn bị trước khi bắt đầu
Bạn cần có:
- 1 file symbol library: .kicad_sym
- 1 footprint library: folder .pretty chứa các file .kicad_mod
Gợi ý cấu trúc thư mục (như bài 1):
- IoTLabs_KiCad_Lib/
- symbols/IoTLabs_MCU.kicad_sym
- footprints/IoTLabs_MCU.pretty/IoTLabs_TenstarRobot_ESP32C3_SuperMini.kicad_mod
3. Add thư viện vào project (Global hoặc Project Specific)
3.1 Add symbol library (.kicad_sym)
- Mở Schematic Editor (Eeschema)
- Preferences → Manage Symbol Libraries
- Chọn tab Global Libraries hoặc Project Specific Libraries
- Add existing library
- Chọn file .kicad_sym của bạn
- Đặt nickname ví dụ: IoTLabs_MCU
3.2 Add footprint library (.pretty)
- Mở PCB Editor (Pcbnew)
- Preferences → Manage Footprint Libraries
- Chọn tab Global Libraries hoặc Project Specific Libraries
- Add existing library
- Chọn folder .pretty (lưu ý chọn folder, không phải file .kicad_mod)
- Đặt nickname ví dụ: IoTLabs_MCU
Gợi ý chọn Global vs Project:
- Project Specific: phù hợp khi bạn gửi project cho team hoặc backup, không sợ thiếu library
- Global: phù hợp khi bạn làm nhiều dự án trên cùng máy và dùng chung thư viện
4. Đặt symbol lên Schematic và nối mạch
4.1 Đặt symbol
- Trong Schematic Editor nhấn A (Add Symbol)
- Tìm theo nickname hoặc tên linh kiện
- Ví dụ: TenstarRobot_ESP32C3_SuperMini
- Place lên schematic
4.2 Nối dây và đặt net label
Nguyên tắc:
- Dùng net label cho các đường quan trọng: 3V3, 5V, GND, UART_TX, UART_RX
- Dùng power symbols (GND, +3V3, +5V) để schematic dễ đọc
- Với module ESP32, nên đặt nhóm chân theo chức năng: nguồn, UART, I2C, SPI, GPIO
Mẹo cho IoTLabs:
- UART: đặt label như GPS_TX, GPS_RX hoặc SIM_TX, SIM_RX tùy luồng
- I2C: SDA, SCL
- SPI: SCK, MISO, MOSI, CS
5. Gán footprint cho symbol
Đây là bước bắt buộc để KiCad biết linh kiện đó sẽ có hình dạng gì trên PCB.
Cách 1: Gán footprint ngay trong properties
- Click chọn symbol
- Nhấn E (Properties)
- Tìm trường Footprint
- Chọn đúng footprint từ library nickname
- Ví dụ: IoTLabs_MCU:IoTLabs_TenstarRobot_ESP32C3_SuperMini
- OK
Cách 2: Dùng Assign Footprints tool
- Tools → Assign Footprints
- Ở danh sách linh kiện bên trái, chọn symbol cần gán
- Ở danh sách footprint bên phải, chọn footprint tương ứng
- Apply và Save
Khi dự án lớn, cách 2 nhanh hơn.
6. Update PCB từ Schematic
Sau khi schematic xong và đã gán footprint, bạn đẩy sang PCB:
- Mở PCB Editor
- Tools → Update PCB from Schematic
- Run update
Kết quả:
- Tất cả footprint sẽ xuất hiện (thường nằm chồng lên nhau)
- Tất cả netlist đã được nối logic (ratsnest)
7. Place footprint và route mạch
7.1 Place (sắp xếp linh kiện)
Nguyên tắc dễ nhớ:
- Đặt module chính trước: ESP32
- Đặt các module giao tiếp gần nhau: GPS gần UART, OLED gần I2C, NRF gần SPI
- Đặt nguồn gần điểm vào 5V/battery
- Chừa khoảng trống cho anten (GPS, 4G, 2.4G) tránh che chắn
7.2 Route (đi dây)
- Route GND trước bằng copper pour (plane)
- Dây nguồn đi to hơn dây tín hiệu
- Các bus như I2C, SPI đi gọn, hạn chế vòng lặp lớn
- Với RF, hạn chế chạy trace ngay dưới anten
8. Kiểm tra mapping pin và pad (rất quan trọng)
Lỗi nguy hiểm nhất là:
- Schematic đúng nhưng footprint bị đảo pad number
- Kết quả PCB đi dây đúng theo netlist, nhưng thực tế cắm module bị sai chân
Cách kiểm nhanh:
- Trong PCB Editor, click vào một pad trên footprint
- Dùng Highlight net để xem nó đang nối với net nào
- So sánh với pin name trên schematic
Checklist nhanh:
- 5V đúng pad 5V
- 3V3 đúng pad 3V3
- GND đúng pad GND
- UART TX/RX không bị đảo
- Các chân BOOT/strapping không bị kéo sai mức
Nếu bạn phát hiện mismatch:
- Sửa symbol pin number hoặc footprint pad number
- Sau đó Update PCB from schematic lại
9. DRC và xuất file sản xuất
Trước khi xuất Gerber, bạn nên:
- Chạy DRC (Design Rule Check)
- Kiểm tra clearance và width theo nhà gia công
- Đặt text silkscreen rõ: Pin1, USB direction, power labels
Sau đó:
- File → Plot → Gerber
- Generate Drill Files
10. Kết bài
Khi bạn làm đúng quy trình symbol → gán footprint → update PCB, dự án KiCad sẽ rất sạch và dễ mở rộng.
Nếu bạn đang làm dự án IoT hoặc các module ESP32 khác, mình khuyên bạn luôn chuẩn hoá thư viện ngay từ đầu để tránh lỗi nối dây sai chân về sau.



Leave a Reply