Electronic Design
EDA tools

Introduction

This assignment is targeted at learning how to use EDA (Electronic Design Automation) tools to build PCB boards. Unfortunately, I didn’t attend the lecture this week since I was out for a meeting during whole week. I watched the video for recitation from TA (2025-10-03 11-18-14 on Vimeo) and tried to replicate its example about using Fusion to create an XIAO RP2040 development/test board with LED, bottom, and pin connectors.

1) The problem I encountered:

I followed the instructions in the videos, but it didn’t meet my logic when I tried to pour copper with the POLYGON function, because I noticed two pins on my LED were both connected to the GND:

w5-1

But when I checked my original schematic design, it seemed normal. However, the polygon function connected both pins to GND means there must be some problems in the schematic design that I ignored. Finally, when I tried to rotate that strange LED, I found the problem: I mistakenly shortened the pins of it, but the line was superposed on the LED, so it’s hard to see!

w5-3

After I fixed it, everything came back to the trail. Finally, I successfully finished the examples in the video but it’s my own version: w5-3

2) The idea to design the uniform PCB controller platform for my spectrometers:

Considering my limited time last week and this week, I didn’t get enough resources to build a customized board since this is my first time trying EDA. However, I do have the ideas on the PCBs that I want to build: A Spectrometer remote control board.

To begin with, I want this board to have the following functions:

  1. Several stepper motor controllers (2-4) for the electronic focusing and wavelength selection;
  2. Servo Motor controller, possibly 1-2 of them, for the calibration lid
  3. Several 12V/5V DC outputs for calibration lamps/LED, which means I need a boost module
  4. Sensors, like a hall sensor, are used to find the home position of the rotatable grating.
  5. WIFI function for remote communication without signal cables, to reduce vibrations. This means I should better choose XIAO ESP32-C3

The function of it shouldn’t be very complex, but it needs a lot of I/O ports. XIAO definitely has enough computing resources for it, but maybe not enough I/O ports. So there are two solutions:

  1. Use MCP23017 (16-bit I/O Expander with I²C Interface) to expand the I/O ports to 16 more (Which seems not to be in the fab class inventory). This is the suggestion from ChatGPT
  2. Use two or even more XIAOs to communicate and work together

Now I have two open-source programs with similar functions to learn from them, but they are too big:

  1. UVEX 4i: Montage électronique 4.13 – UVEX 4

    They are still using the super old “Arduino MEGA 2540” as a microprocessor. I can use more smaller, modern processor like RP 2040 to replace it. Now I have the physical board to learn how it works.

  1. FlexSpec1: 21. Electronics — FlexSpec1 0.1 documentation

​ They didn’t publish the files of their design publicly. I personally contacted them, and got the PCB files (KiCAD). I also printed the boards from JLC, but I still haven’t started to solder them. From the original design, I can learn a lot.

w5-4