This is the schedule I made for this week to help me manage my time efficiently:
This week, our group worked with two key pieces of test equipment in our lab: an oscilloscope and a multimeter. You can access our group assignment here.
Our local instructors, Dawa and Yangtshel, walked us through the basic features of both tools and helped us get hands on with them.
For the oscilloscope, we used the GDS-1202B by GW Instek, a digital storage oscilloscope. To test it, we hooked it up to a sound sensor circuit and watched how the waveform changed in real time based on sound. Louder sounds made taller waves, softer sounds made shorter ones, and high vs. low pitch affected how close together the waves appeared. This helped us observe both digital and analog signals in action.
With the multimeter, we practiced measuring resistance, testing continuity, and measuring voltage. We learned how each measurement requires a different connection setup,for example, resistance is measured with the circuit off, while current requires breaking the circuit and measuring in series.
Overall, the main takeaway was understanding how these tools let you see inside a circuit. The oscilloscope shows you how a signal behaves over time, while the multimeter gives you precise numerical readings of electrical properties. They're both important for debugging and understanding any electronics project.
The EDA software I'll be using for my board is Kicad
KiCad Tutorial: Make Your First Printed Circuit BoardKiCad is a free, open-source, and user-friendly electronic design automation (EDA) software suite that streamlines PCB design from schematic to layout. It is considered "simple" due to its intuitive, integrated interface, large community support, and lack of paid "premium" limitations. It is perfect for beginners and professionals alike.
KiCad consists of a suite of integrated tools, each dedicated to a specific stage of the PCB design process:
A schematic in KiCad is a digital, 2D diagram that acts as the blueprint for an electronic circuit, showing how components like resistors and ICs connect using symbols and wires. It is the starting point for PCB design, allowing you to define electrical connections, check for errors, and generate a netlist for the layout process
I began creating my schematic by referring to this image as a guide. Since the board is intended for my final project, the main components I needed to design were the pin headers for connecting the project parts, like the image below.
Here is the label for the workplace.
I placed all the required components onto the workspace. The components I used included:
After placing all the required symbols in the schematic and completing the electrical connections, the next step was to link each component to its physical representation on the PCB.
In KiCad, footprints represent the actual physical layout of a component on the board. They define where the pads are placed, their size and spacing, and how the component will be soldered onto the PCB. In simple terms, while the schematic shows how components connect electrically, the footprint shows how they exist physically on the board.
To assign footprints, I opened the Tools menu and selected "Assign Footprints" to match each schematic symbol with the correct PCB layout.
The Electrical Rules Checker (ERC) in KiCad is a tool that automatically scans your schematic for common electrical mistakes or rule violations. It works like a spell check for circuits, identifying issues such as unconnected pins, duplicate net names, incorrect power connections, and other potential errors. Running ERC ensures your design follows proper electrical standards and helps catch problems early, making the transition to PCB layout smoother and reducing the chance of costly mistakes.
Creating a schematic for my final project took quite some time, especially as a complete beginner in KiCad. I made numerous mistakes and had to run the ERC several times to fix all the errors.One mistake I made was using the XIAO ESP32 C3 bare chip. I was already halfway through designing the necessary voltage regulators and the EN switch when I found out that it would have been fine to use the module instead for my project .The mistake was because of my own carelessness
One silly mistake I made was using THT connector pin headers instead of SMD ones, which meant I had to reassign footprints halfway through designing the PCB.
Another mistake I made was choosing the wrong footprint for the ESP32-C3 module. Instead of using the Xiao generic socket SMD footprint, I selected the standard connector pin headers that I had used for the rest of my components. Initially, I used the Xiao ESP32 module without assigning the generic socket footprint, leaving the chip footprint by default, which wasn’t correct since I wasn’t soldering the chip directly to my board.
Later, I made another mistake by selecting the regular connector pin header symbol for the Xiao module, just like I did for the other components.I actually got pretty far with my board before I even realized I had chosen the wrong footprint!
Since I was designing the board for my final project, I had to add pin headers for the specific components I planned to use. I used Conn_01x04, Conn_01x05, and Conn_01x02 symbols depending on how many ESP32-C3 pins each component required.
After placing the appropriate connectors, I labeled them to the corresponding GPIO pins of the ESP32-C3. I also added a resistor for the flex sensor.
The RX and TX connections took quite a bit of time to get right. The RX kept connecting to RX and TX to TX instead of RX to TX. I initially tried using labels to link them, but when I moved to the PCB layout, the RX and TX were not connecting correctly. In the end, I directly connected them using wires in the schematic, and that solved the issue.
After what felt like an eternity of tweaking, and fixing mistakes, I finally finished designing the schematics for my final project board.🥳
I used labels to make all the connections look cleaner and more organized. To add a net label, select the "A" icon or press Ctrl + L.
I learned about two types of labels:
In KiCad, annotation is the process of giving each component in your schematic a unique identifier or reference designator. These identifiers make it easy to tell components apart and are crucial for keeping your circuit organized and correctly assembled. Annotation ensures that every component has a distinct name or number, which helps prevent mistakes during both the design and assembly of the physical PCB.
To annotate your schematic, go to "Tools" in the top menu and select "Annotate Schematic."
From the 'Tools' dropdown, select Update PCB from schematics.
These were all the components I had to route 😣
First, I arranged all my components to make routing easier. I made sure to avoid positions where the blue guideline lines overlapped too much. I also adjusted the orientation of some components to achieve a cleaner layout with fewer overlapping lines.
Then I started routing, and wow, it took a really long time 😵💫 especially when having to tweak your schematics time and again because of the footprints confusion. If you’re someone who loves puzzles and mazes, you’d probably love this. Me....... not so much 🥲
But oops! I forgot that I didn’t need to solder the ESP directly onto my board, so I had to switch to vertical female pin headers. On top of that, I had chosen the wrong footprints for most of the other pin headers,they were supposed to be surface-mounted, not through hole.
Routing is definitely not my thing, but I guess practicing is the only way to make progress! ^_~
God knows how many times I got stuck😵 There was always one pin that just refused to work with me. (┬┬﹏┬┬)
To fix the issue, I added zero ohm resistors, which solved the stubborn connections.
After what felt like a whole ice age passing by, I finally finished my PCB!🎉
I added the border line, which defines the shape of my board and will be used by the milling machine to cut it out.
Just like I ran the ERC for my schematic, I also ran the Design Rules Checker for my PCB to make sure there were no design errors and to help me improve the board
Then I clicked on the 3D viewer to check how my board looked like in 3D. The KiCad 3D Viewer is a tool for visualizing your circuit board in 3D to check for component clashes, verify mechanical fit in enclosures, and inspect the final look of the board. It provides a realistic, rotatable model that updates automatically as you make changes in the layout.
Mods CE is a browser based CAM (Computer-Aided Manufacturing) tool that converts your PCB design files into machine-readable instructions. You load in your exported board image, set parameters like cut depth and tool size, and it generates the toolpaths that tell the milling machine exactly where and how to cut your copper traces and board outline.An RML file is the output file generated by Mods CE, it contains the movement instructions (toolpaths) that tell the milling machine exactly where to move and cut.
I referred to Azhim Tsheltrim’s Week 6 assignment page, which provided me with a lot of helpful guidance. These are the steps I followed to generate the RML file, the process is actually really easy, and it took me like 15 minutes.:/p>
First export your board layer as SVG in Kicad:
Then search up Mods CE in your browser.And then, I did the following procedures:
This workplace should appear:
This is the preview of my SVG for the F.Cu layer of my board:
I repeated the whole process again to generate an RML file for my board edge cuts layer:
If I had to describe this week in emojis, it would be: 😵💫😵🪦⚰️. But all is well in good days I guess. Even though this week was relatively harder than the previous ones, and knowing the coming weeks will be even tougher, I learned so many things that I couldn't have without always having everything easy.
Routing was annoying, yes, but also really fun. And hey, I got to work on my final project board, which is a huge step forward. So, cheers to that! 🥂