Week 6: My First PCB – A Journey into Copper Paths and Ground Planes
For Week 6, we were tasked with designing a custom PCB based on a microcontroller of our choice. Our fab lab recommended using either the Xiao Seeed RP2040 or the ESP32, so naturally, I picked the RP2040—though I might switch to the ESP32 for my final project to take advantage of its wireless features 📡.
Group Assignment
Check out my labmate + Fabmate- Sharvari's page for this weeks group assignment!
Takeaways
The osciloscope is an amazing tool to have in our arsenal, even with my limited experience with circuitry-bug fixing I could see how it would be essential in calculating the total voltage running across the circuit and helping in identifying anomalies in the connections made or components added.
Getting Started with PCB Design
Before we jumped into designing, our mentor Jesal sir walked us through Eagle on Fusion 360. While powerful, Fusion 360 can be overwhelming for beginners, so we were advised to start with EasyEDA first. The plan? Get a few circuit boards under our belt before making the move to Fusion.
Then came Pranav sir, another mentor at our FabLab node. He walked us through EasyEDA’s interface, showed us his past projects, and broke down what goes into making a PCB. Some key takeaways:
✅ Choose components with larger soldering pads – makes soldering way easier.
✅ Use net ports – helps avoid spaghetti wires in the schematic.
✅ Group components logically in the schematic – makes routing the PCB much simpler.
Armed with this knowledge, it was time to dive into EasyEDA.
EasyEDA Setup: Online Version to the Rescue!
I originally planned to download EasyEDA, but of course, the download file was corrupted 🤦. No problem—switched to the online version, which worked seamlessly after a quick sign-up. And just like that, I entered the world of copper paths and ground planes.
EasyEDA interface
Designing My PCB in EasyEDA
Schematic design interface
1️⃣ Placing the Microcontroller
First things first—I placed the RP2040 microcontroller on my canvas. This would be the brain of my board 🧠.
Choosing my microcontroller from the library
2️⃣ Extending Power & I/O Pins
To make the board more versatile, I:
- Extended 5V, GND, and 3V3 ports so I could connect multiple output devices or sensors at the same time.
Extended Power lines
- Ensured each microcontroller pin had at least one header pin.
Header for each pin
- Added a dedicated I2C pin header for future sensor connections.
I2C Header
3️⃣ Adding Basic Components
- A red LED with a resistor in series to limit current.
Adding LED and Resistor
- A push button connected to another pin.
Button added
- Used the "No Connect Flag" to mark pins with no connections (helps keep things clean).
No Connection Flag
Once all components were connected using wires (which would later become copper paths), my schematic was complete! 🎉
From Schematic to PCB Layout
With my schematic ready, it was time to generate the PCB layout. I clicked on:
🔹 Design > Convert Schematic to PCB
Convert to PCB option
At this point, EasyEDA checks for errors. And of course, I had a few:
Check net option
❌ Loose connections on my 5V extension pin
❌ Two pins weren’t connected to anything
Fixed them using the Wire Tool, and I was good to go!
Routing the PCB (Where Things Get Real)
Once inside the PCB section of EasyEDA:
PCB Design Interface
1️⃣ Specified board dimensions 📏
2️⃣ Arranged components in a logical orientation
Component Layout
3️⃣ Defined design rules (trace width, clearance, etc.)
4️⃣ Used Auto-Route to generate paths 🚀
Specifying Auto Route layer
The first time I ran Auto-Route, 3 out of 52 paths failed to connect 😭. The issue? Paths were crossing on a header pin.
Overlapped Paths
To fix this, I rotated the header pin to untangle the connections, ran Auto-Route again, and boom! Everything connected perfectly.
Successful Attempt
Final PCB
3D Renders
3D board and 3D viewer Interface
Expected PCB Output
Experimenting
I realised i could design my own outline for the PCB, so I designed an outline on Adobe Illustrator.
Exported this as a SVG and tryed importing it on EasyEDA
The SVG had a fill layer so i exported it as a DXF file
Then I laid out the components on my new design
Then Auto Route took the wheel & failed lol
Itteration NO.2 for layout- worse
Creating my own outline for the PCB is definitely something I will have to dig deeper into because of the narrow and limiting form factor of my final project. But for now I am excited to see this my first ever PCB being milled in 2 weeks.
Final Thoughts & Lessons Learned
✔ Double-check connections – small mistakes in the schematic = big headaches later.
✔ Auto-Route is a lifesaver (but manual tweaking is sometimes needed).
✔ Bigger solder pads = happier future me when soldering 😆.
✔ Organizing components early makes routing easier.
With my first-ever PCB designed and ready to be milled, I’m excited to see it come to life! Next step: fabrication and testing! 🔥