Week 06 — Electronics Design

I tested a real microcontroller signal and designed my first XIAO ESP32C3 control board.

Tools used

Key outputs


Overview

This week moved electronics design from theory into a real board. I also tested a real output signal.

My final project is an AI companion robot. So I did not want to make a generic practice board.

I used this week to build the first control board for the robot. It handles movement, input, feedback, and debugging.


Assignment Structure

Part What I Did
Group We used test equipment to observe an embedded microcontroller output.
Individual I designed a board for a XIAO ESP32C3 control system.

Group Assignment

Observing an Embedded Microcontroller

We used lab equipment to observe a microcontroller output. This was more direct than only checking code.

We connected an ESP32-based board to an LED output. Then we probed the output pin with an oscilloscope.

Oscilloscope connected to an ESP32 board
We used an oscilloscope to observe the output signal.

The waveform repeated steadily. The oscilloscope showed these approximate values.

The oscilloscope showed a repeating output waveform.

This looked like a PWM-style signal. Seeing it directly helped me connect code with real voltage changes.


Individual Assignment

Designing a Control Board

I designed the first electronics structure for my final project. The board supports the robot's physical control layer.

I kept this version simple. I wanted a board that could be milled and tested quickly.

System Breakdown

I separated the robot into a physical control layer and a media layer. This week focused on the ESP32C3 side.

Physical Control Layer (ESP32C3)
├ Servo L (Movement)
├ Servo R (Movement)
├ Slide Switch (User Input)
├ Status LED (Visual Feedback)
└ UART Debug (Communication)

This helped me avoid adding too much at once. I focused on movement, input, feedback, and debugging.

Why I Chose the XIAO ESP32C3

I chose the XIAO ESP32C3 because it is small and light. It also gives enough pins for this first board.

Its size fits a small robot body. It still supports basic control, input, and debugging.

XIAO ESP32C3 pinout reference
I used this pinout to plan the board connections.

EDA Tool Choice

I used LCEDA Pro, also called EasyEDA Pro. I used it for schematic drawing and PCB layout.

I considered using KiCad, but LCEDA Pro matched my local workflow better for this board. I am working in China, so LCEDA Pro made component sourcing easier.

LCEDA Pro connects closely with Chinese component suppliers and online stores. This helped me search parts, check packages, and buy the same components later.

It also connects with JLCPCB services. This is useful for fast PCB prototyping, including free or low-cost trial fabrication options when available.

KiCad is still a powerful EDA tool. However, for this week, LCEDA Pro helped me move faster from component search to schematic, PCB layout, 3D preview, and future fabrication.

I downloaded LCEDA Pro from its official website: https://pro.lceda.cn/

LCEDA Pro interface
LCEDA Pro kept component search, schematic design, PCB layout, DRC checking, and 3D preview in one workflow.

EasyEDA / LCEDA Pro Workflow

This section shows how I made the board, not only the final result.

Step 01

Create a New Schematic

I started with a new schematic document. I used File, New, and then Schematic.

New schematic menu
I created a new schematic before placing parts.
Step 02

Search for Components

I pressed P to open the component and reuse window. Then I searched for the parts I needed.

I searched for headers, resistors, LEDs, servo connectors, and a slide switch.

Component library search
I searched the library for standard parts.
Component detail
I checked the package before placing the part.
Step 03

Place the Components

After choosing a part, I clicked Place. The part then followed my mouse on the schematic.

Placed header
The header was placed into the schematic editor.
Step 04

Import the XIAO ESP32C3 Resources

The XIAO ESP32C3 was not in my local EasyEDA library. So I used the official Seeed page.

I downloaded the KiCad project, symbols, footprints, and pinout sheet. Then I imported the needed files into LCEDA Pro. XIAO ESP32C3 official resources

Seeed XIAO ESP32C3 resources
I used the official Seeed resources for the XIAO ESP32C3.
Seeed XIAO ESP32C3 resources
Imported the XIAO ESP32C3 to EasyEDA.
Step 05

Finish the Schematic

I connected each part based on my pin plan. Servo outputs used A1 and A2.

The LED used A3 with a 330 ohm resistor. I also added power, switch, and UART connections.

Finished schematic
The schematic shows the controller and connected parts.
Step 06

Convert the Schematic to PCB

After finishing the schematic, I converted it into a PCB. LCEDA Pro listed the imported objects.

I checked the components and net connections. Then I applied the update.

Convert schematic to PCB
I used the schematic-to-PCB command.
PCB update confirmation
I confirmed the imported parts and net connections.
Step 07

Arrange the Parts

The PCB first appeared with blue ratlines. These lines showed which pads needed connections.

I moved the parts into a clearer layout. This made routing easier.

PCB ratlines before routing
The blue ratlines showed the required connections.
Step 08

Route the Board

I used the routing tool to draw copper traces. I kept the traces on the top layer.

I set the trace width to 0.5 mm. This wider trace works better for CNC milling.

Routing tool
I selected the routing tool before drawing traces.
Trace width set to 0.5 mm
I set the trace width to 0.5 mm.
Routing detail
The red traces connect the XIAO pads to headers.
Step 09

Draw the Board Outline

After routing, I drew the outer board outline. This outline defines the milling boundary.

Board outline tool
I used the drawing tool for the PCB outline.
Routed PCB with outline
I set the size at 66mm * 32mm

Pin Planning

I mapped the main functions before drawing the schematic. This made the compact XIAO layout easier to manage.

Function Pin / Interface Notes
Servo L A1 Left movement output
Servo R A2 Right movement output
Slide switch D8 User input and mode selection
Status LED A3 Visual feedback and debugging
UART TX/RX Serial pins Reserved for communication
Power input 5V / GND Main board power

Schematic and BOM

The schematic used the XIAO ESP32C3 as the main controller. It included servo outputs, a switch, an LED, UART, and power.

Most common parts came from the EasyEDA library. I selected footprints that matched parts in the lab.

The status LED used a 330 ohm resistor. This keeps the LED current in a safe range.

XIAO ESP32C3 control board schematic
This is the final schematic for the control board.
Designator Component Package / Footprint Quantity
U1 Seeed Studio XIAO ESP32C3 SMD / through-hole hybrid 1
LED Red LED 1206 SMD 1
R2 330 ohm resistor 1206 SMD 1
SW1 Slide switch Through-hole 1
S1, S2 3-pin servo connector 2.54 mm through-hole 2
H3, H5 7-pin female header 2.54 mm through-hole 2
H1 3-pin UART header 2.54 mm through-hole 1
PowerIN 2-pin header 2.54 mm through-hole 1

PCB Layout and DRC

I placed the XIAO module near the center. I arranged the connectors around it for easier wiring.

I routed the board with 0.5 mm traces. I used 45-degree turns and avoided sharp corners.

I kept the board single-sided. This made it easier to mill in the lab.

PCB layout
This is the routed PCB layout in LCEDA Pro.
PCB 3D preview
I used 3D preview to check the board shape.

After routing, I ran the DRC tool. The final check showed zero design rule errors.

DRC result
The final DRC check showed no layout errors.

Reflection

This week helped me understand electronics as a real physical system. A signal is not only code.

The EasyEDA workflow also made PCB design feel more concrete. I could see each step from schematic to board.

The biggest lesson was scope control. A small working board is better than an overloaded first version.


Image Documentation Note

The images show my design process, not only final results. They document measurement, schematic design, routing, and checking.


AI Use Statement

I used AI to organize the documentation and improve the English writing. I also used it to make the workflow clearer.

I made the circuit, schematic, PCB layout, trace settings, and DRC checks myself. I also made the screenshots and videos.

No AI-generated image is used as technical evidence here. All technical images are my own screenshots or camera records.


Design Files