Skip to content

Week 08 – Electronics Production

Electronics Production

From digital design to physical hardware: PCB fabrication with BotFactory SV2

Table of Contents


Overview

This week focuses on Electronics Production, where we learn how to fabricate printed circuit boards (PCBs) using in-house machines and processes. The goal is to understand the PCB manufacturing workflow, including preparing design files, producing the board, soldering components, and testing the circuit.

This week connects electronics design skills from previous weeks with physical production, enabling us to transform digital PCB designs into functional electronic systems using the BotFactory SV2 additive inkjet PCB printer.

“The bridge between circuit design and real-world hardware—where ideas become tangible.”


Learning Objectives

Objective Description
PCB Fabrication Workflow Understand complete process from design to tested hardware
Design Rules Characterize limitations of in-house PCB production
Additive Manufacturing Learn inkjet PCB printing with BotFactory SV2
Component Assembly Solder and assemble SMD components including ESP32-C3
Programming & Testing Upload firmware and verify system functionality
Process Characterization Document trace width, clearance, and conductivity results

Group Assignment … on progress

description of our week 08 group assignmen for more go to text


Individual … on progress

Individual Assignment

Make and Test an Embedded Microcontroller System That You Designed

Assignment Objective

Manufacture and test an embedded microcontroller system that I designed previously, using the characterized design rules from the group assignment. The board is based on the Seeed Studio XIAO ESP32-C3 module.

Task Breakdown

Phase Task Status Documentation
1. Design Prepare PCB in KiCad with XIAO ESP32-C3 ✅ Complete Design Files
2. Export Generate Gerbers with correct design rules ✅ Complete Manufacturing Files
3. Print Fabricate using BotFactory SV2 ✅ Complete Printing Process
4. Inspect Verify traces and measure resistance ✅ Complete Inspection
5. Assemble Solder components including XIAO ✅ Complete Assembly
6. Program Upload firmware to ESP32-C3 ✅ Complete Programming
7. Test Verify all functions work ✅ Complete Testing & Verification
8. Document Complete documentation with images ✅ Complete This page

Part 1: PCB Design & Preparation

Schematic Design

The embedded system is built around the Seeed Studio XIAO ESP32-C3, a compact WiFi/Bluetooth module with rich I/O capabilities.

Key components: - XIAO ESP32-C3 main module - LED indicators (3x) - Push button input - I2C header for sensors - Power connections - Programming header

Schematic Design

PCB Layout

Design rules applied (from group assignment):

Parameter Applied Value
Trace Width 12 mil
Clearance 12 mil
Pad Size 1.2 mm
Via Size 0.8 mm
PCB Layout

PCB layout with XIAO ESP32-C3 footprint

Design Rule Check (DRC)

KiCad DRC Results: - Violations: 0 - Unconnected items: 0 - Clearance violations: 0 - Track width violations: 0 - Status: PASS


Part 2: Printing Process

Printer Setup

SV2 Setup

Steps: 1. Power on the SV2 printer 2. Connect to the web interface 3. Load substrate (FR4 board) 4. Insert Copper/Silver ink cartridge 5. Run nozzle test

Parameter Setting
Number of Passes 6
Heat Bed Temperature 110°C
Resolution 1000 DPI
Drying Time 30 sec between passes

Part 3: Post-Print Inspection

Resistance Measurements

Trace Length Measured Resistance
VCC 45 mm 2.1 Ω
GND 60 mm 2.8 Ω
SDA 35 mm 1.9 Ω
SCL 35 mm 2.0 Ω

All traces were within acceptable resistance values.


Part 4: Component Assembly

Component List

Component Package Quantity
XIAO ESP32-C3 Module 1
LED 0805 3
Resistor 220Ω 0805 3
Tactile Switch SMD 1
Header Pins 2.54mm 2

Assembly Steps

  1. Apply solder paste
  2. Place components
  3. Reflow on hot plate
  4. Inspect solder joints

Part 5: Programming

Development Tools

Tool Purpose
Arduino IDE Firmware development
ESP32 Board Package ESP32-C3 support
USB Programmer Serial upload

Test Firmware

```cpp

define LED D10

void setup() { pinMode(LED, OUTPUT); }

void loop() { digitalWrite(LED, HIGH); delay(500); digitalWrite(LED, LOW); delay(500); }