Skip to content

6. Electronics Design


Weekly Assignment:


Group assignment:

  • Use the test equipment in your lab to observe the operation of a microcontroller circuit board

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
  • Extra credit: try another design workflow
  • Extra credit: design a case for it

KiCAD


Essentially, the process I followed goes:

  1. Figure out the components I plan on using and how they are supposed to connect
  2. In an EDA software (KiCad, Eagle, etc.), draw the circuit diagram with symbols for components.
  3. In the Footprint editor, make sure your components are assigned to the correct library
  4. Convert the schematic to a PCB layout using the EDA tool. Rearrange your component placement, draw the edge of the board to define dimensions, and make other necessary changes. Perform an Electrical Rule Check (ERC) to validate the design.
  5. Export Gerber files for PCB fabrication as well as drill files for holes.
  6. Send the Gerber and drill files to the software connected to the milling machine

Steps 2 though 5, the design process, are done using KiCad. Selecting components and planning connections is done before using KiCad. CNC Milling & PCB Fabrication happens outside KiCad, using milling machine software.

I downloaded KiCAD version 9.0.0 here and Fab Libraries here. To add the library onto KiCAD, I went into Preferences and then Manage Footprint Libraries. Below the chart, I clicked on the folder icon and added the files I needed to.

Originally, I had added the entire folder full of the downloaded repo into Manage Footprint Libraries, but what I should have done was follow the instructions at the bottom of the GitLab page.

"Go to "Preferences / Manage Footprint Libraries" and add fab.pretty as footprint library. Go to "Preferences / Configure Paths" and add new environment variable "FAB" that points to location of the fab library on your drive, e.g. ~/kicad/libraries/fab. This is needed for the 3D models to load correctly. Go to "Preferences / Configure Paths" and add new environment variable "FAB" that points to location of the fab library on your drive, e.g. ~/kicad/libraries/fab. This is needed for the 3D models to load correctly."

I found all of the components I needed in under the fab folder: the ESP32C3, LED, resistor, and SPST button switch

I watched this tutorial to get the PCB board making process back in my mind. This was my board in the PCB editor. I already drew the rectangle on Edge.Cuts to indicate the boundaries of my board.

I encountered a slight mishap when I drew my traces on the Edge.Cuts layer instead of on F.Cu (the top copper layer). The tutorial told me that I could right click it and select "Place Through Via" or "V" to directly have it be on the F.Cu layer.

I tried that for my next set of traces, but it didn't work. I ended up just deleting all of my traces, moving to the .Cu layer I needed to be on, and redrawing them all.

Then, I went to the 3D Viewer to get a simulation of what my board would look like true to life.

Clearly, I'm facing the issue where my button is not showing up. At first, I was also worried that my resistors, button, and LED were not through hole, but I realized that that is how it should be. Andrew let me know that instead of Switch_Tactile_ESwitch it was Switch_Tactile_Omron.

On top of that, I also double checked my footprints in Footprint Editor. Everything was under the Fab library, which was right.

Then, I redid my PCB. I also changed the trace width from 0.2mm to 0.5mm.

This time, it looked right, with the switch showing up and looking like the one I had in mind.

Milling


I used my old workflow from Engineering last year as a reference.

I got the files ready to print by exporting the .gbr file for the F.Cu and Edge.Cuts layers.

But I completely forgot that my button needed a resistor too, and I had to edit my design last second before I printed it.

This time when I went to print, Angel let me know that I also needed the path files, which I downloaded when I went into Generate Drill Files.

When I got all the files inputted into the Bantam software and delected all the tools and adjusted the orientation, I went to generate Gcode. However, it told me that there were some areas that needed a smaller bit, so I added the 0.005mm engraving bit.

Even so, that wasn't enough, so I had to adjust the PCB layout for it to accept it.


Soldering


I soldered my components on, but faced an issue because of the solder bridging underneath the piece. It might have been because I used solder paste and unbeknownst to me it blobbed together when I pushed the component down.


Group


Our group assignment was to use the test equipment in our lab to observe the operation of a microcontroller circuit board. We covered the multimeter and oscilloscopes. Our documentation can be accessed here.


Overview


This week was, again, a review, but I think it was much more helpful because of the little details in the PCB design process. Steps like adjusting the footprint editor, adjusting the trace width and placement, changing bits, prepping the machine, etc. were ones I vaguely remembered but needed to reinforce in greater detail. PCB design is a bit part of Fab Academy, so this was a very necessary struggle.

I think I want to make my PCBs look better in the future, because right now they look very harsh and basic. It also seems wrong for my traces to be going under my chip, so I'll need to fix that in the future. I think my next step is to program my chip and get my board to actually work, which I did not really have time for this week.


Files





Last update: April 2, 2025