Overview
This week was my first step from general electronics understanding into project-specific system design. The assignment included two linked directions: observing the real output of an embedded microcontroller with lab equipment, and designing an embedded electronics system for my final project.
My final project is a companion robot, so instead of designing a generic example board, I used this week to define the first practical version of the robot control system. The goal was not to complete the entire final hardware stack at once, but to build a realistic and manufacturable control board that could become the foundation of the project.
Group Assignment
Observing the operation of an embedded microcontroller
For the group assignment, we used laboratory test equipment to observe the electrical behavior of an embedded microcontroller output. This was important because it moved the exercise beyond code and into direct verification of real signals.
We connected an ESP32-based board to an LED output and probed the output pin with the oscilloscope. By doing this, we could directly see how the microcontroller was driving the circuit over time.
The measured waveform showed a stable repeating signal. From the oscilloscope reading, the output was approximately:
- Frequency: about 50 Hz
- Period: about 20 ms
- Duty cycle: about 42%
This result is consistent with a PWM-style control signal. Seeing the waveform directly was useful because it clarified the relationship between embedded code, pin output, and physical electrical behavior. It also reinforced that debugging embedded systems is not only about software, but also about verifying the signal at the hardware level.
Individual Assignment
Designing an embedded microcontroller system
For the individual assignment, I decided to use this week to define the first electronics structure for my final project. My final project is an AI companion robot, so instead of designing a generic example board, I wanted this week’s work to directly support the real development of the project.
At the beginning, I first thought about what functions the final project actually needs and how they should be distributed between the ESP32 side and the Raspberry Pi side. Rather than forcing everything into one PCB, I broke the system into layers and focused this week on the embedded control part that is realistic for a first board.
System Breakdown for My Final Project
Before starting the electronics design, I first listed the functional structure of my final project. My final project is an AI robot, so I needed to decide which parts should be controlled by the XIAO ESP32-S3 board and which parts would be handled by the Raspberry Pi side.
Final project electronics structure
ESP32 side
├ Servo L
├ Servo R
├ Button
├ LED
├ UART debug
└ Battery / power path
Raspberry Pi side
├ Screen
├ Microphone
└ Speaker
This breakdown helped me reduce the complexity of the first PCB. Instead of trying to place every subsystem on one board, I focused this week on the ESP32 control layer: movement, input, status indication, and debugging.
Board Direction
Since my final project is an AI robot, I decided to use the XIAO ESP32-S3 as the embedded controller for the robot body layer. The ESP32 side is suitable for handling physical control tasks such as servo movement, button input, status indication, and UART communication, while more computationally heavy tasks such as screen, microphone, and speaker integration can be handled on the Raspberry Pi side.
Based on this logic, I developed a compact PCB expansion board for the XIAO ESP32-S3 rather than trying to combine the entire robot electronics into one design immediately.
Why I Chose the XIAO ESP32-S3
I chose the XIAO ESP32-S3 because it is compact, lightweight, and suitable for embedded control in a small robot body. It provides enough GPIO for the first prototype, supports UART and other common interfaces, and is also well documented by Seeed Studio.
Since my final project is an AI-oriented robot, I used the XIAO ESP32-S3 as the controller for the physical interaction layer, while leaving more advanced media and computing tasks to the Raspberry Pi side.
To understand the pin structure, I referred to the documentation and hardware information provided on the Seeed Studio wiki: https://wiki.seeedstudio.com/
EDA Tool Choice
For this board, I used Lceda Pro as the EDA tool. One reason I chose it is that it provides a large built-in component library and many packaged models, which made it easier to find practical footprints and connectors during the early stage of board design.
I downloaded the software from the official Lceda Pro website: https://pro.lceda.cn/
After installation, I started the project by building the schematic and then updating it into the PCB layout. The same workflow also allowed me to preview the board in 3D, which was useful for checking the overall physical arrangement of the components.
Pin Planning
Before drawing the schematic, I mapped the required functions to a practical pin allocation. This was important because the XIAO format is compact, and the available GPIO resources are limited.
| Function | Pin / Interface | Notes |
|---|---|---|
| Servo L | A1 | Left movement output |
| Servo R | A2 | Right movement output |
| Switch input | D8 | User input / mode selection |
| Status LED | A3 | Visual feedback and debugging |
| UART TX/RX | Serial pins | Reserved for external communication |
| Power input | 5V / GND | Main board power |
Schematic Development
After defining the system structure and controller choice, I started building the schematic in Lceda Pro. The schematic was developed as a first control board for the robot rather than as a complete final electronics solution.
The design includes the XIAO ESP32-S3 as the main controller, two servo connectors, one switch input, one status LED with resistor, one UART header, one power input header, and power-related capacitors for decoupling and buffering.
At this stage, the schematic was mainly about translating the functional logic of the robot into a practical embedded system with clear connections and manufacturable structure.
The board was designed using practical parts from available inventory, including standard headers, a switch, resistor, LED, and power-related passive components.
PCB Layout and 3D Preview
After finishing the schematic, I updated the design into the PCB workspace and began arranging the components according to their physical logic. The controller was placed centrally, while the servo connectors, UART header, switch, power input, and capacitors were arranged around it based on signal flow and cable access.
During this process, I also used the 3D preview function to check the board more intuitively. This was helpful because it made the component positions easier to understand in spatial terms rather than only as flat schematic symbols.
Routing Considerations
The PCB stage also made me understand that drawing connections in a schematic is only the beginning. In the actual board layout, routing quality directly affects whether the design can be fabricated and milled reliably.
For example, I learned that traces should not be routed with sharp 90-degree corners. Instead, smoother angles are preferred because they are cleaner for fabrication and better for routing logic. I also had to pay attention to the spacing between traces, since traces that are too close together may create manufacturing problems during CNC milling.
This made design rules much more meaningful to me. The board must not only look connected, but also remain physically producible.
What I Learned from the Layout Process
The most valuable part of the individual assignment was not simply drawing a schematic, but discovering how quickly an electronics design can become unrealistic if too many functions are added at once.
By simplifying the board into a first project-ready control layer, I was able to keep the design manufacturable while still making it meaningful for the final project. This board is already useful: it can control body movement, provide user input, show a status indicator, and expose communication lines for future integration.
Reflection
This week made electronics feel much less abstract. The group assignment showed me that embedded systems should be observed as real electrical behavior, not only as code. The oscilloscope was useful because it made the signal visible and measurable.
For the individual assignment, the most important lesson was that project scope is part of electronics design. My final project contains many ambitious ideas, but the board I designed this week taught me that a first functional version must remain focused.
Instead of trying to force every future feature into one board, I built a practical first control board that can genuinely support the next stage of development. That makes this week directly relevant to the final project rather than separate from it.