WEEK 06 – Electronics Design

Assignment Documentation

XIAO ESP32-C3 + KiCad PCB Design for Servo Motor Control

This assignment focused on understanding the complete electronics design workflow, from the initial circuit idea to a PCB layout ready for fabrication. I used KiCad as the main Electronic Design Automation software to design a custom board based on the Seeed Studio XIAO ESP32-C3.

The objective was to design a board capable of controlling two servo motors using PWM signals. This process included circuit simulation, schematic design, footprint assignment, PCB layout, routing, design rule checking, 3D inspection, and preparation of manufacturing files.

This week was important because it connected embedded programming with physical electronics design. Instead of only wiring components on a breadboard, I created a structured PCB design that could be fabricated and used as part of an embedded control system.

Idea → Simulation → Schematic → Footprints → PCB Layout → Routing → DRC → 3D View → Manufacturing Files

1. Checklist

2. Group Assignment

Testing and Observing a Microcontroller Circuit Board

The objective of the group assignment was to use laboratory test equipment to observe and analyze the operation of a microcontroller-based circuit board. This activity helped us understand how real electrical signals behave and how different measurement tools support debugging and validation.

During the group activity, we used instruments such as the multimeter and oscilloscope to inspect voltage levels, continuity, signal behavior, and the general operation of the circuit. These tools are essential in electronics because they allow us to verify that a circuit works correctly before moving to fabrication or final integration.

This group experience supported my individual work because it helped me understand why PCB design must consider not only the logical connections, but also signal stability, power distribution, and real hardware behavior.

3. Group Practice Introduction

The practical activity focused on learning how to inspect electronic systems using available laboratory equipment. The system under analysis was an ESP32-C3 development board powered through USB and operating with 3.3V logic levels.

Through this exercise, we observed electrical behavior, voltage measurements, and signal stability. This helped reinforce the relationship between theoretical circuit design and real embedded electronics behavior.

This type of validation is important in Fab Academy because custom electronics must be tested and documented before being integrated into a larger system or final project.

Laboratory test equipment used during group assignment ESP32-C3 pinout reference used for signal identification

4. What is Electronics Design?

Electronics design is the process of creating a functional electronic circuit that can later be fabricated as a printed circuit board. This process usually begins with a schematic, where the electrical connections are defined, and continues with the PCB layout, where components are physically arranged on a board.

In this assignment, electronics design involved choosing the main components, defining the power and signal connections, assigning physical footprints, routing copper traces, and verifying that the board could be manufactured correctly.

Stage Description Use in this Assignment
Simulation Virtual test of the circuit logic before fabrication. Used in Wokwi to verify servo control with the ESP32-C3.
Schematic Design Logical representation of the electronic circuit. Used to connect the XIAO ESP32-C3, servos, power, and GND.
Footprint Assignment Connection between symbols and real component dimensions. Used to prepare the physical PCB layout.
PCB Layout Physical organization of components and copper traces. Used to design the final board shape and routing.
DRC Design Rule Check for manufacturing errors. Used to inspect clearances, unconnected nets, and routing issues.

5. Board and Components Used

XIAO ESP32-C3 and Servo Motor Control

The main controller used in this assignment was the Seeed Studio XIAO ESP32-C3. This board is compact and useful for embedded systems because it provides digital pins, wireless capabilities, and compatibility with Arduino IDE.

For this practice, the XIAO ESP32-C3 was used to generate PWM signals for two servo motors. The servos require a stable 5V power supply, while the microcontroller operates with 3.3V logic. For that reason, the design includes a shared ground reference and external 5V power for the actuators.

Component Function
XIAO ESP32-C3 Main microcontroller used to generate PWM signals.
Servo Motor 1 Output actuator controlled from GPIO D9.
Servo Motor 2 Output actuator controlled from GPIO D10.
External 5V Input Power supply for the servo motors.
Common GND Shared reference between the microcontroller and actuators.
Filtering Capacitor Helps stabilize the power supply.
System diagram for XIAO ESP32-C3 and servo motor control

General system description showing the XIAO ESP32-C3 and servo motor connections.

6. About KiCad

KiCad is an open-source Electronic Design Automation software used to design schematics and printed circuit boards. It allows designers to create electronic diagrams, assign component footprints, route PCB traces, inspect the board in 3D, and generate manufacturing files.

I used KiCad because it provides a complete workflow for Fab Academy electronics assignments. It also allows the use of Fab Academy libraries, which include symbols and footprints commonly used in digital fabrication projects.

KiCad interface used for PCB design

KiCad was used as the main EDA software for schematic and PCB design.

7. Circuit Simulation in Wokwi

Before starting the PCB design process, I simulated the circuit in Wokwi. This step helped me verify the logic of the system and confirm that the two servo motors could be controlled using PWM signals from the ESP32-C3.

Simulation is useful because it reduces errors before fabrication. It allows testing the firmware, checking the pin connections, and validating the behavior of the system in a virtual environment.

Simulation Steps

  1. Create a new ESP32 project in Wokwi.
  2. Select an ESP32-C3 compatible board.
  3. Add two servo motor components.
  4. Connect Servo 1 signal to GPIO D9.
  5. Connect Servo 2 signal to GPIO D10.
  6. Connect external 5V power and common GND.
  7. Upload and test the Arduino code.

Wokwi simulation used to validate the servo control logic before PCB design.

8. Programming in Arduino IDE

After validating the circuit in Wokwi, the firmware was developed in Arduino IDE. The program controls two servo motors using PWM signals and predefined movement sequences.

Arduino IDE was selected because it provides a simple and accessible programming environment for ESP32-based boards. It also supports libraries such as ESP32Servo, which simplifies servo motor control.

Programming Process

  1. Open Arduino IDE.
  2. Install ESP32 board support.
  3. Add the ESP32 board URL in Preferences.
  4. Install the ESP32 board package.
  5. Install the ESP32Servo library.
  6. Select the correct board and port.
  7. Upload the firmware to the microcontroller.
Arduino IDE used for programming the XIAO ESP32-C3

Arduino IDE was used to program and validate the servo control firmware.

9. Installing the Fab Academy KiCad Library

Fab Academy Library Setup

To follow Fab Academy standards, I installed the Fab Academy KiCad library. This library provides useful symbols and footprints for common components such as resistors, capacitors, pin headers, connectors, and microcontrollers.

Using the correct library is important because it helps keep the design compatible with the components and workflows used in Fab Labs.

Installation Steps

  1. Download the Fab Academy KiCad library files.
  2. Go to Preferences → Manage Symbol Libraries.
  3. Add the existing library file fab.kicad_sym.
  4. Go to Preferences → Manage Footprint Libraries.
  5. Add the fab.pretty folder.
Fab Academy KiCad library installation

Fab Academy KiCad library installed for schematic symbols and PCB footprints.

10. Creating the Schematic

The schematic was created in KiCad to define the electrical connections between the microcontroller, servo connectors, external power input, filtering capacitor, and ground reference.

This step is essential because the schematic represents the logical structure of the electronic system. If the schematic is incorrect, the PCB layout will also contain errors.

Connection Description
D9 → Servo 1 Signal Digital PWM output used to control the first servo motor.
D10 → Servo 2 Signal Digital PWM output used to control the second servo motor.
5V External → Servo VCC Power line used to supply the servo motors.
GND → All GND Pins Common reference for the complete circuit.
KiCad schematic for XIAO ESP32-C3 servo control board

Schematic design created in KiCad for the servo control board.

11. Assigning Footprints

After completing the schematic, I assigned footprints to each component. A footprint represents the physical shape and pad arrangement of a component on the PCB.

Correct footprint assignment is important because an incorrect footprint can cause fabrication or assembly problems. For example, a connector footprint must match the real connector spacing.

Component Footprint
Servo Connectors PinHeader_1x03
XIAO Headers PinHeader_1x07
Filtering Capacitor Capacitor_SMD
Footprint assignment in KiCad

Footprints assigned to connect the schematic with the physical PCB layout.

12. PCB Layout Design

The PCB layout was created in KiCad PCB Editor. In this stage, the board outline was defined using the Edge.Cuts layer, and the components were placed according to functionality and accessibility.

The XIAO ESP32-C3 was positioned in a central location, while the servo connectors and power input were placed near the edges to make wiring easier during testing and integration.

The main goal of the layout was to keep the design compact, organized, and easy to manufacture. Component placement was planned to reduce unnecessary trace length and avoid confusing routing paths.

13. Routing the PCB

PCB routing was performed by connecting the pads according to the nets defined in the schematic. The routing strategy focused on keeping traces short, clean, and easy to inspect.

Power traces were made wider than signal traces because the servo motors require more current than logic signals. I also avoided sharp 90-degree angles to improve the quality and reliability of the routing.

Trace Type Width Reason
Signal Traces 0.4 mm Used for PWM and logic connections.
Power Traces 0.6 mm – 0.8 mm Used to support current demand from the servos.
PCB routing process in KiCad

PCB routing process showing signal and power traces.

14. Ground Plane

A ground plane was added to improve electrical stability and provide a better current return path. The filled zone was assigned to the GND net and applied around the board.

The ground plane helps reduce electrical noise, improves current return, and supports stable behavior of the electronic circuit.

Ground Plane Steps

  1. Select Add Filled Zone.
  2. Choose the F.Cu layer.
  3. Select the GND net.
  4. Draw the polygon around the board.
  5. Press B to refill zones.
Ground plane copper fill in KiCad

Ground plane created to improve electrical stability and reduce noise.

15. Design Rule Check

The Design Rule Check was used to inspect the PCB before fabrication. This verification step helped identify possible clearance problems, overlapping pads, unconnected nets, and routing errors.

Running DRC before fabrication is important because it reduces the risk of producing a board with electrical or manufacturing problems.

16. 3D View and Final Inspection

The 3D Viewer was used to inspect the final board visually. This tool helped verify component placement, connector orientation, board dimensions, and possible mechanical conflicts.

This final visual inspection allowed me to confirm that the board was ready for manufacturing file generation.

3D inspection of the PCB design before generating manufacturing files.

17. Generating Manufacturing Files

After completing the layout and verification, I generated the manufacturing files. These files are required to fabricate the PCB using digital fabrication equipment or external PCB manufacturing services.

File / Layer Purpose
Gerber Files Describe copper, mask, silkscreen, and outline layers.
Drill Files Define holes for through-hole components and vias.
F.Cu Front copper layer.
B.Cu Back copper layer if required.
Edge.Cuts Defines the final board outline.
F.SilkS Contains text and component reference markings.
F.Mask Defines solder mask openings.

18. Final Board Description

The final PCB includes the XIAO ESP32-C3 microcontroller interface, two PWM outputs for servo motors, an external 5V power supply input, and a ground plane for electrical stability. The layout was designed to be compact, functional, and suitable for embedded control applications.

Final PCB design in KiCad

Final PCB design prepared in KiCad for fabrication.

19. Problems Encountered and Solutions

Problem Cause Solution
Videos took too long to load. The video files were heavy and loaded completely with the page. I configured the video tags using preload="metadata" to improve page loading.
Some images and videos appeared misaligned. The media elements did not have a consistent container format. I used the same single-image and evidence structure from the Week 11 format.
Duplicated HTML structure affected the page. The original file contained repeated <!DOCTYPE html>, <html>, and <head> sections. I removed the duplicated structure and kept a single valid HTML document.
Power and signal routing required different trace widths. The servos require more current than logic signals. I used wider traces for power and smaller traces for signal lines.

20. Results

The result of this assignment was a complete PCB design workflow for an embedded system based on the XIAO ESP32-C3. The design was simulated, programmed, drawn as a schematic, converted into a PCB layout, routed, verified, and inspected before fabrication.

This process helped me understand how electronics design connects software, hardware, manufacturing constraints, and documentation. It also allowed me to identify how small decisions, such as trace width or connector position, affect the final usability of the board.

21. Learning Outcomes

22. Hero Shot – Final Practice Evidence

The following hero shot presents the final result of my Electronics Design practice. This image documents the completed PCB design and represents the integration of schematic design, PCB layout, routing process, fabrication preparation, and electronic validation developed during Week 06.

Hero shot final PCB electronics design

Hero shot of the final PCB design developed during Week 06.

23. Final Conclusion

This week’s assignment allowed me to understand the complete workflow involved in electronics design, from the initial circuit concept to the preparation of a PCB ready for fabrication. Through the use of KiCad, I developed skills related to schematic creation, footprint assignment, PCB routing, ground plane generation, design rule verification, and manufacturing file preparation.

The integration of the XIAO ESP32-C3 with two servo motors helped me understand the relationship between embedded programming and hardware design. By validating the system first in Wokwi and later preparing the PCB layout in KiCad, I was able to verify the importance of simulation before fabrication in order to reduce errors and improve reliability.

The group assignment also reinforced the importance of using laboratory equipment such as the multimeter and oscilloscope to analyze and validate electronic systems. Observing real electrical signals and voltage behavior helped strengthen my understanding of embedded electronics and practical debugging techniques.

Overall, this assignment improved my knowledge in electronic design, PCB development, embedded systems, simulation workflows, and technical documentation standards required in Fab Academy. The experience gained during this week will be valuable for future assignments and for the implementation of custom electronics in my final project.