Assignment items

Group Assignment

Individual assignment





Fab Academy Rubric — Have you?
The criteria evaluators look for this week.






Tools

The process

My experience in this area is very limited, and the mini-course on electronics presented by Monther from Vujadé helped me organize my thoughts and figure out how to start.

Group assignment


As a remote student, I joined the VujaDé Lab session online from Kuwait while the team in Saudi Arabia ran the bench. The group assignment for this week is to use the test equipment in our lab to observe the operation of an embedded microcontroller — we covered the digital multimeter and the digital oscilloscope on an Arduino test board.


01: Using test equipment


Digital multimeter on the bench

01 | Digital multimeter — we used it to verify the basics of the circuit.

  • Continuity: tested the connections between different jumper wires and the power supply to confirm there were no breaks.
  • Voltage: measured the 5 V and 3.3 V output pins of the Arduino to confirm that the power supply was stable and accurate.

Digital oscilloscope showing PWM trace

02 | Digital oscilloscope — to observe the "invisible" behaviour of electricity. We wanted to see how the Arduino actually controls power using Pulse Width Modulation (PWM).

  • Setup: connected the oscilloscope probe to the PWM pin (Pin 9) running the Arduino "Fade" example sketch.
  • Observation: unlike a multimeter — which shows a steady average voltage — the oscilloscope revealed a square wave: the pin is rapidly switching between 0 V and 5 V, and the duty cycle determines the perceived brightness.
  • analogWrite(): we discussed how this function doesn't actually output an analog voltage. It outputs a fast digital signal (≈ 490 Hz on most pins, 980 Hz on pins 5 and 6 of the Uno). The "analog" effect is just our eyes / loads averaging the high-frequency switching.

Eye-opening
  • Feedback: As someone with no electrical-engineering background, this information was very valuable — especially because in my final project I need to control the strength of the vibration motor and the LED brightness, which is exactly what PWM (driven by analogWrite() or its MicroPython equivalent) lets me do. Going from "the LED looks dimmer" to "the duty cycle is 50%" is a big mental shift.
  • Challenge: Looking forward to receiving our shipment and devices on time to use them while we develop the project. As a remote student living in Kuwait while the lab is in Saudi Arabia, having the equipment locally is what would let me do bench-checks myself instead of relying on the global session.


Individual assignment:


01: Simulate a circuit (Wokwi)


HTTP link

00 | I started this task by asking Google AI Gemini to provide me with steps to use Wokwi to design and simulate a simple circuit

HTTP link

01 | I selected to work with ESP32-C3, then I added new parts for the list

HTTP link

02 | I selected a red LED, a button, and a 10K resistance for the button

HTTP link

03 | I connected the parts as shown in the drawing. The LED anode is connected to the resistor and then to ground on the microcontroller. The LED cathode goes to pin 10 on the microcontroller. I also connected one leg of the button to the ground of the microcontroller, and the other leg to pin 9

HTTP link

04 | I copied the code from Gemini AI, which first defines each pin to a variable name, then uses an if-condition to define the behavior of the circuit

HTTP link

05 | Deleted the default code in the simulation and ran the simulation, but it did not work.

HTTP link

06 | I followed the documentation by Musaed AlKout and changed my circuit to connect the LED to the button instead of to ground

HTTP link

07 | After running the circuit, the LED did not turn on. Then I changed the code and ran the simulation.

HTTP link

08 | There was an error in the syntax; I fixed the code

HTTP link

09 | When running the new code, the button was working, as the message "LED OFF/LED ON" was printed in the simulation — but the LED was not on yet

HTTP link

10 | I checked the connection, and after searching I found that I had misunderstood the LED legs. The short leg (cathode) is straight and the long leg (anode) is curved, even though it looked shorter. I switched the connections

HTTP link

11 | I ran the simulation and it worked — the statement "LED ON" is printed when the button is pressed and the LED turns red.

HTTP link

12 | Then I checked the first code generated by AI Gemini and it worked

HTTP link

13 | Then I tried the connection as I made it the first time — disconnecting the LED from the button and connecting it directly to the ESP32 — ran the simulation, and it worked.

Nice
  • Feedback: Understanding the graphics is very important, as well as making sure the code syntax is correctly written or pasted
  • Challenge: Debugging is not easy when building circuits. Including the print command for the button component was very useful

02: EDA tool to design PCB (KiCAD)


HTTP link

01 | I am using the ESP32-C3 SuperMini for my final project (continuing from Week 04 — Embedded Programming), so I had to get the footprint from SnapEDA

HTTP link

02 | I imported the files to the library of KiCAD

HTTP link

02 | I imported the files to the library of KiCAD

HTTP link

03 | Selecting the file be imported

HTTP link

04 | I added the microcontroller, an LED, a resistor, and a button from the library

HTTP link

05 | I aligned them and connected them to create my PCB

HTTP link

06 | I ran the Electrical Rules Checker to find the errors

HTTP link

07 | Then I started to fix the errors, first by closing the pins that are not connected to anything

HTTP link

08 | Then I added a power-flag net to the ground connection and all the errors were fixed

HTTP link

09 | Then I assigned the footprints to each part from the list

HTTP link

10 | Footprints assigned — now ready to switch to the PCB Editor.

HTTP link

11 | This is how it looks, and I found that I had selected the wrong LED and resistor part. So I had to switch back to the Schematic editor and repeat steps 4–10.

HTTP link

12 | So I had to switch to the schematics editor and repeat steps 4–10

HTTP link

13 | This is how it looks in the PCB Editor with all routes connected

HTTP link

14 | I also drew the outline of the board and changed its layer property to Edge Cuts.

HTTP link

14 | and this is how it looks in the 3D Viewer

Worth The efforts!
  • Feedback: KiCad is an interesting EDA. It took me time to learn the basics, and fixing the errors took hours spent on tutorials. Even so, it's worth the effort.
  • Challenge: Knowing the exact name of the parts in the library and making sure each has a footprint to be linked to. Many library parts are missing footprints.

04: Design a case in FreeCAD


HTTP link

00 | I followed this YouTube tutorial

HTTP link

01 | I exported my KiCAD file as STEP file, Imported it to the FreeCAD and started creating the case

HTTP link

02 | I followed the steps in the video to create a case

HTTP link

03 | I was not able to complete slicing the top cover of the case, and I ran out of time to complete this task

I need to practice more
  • Feedback: I learned a lot and I appreciate parametric designs for the case — it was very easy and time-saving compared to the previous way I used to manually try to fit things in
  • Challenge: Time, time, time… I need more time to watch tutorials and try more. Sometimes I feel I didn't try enough to even ask for assistance

Reflection

What worked
  • The Vujadé electronics mini-course gave me a starting structure for an area I had little experience in.
  • Simulating in Wokwi first surfaced the LED-leg and wiring mistakes before I committed to a PCB.
  • KiCad's Electrical Rules Checker caught the unconnected pins and missing power flags for me.
  • The ESP32-C3 SuperMini footprint from SnapEDA gave me a reusable schematic block I carried into Week 08 — Electronics Production and the final-project PCB.
What didn't
  • I misread the LED legs (anode vs cathode), so the first simulation didn't light up.
  • I picked the wrong LED and resistor parts and had to redo the schematic-to-PCB steps.
  • I ran out of time to finish slicing the top cover of the FreeCAD case.
What I'd do differently
  • Confirm exact part names and footprints in the library before placing components.
  • Double-check component polarity against the datasheet, not just the look of the part.
  • Budget more time for the case — parametric design is powerful but has a learning curve.
Key learnings
  • Simulate → schematic → PCB is a reliable order; each step catches a different class of mistake.
  • Many KiCad library parts are missing footprints — verifying this early avoids rework.
  • Parametric case design is much faster than manually fitting components, once you learn it.
  • The design / fabrication boundary lives between this week and Week 08: ERC + DRC here catches what a clean mill or vinyl cutter can't fix later.