Skip to content

6. Electronics Design

Group Assignment

We started the group assignment by studying Ohm’s Law and using a multimeter. We applied 1 V to a thin wire and measured the voltage at different points — it increased as we moved further from the start of the wire. Then we added a resistor and saw that the voltage before the resistor was almost zero, while after the resistor, it was close to 1 V.

Next, we studied the voltage divider — an important circuit used for reading sensor data, such as from light-dependent resistors. We built a circuit with a 610-ohm resistor and a second resistor with an unknown value. Using an oscilloscope, we measured the output voltage and calculated the resistance of the second resistor.

Our instructor explained the difference between analog and digital signals: an analog signal can take any value within a range (for example, from 0 to 5 V), while a digital signal has only two states: 0 or 1 (low or high).

Then, we looked at how PWM works on Arduino. Using the analogWrite() function, we applied different values and observed on the oscilloscope how the pulse width changed at values of 100 and 50.

Individual Assignment

library Setup

First, I needed to download and install KiCAD — a free program for designing electronic circuits and printed circuit boards (PCBs). After that, I started exploring the process of developing my board using this software.

After installing the program, I needed to download the Fab Lab's library archive to access the components required. I needed to add the downloaded symbols and footprints to the standard KiCAD library to use them. To do this, I first extracted the downloaded folder.

After that, I opened KiCAD, went to the Preferences menu, and selected Manage Symbol Libraries. In the window that appeared, I clicked the folder icon, navigated to the extracted folder, found the file named fab.kicad_sym, selected it, and clicked Open, then OK. After this, the symbols were successfully added to my library.

Next, I needed to add the footprint library. To do this, in the same Preferences menu, I selected Manage Footprint Libraries. Then, in the same way, I opened the folder, selected the fab.pretty folder, clicked Select Folder, and then OK.

After the setup, it was time to create a new project. To do this, I clicked File > New Project, selected the folder where I wanted to save the project, entered the project name, and clicked Save.

Schematic part

However, before starting to work in the software, I first made a preliminary sketch of the final project on paper, where I identified the necessary components.

Now that I have a clearer understanding of the components required for the project, I am ready to move on to the PCB design phase. Based on the preliminary sketch and the list of necessary components, I can plan the placement of the components on the board more accurately and efficiently, taking into account all the details of their connections.

As the main component, I chose the ESP32-C3 microcontroller, and the first step was to place it on the schematic. To do this, I selected the Place Symbols command and, in the opened window, loaded the Fab library. From this library, I selected the symbol for the ESP32-C3 microcontroller and placed it on the workspace.

To avoid connecting each component directly to the microcontroller and to prevent clutter on the workspace, I used the Place Global Labels tool. In the opened window, I entered the label name and clicked OK. After that, by copying and pasting these labels, I could neatly connect the components, maintaining order in the schematic.

And here is the completed schematic. It includes several resistors, LEDs, and separate pin headers for each pin of the microcontroller.

After completing the schematic, I decided to make some minor changes. I added an IRFZ44N transistor for one of the output signals, but since I couldn’t find it in the library, I used the IRLZ44N symbol in the schematic, as their footprints match. A transistor is an electronic component that controls the flow of current.It can amplify signals or switch circuits on and off. Essentially, it works as a controllable switch. I used it to turn the water pump in my hydroponic system on and off. I also removed all the LEDs from the circuit to simplify the design.

Then I switched to the PCB Editor by clicking Switch to PCB Editor, where I placed the components on the board, considering their proper arrangement for easy connections. After that, I started routing the tracks to connect all the elements.

PCB Editor

When the PCB Editor opened, it was empty, and to continue working, I needed to transfer the schematic part into this editor. To do this, I clicked on Update PCB from Schematic and in the opened window, I selected Update PCB.

After the update, all the components appeared on the board, but they were not properly arranged and were grouped in one place. This required further adjustments, as it was necessary to position them correctly on the board for easier track routing.

I placed all the components in the required positions, and for this, the thin lines showing which components were connected in the schematic helped me a lot. This significantly simplified the process and prevented any confusion. Additionally, if components were connected together in the Schematic part, it was impossible to make incorrect connections in the PCB Editor, as the software doesn't allow invalid connections.

I created the tracks using the Route Single Track tool. In places where thinner tracks were needed, I double-clicked on the track with the left mouse button and manually adjusted its width to meet the project requirements.

After all the tracks were placed, the next step was to draw the outer outline of the board. For this, I used the Draw Polygons tool, with which I drew the outline corresponding to the size and shape of the PCB. This step was necessary for the final preparation of the board for manufacturing.

Conclusion

It was a busy and interesting week. We started with a group assignment where we reviewed Ohm's law, measured voltage along a wire using a multimeter, assembled a voltage divider, and calculated the resistance of an unknown resistor. We also learned the difference between analog and digital signals and observed how PWM works on an Arduino.

After that, I moved on to the individual part of the assignment, where I had to quickly learn the new KiCad software with all its details. Despite some difficulties, I successfully designed a board for my project. I’m sure I will need to modify and improve it further, but for a first experience with the program, I think the result turned out quite well.

Source Files

PCB Test