Week 4: Electronics Design

Created
TagsKiCAD

Surprisingly enough, despite being an electronics engineer I never had a class on electronics design. I mostly used breadboards to prototype my products, and finally had one of my close friends do most of the PCB design so I was excited to dive into designing a board myself this week.

Even though I had Fusion 360 installed, I chose to use Kicad because it’s open-source and seems like a capable enough tool.

I wanted to design a dev-board for the XIAO ESP32-C3. Why? Because I felt like it would be a useful platform for me to prototype my final project on. I knew I am likely to use some WiFi or bluetooth capabilities so the ESP32 was the right choice.

Finding Footprints

The first job was to find a footprint for the ESP32-C3 XIAO. I tried searching “XIAO ESP32” on component librarian and the other websites but to no avail. Some had 3D models of it available but not the actual Kicad symbol library file.

I finally realized the problem was that I wasn’t searching for the specific part number when I looked at the XIAO on digikey and found that they had the files. When I searched the exact part number on the component library website, the correct results popped up. Note to self for the future, search for part numbers and not product names.

Designing

I used the fab-xiao project for inspiration and created this schematic for the breakout board. I also learned some tricks from a youtube tutorial : https://www.youtube.com/watch?v=aVUqaB0IMh4

I had to use the XIAO pinout diagram for reference as well.

In the process, I learned how to use Kicad much more effectively. Once I got a hang of the shorcuts, I became much faster and creating the schematic..

PCB Routing

I opened the board editor once I was done with the schematic and then when I clicked the button to update the PCB with details from the schematic, I got a world of errors thrown at me….

Seems like the footprints aren’t found for some reason.

Finally I found out that the default components in Kicad aren’t pre-linked with footprints so I instead changed all the components on my board to ones from the fab library. This fixed my issues and I was now able to route traces!

Routing the traces effectively took me a couple of hours. I spent a lot of time particularly in trying to understand how to route two wires under a 1206 resistor or LED. But it turns out with the design rules imposed on us by our CNC router, that is not possible. You can only route a maximum of one wire under the resistor.

When I run my Design Rules Checker, I still have a couple errors saying that a few resistor pads are unconnected. I reconnected them multiple times but the error still won’t go away. Oh well, I guess I will try and get help from one of the TF’s in class instead.

What’s the problem here???

I’m excited to finally produce this board though!