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 an AI companion robot, so instead of designing a generic example board, I used this week to define the first practical version of the robot’s control system. The goal was not to complete the entire hardware stack at once, but to create a realistic and manufacturable embedded control board that could become the foundation of the robot’s physical interaction layer.
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 made the testing process much more concrete, because the signal could be measured instead of only assumed.
Individual Assignment
Designing an embedded microcontroller system
For the individual assignment, I defined the first electronics structure for my final project. Instead of designing a generic microcontroller board, I wanted this work to directly support the physical control layer of my AI companion robot.
At this stage, my goal was not to integrate every subsystem into a single PCB. Instead, I focused on building a realistic first board using standard lab inventory parts and making sure the design was ready for fabrication.
System Breakdown
I first mapped the functional structure of the final project and separated the low-level control layer from the higher-level media layer. This week focuses on the ESP32C3 control side:
Physical Control Layer (ESP32C3)
├ Servo L (Movement)
├ Servo R (Movement)
├ Slide Switch (User Input)
├ Status LED (Visual Feedback)
└ UART debug (Communication)
This breakdown helped me reduce the complexity of the first PCB. Instead of forcing all robot functions into one board, I focused on movement, input, indication, and debugging.
Why I Chose the XIAO ESP32C3
I chose the Seeed Studio XIAO ESP32C3 because it is compact, lightweight, and provides enough GPIOs for the first prototype. Its small form factor makes it suitable for a compact robot body while still offering the basic interfaces needed for control, input, and debugging.
I used the XIAO ESP32C3 as the controller for the robot’s physical interaction layer, while more advanced media functions can remain in later stages of the final project.
EDA Tool Choice
I used Lceda Pro (EasyEDA Pro) for the electronic design workflow. One practical advantage of this software is its large built-in component library and packaged models, which made it easier to select headers, switches, passive components, and other standard parts from available inventory.
It also allowed me to work continuously from schematic design to PCB layout and then to 3D preview in one environment, which was helpful for understanding the board as both a circuit and a physical object.
Pin Planning
Before drawing the schematic, I mapped the required functions to a practical pin allocation. Since the XIAO format is compact, planning the pins early helped keep the board structure clear and manageable.
| Function | Pin / Interface | Notes |
|---|---|---|
| Servo L | A1 | Left movement output |
| Servo R | A2 | Right movement output |
| Slide switch | 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 and Component Values
The schematic was developed around the XIAO ESP32C3 as the main controller. The board includes two servo outputs, one slide switch input, one status LED with resistor, one UART debugging header, and one power input header.
For the status LED connected to A3, I used a current-limiting resistor. Based on a 3.3V logic level and a standard red LED, a 330Ω resistor is a reasonable value to keep the current in a safe range while still providing visible feedback.
At this stage, the schematic was mainly about translating the functional logic of the robot into a clear and manufacturable embedded system.
Bill of Materials (BOM)
To meet the assignment requirement of using parts from inventory, I built the design using standard headers, a slide switch, an LED, a resistor, and other common components available in the lab.
| Designator | Component | Package / Footprint | Quantity |
|---|---|---|---|
| U1 | Seeed Studio XIAO ESP32C3 | SMD / Through-hole hybrid | 1 |
| LED | Red LED | 1206 SMD | 1 |
| R2 | 330Ω Resistor | 1206 SMD | 1 |
| SW1 | Slide Switch | Through-hole | 1 |
| S1, S2 | 3-pin Servo Connector | 2.54mm Pitch Through-hole | 2 |
| H3, H5 | 7-pin Female Header (for XIAO) | 2.54mm Pitch Through-hole | 2 |
| H1 | 3-pin Header (UART) | 2.54mm Pitch Through-hole | 1 |
| PowerIN | 2-pin Header | 2.54mm Pitch Through-hole | 1 |
PCB Layout and 3D Preview
After completing the schematic, I moved into the PCB layout stage. I placed the XIAO module centrally and arranged the servo connectors, UART header, switch, and power input around it according to cable access and signal flow.
I also used the 3D preview function to check the spatial relationship between the connectors and components. This helped confirm that the board layout remained practical for assembly and future integration into the robot body.
Routing Considerations and DRC
During routing, I paid attention to manufacturability rather than only logical connection. Traces were arranged to avoid unnecessary sharp 90-degree corners, and spacing between traces was kept large enough for reliable CNC milling.
To make sure the design was ready for fabrication, I checked the design rules in the PCB software. This step is important because a schematic can be logically correct while still being impossible to fabricate if spacing and routing are not suitable.
The final DRC result showed zero errors, confirming that the board was ready for fabrication.
What I Learned from the Layout Process
The most valuable part of the individual assignment was not simply drawing a schematic, but learning how quickly an electronics design can become unrealistic if too many functions are added at once.
By simplifying the design into a first project-ready control board, I was able to keep it focused, manufacturable, and directly relevant to my final project. This board already establishes the basic physical interaction layer of the robot: movement, user input, status feedback, and debugging access.
Reflection
This week helped me connect electronics design to real system thinking. The group assignment showed me that embedded systems should not only be coded, but also observed as physical electrical behavior using test equipment.
For the individual assignment, the most important lesson was that good electronics design depends on scope control. My final project contains many possible functions, but this week taught me that the first useful version of a board should stay focused and manufacturable.
Designing this control board gave me a much clearer understanding of the relationship between logic, pin allocation, layout, and fabrication constraints. It also created a practical foundation for the next stage of my final project.