FAB ACADEMY 2026

WEEK 06

Electronics Design

Group assignment:

What I Learned From Teamwork

Work in progress Week 01

Equipment Used

For this group task we used the following laboratory equipment::

Digital Multimeter (PR-75)

Main features:

Work in progress Week 01

Use in group practice:

It was used to verify power supply (3.3V and 5V), check continuity between tracks and rule out short circuits before taking measurements with the oscilloscope.
Microcontroller board: Custom PCB with Seeed Studio XIAO RP2040.

Work in progress Week 01

The continuity signal of the PCB traces was verified, from where it comes out of the pin to where it reaches an output, guided by the sound of the buzzer since this multimeter does have one.

To verify the output voltages, we used a jumper wire and moved the multimeter knob to DC 20V, the output voltage being 5V correctly designed on the board.

Work in progress Week 01

We also checked the 3.3V output of our microcontroller on the board to see if there was any voltage drop during soldering. To do this, we located the pin corresponding to the board's voltage.


Finally, we check that our LED and SMD resistors are not damaged or burned out.

GW Instek GDS-1152A Digital Oscilloscope

Main features:

  • Bandwidth: 150 MHz.
  • 2 channels (CH1 and CH2).
  • Color LCD screen.
  • AutoSet Function.
  • VOLTS/DIV and TIME/DIV adjustment.
  • Internal memory for signal storage.
Work in progress Week 01

Use in group practice:

It was used to observe the digital signal generated by the RP2040 microcontroller, visualize the square waveform, measure voltage levels (0V – 3.3V) and analyze the temporal behavior of the signal.
We also use the GW Instek GDS-1152A oscilloscope, which is a two-channel digital oscilloscope. This equipment is used to view signals over time (for example, a square wave or a PWM signal).

  • Oscilloscope setup: ground clip (black) → board GND; probe tip → GPIO pin set as output.
  • Configuration used: CH1 channel; voltage scale 1 V/div; time scale 1 ms/div; trigger Edge mode (CH1); Auto Set for initial calibration.
  • After programming the RP2040 to generate a square wave, we observed a clear digital square signal.
  • Voltage levels between 0 V and approximately 3.3 V.
  • Stable frequency matching the programmed timing.
  • This confirmed correct execution of the microcontroller, proper GPIO pin operation, and stable voltage regulation.
Work in progress Week 01
Work in progress Week 01

Results:

  • The oscilloscope showed a clean square wave, which confirms that:
  • The microcontroller's internal clock is operating correctly.
  • The digital pin toggles between LOW and HIGH states properly.
  • The board's power supply is stable.

What We Learned:

  • How to properly connect an oscilloscope to an electronic board.
  • The importance of connecting GND properly.
  • The difference between measuring voltage with a multimeter and visualizing signals with an oscilloscope.
  • How real digital signals are observed in hardware.


Individual assignment:

  • Use an EDA tool to design a development board that uses parts from the inventory to interact and communicate with an embedded microcontroller.

We will install KiCad!

We will download the KiCad program for our PC and install it with the default options. You can download it here: KICAD


Click "Next" and we will install the default KiCad libraries.



First, it is necessary to create a new project from scratch in a specific folder.

Work in progress Week 01

Next, click on "Plugin and content manager" to add the libraries needed for our design. In this case, we search for and add the KiCad FabLib library, then click install.

Work in progress Week 01

Click on "place symbols" and search for the XIAO ESP32C3 microcontroller, adding it to the schematic; in the same way, add more components.

Work in progress Week 01

Now we add the terminal block for external power input; in this case it already has a footprint, as shown in the box below.

Work in progress Week 01

Then we proceed to connect the components following the microcontroller datasheet and the XIAO ESP32C3 reference board schematic; for this we use the Draw Wires command.

Work in progress Week 01

Next, we insert the output for our servo motor.

Work in progress Week 01

In this case, this library has no footprint, so we assign a reference by clicking the component and then pressing the (F) key. Then we continue with the connections to the XIAO.


We follow the same process to add our LDR module, assign its footprint, and then connect it.


Finally, we add four 5V output pins and four GND pins. This allows us to connect other hexagonal modules in parallel. We assign the footprint and connect them while organizing expansions.


This is how the schematic connections turned out according to the microcontroller datasheet and the XIAO ESP32C3 reference board schematic, with the corresponding footprint for each component. Then we move to PCB design by clicking the "Switch to PCB editor" icon.

Work in progress Week 01

Click on "Tools" and then on "Update PCB from Schematic"; a dialog box appears where we click "Update PCB".


We draw a rectangle to define the board size, in this case 30 mm x 60 mm, and then arrange the connections within this rectangle to optimize space and avoid unnecessary crossings (we do this on the Edge.Cuts layer).


In this case, we will choose two track widths: 0.8 mm for 5V and 0.4 mm for the others.

Work in progress Week 01

The track routing is done with the "Route Tracks" command, connecting the components according to the schematic while optimizing space and avoiding unnecessary crossings. The layout turned out like this, with one note: we need to make a bridge at the GND pin between the servo and the XIAO.

Work in progress Week 01

We insert a 0Ω SMD resistor to create a bridge on the missing track. For that, we return to the schematic, insert it, and make a new connection including the resistor in the path.


Then we switch to PCB design, update it, and route the track as well. In this case, we rotate the SMD with the R key for the correct alignment with the track junction.

Work in progress Week 01

The connections turned out as shown in the image; from there, I only cleaned up some text labels and edited the XIAO library. I also added the name of my board: "HEXAMODULAR".

Work in progress Week 01

Click on "Draw Filled Zones" to create a copper zone, select the default values, and draw the zone around the whole board. This helps provide a better GND reference and avoid signal noise issues.

Work in progress Week 01

After that, right-click the zone and select "Draft Filled Zones" to update the zone and display copper in the design. This is how the final design of my hexagonal development board with the XIAO ESP32C3 microcontroller and its corresponding connections turned out.

Work in progress Week 01

This is how the design looks with the copper zone highlighted.

Work in progress Week 01

We run the "DRC" check to verify there are no design errors, and then export the Gerber files for board fabrication. I found a default warning because KiCad recognizes two different track types that end very close to each other, but this can be ignored or solved by adding a copper-filled pad since it can be treated as a continuous trace.

Work in progress Week 01

3D VIEW WITHOUT COMPONENTS

Work in progress Week 01

3D VIEW WITH COMPONENTS. THIS IS THE FINAL DESIGN OF MY HEXAGONAL DEVELOPMENT BOARD WITH THE XIAO ESP32C3 MICROCONTROLLER AND ITS CORRESPONDING CONNECTIONS.

Work in progress Week 01

Conclusions:

  • I learned to develop a complete project in KiCad, from schematic creation to final PCB design.
  • I understood the importance of working with the XIAO ESP32C3 microcontroller datasheet to make correct connections and avoid design errors.
  • I successfully integrated key components such as the servo motor, the LDR module, 5V output pins, and a 0Ω SMD resistor to solve track crossings.
  • I improved design organization by defining board dimensions, placing components strategically, and routing tracks to optimize space.
  • The update process between schematic and PCB helped me better understand the iterative workflow in electronic design.
  • As a final result, I obtained a functional hexagonal development board with a modular structure, ready for future integrations.

FILES

HEXAMODULAR KICAD ZIP Download .ZIP
GERBER HEXAMODULAR Download .zip