Week 6 – Electronic Design

Fab Academy – Week 6

Date range: 25 Feb- 3 Mar

Instructor: Neil Gershenfeld

🧠 Learning Objectives

  • Select and use software for circuit board design
  • Demonstrate workflows used in circuit board design

📋 Assignments

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

Group Assignment

  • Use the test equipment in your lab to observe the operation of a microcontroller circuit board (as a minimum, you should demonstrate the use of a logic analyzer)
  • Document your work on the group work page and reflect what you learned on your individual page

🛠️ Tools & Materials

  • Software (KiCAD, Fusion360, Wokwi)
  • Machines (BambuLab A1, generic multimeter)

👥 Group Assignment

For this group assignment we explored a few lab tools for debugging and measuring electronics: the Multimeter, the Oscilloscope, Power Supply and Signal Visualization.

Multimeter: The Static Check

We began by using a digital multimeter to verify the basics of the circuit.

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

1000197620.jpg

2. Oscilloscope: Seeing the Signal

To observe the "invisible" behavior of electricity, we used a digital oscilloscope. We wanted to see how the Arduino actually controls the power using Pulse Width Modulation (PWM).

  • The Setup: We connected the oscilloscope probe to the PWM pin (Pin 9) running the "Fade" example code.
  • Observation: Unlike a multimeter which shows a steady average voltage, the oscilloscope revealed a wave.
  • analogWrite(): We discussed how this function doesn't actually output an analog voltage, but rather a digital signal switching very fast (approx. 490Hz or 980Hz depending on the pin).

1000197796.jpg

🧪 Process & Workflow (Individual Assignment)

For this assignment I chose a fun small project using an ATtiny85, an LED and a tilt sensor, to make a keychain that will light up when shook, so that I stop losing my keys inside my hand bag.

The handbag finder logic:

  • The "Motion-Triggered Finder": Instead of a constant strobe, the LED remains OFF while the bag is stationary.
  • The Trigger: As soon as you pick up or rummage through the bag, the tilt sensor (acting as a vibration switch) wakes the ATtiny85 from a deep sleep.
  • The Action: The LED pulses brightly for 10–15 seconds so I can see the keys, then fades out and goes back to sleep to save the battery.

Step 1 – Wokwi Simulation Setup

First step is to prototype it on wokwi and test the logic. So I started a new Wokwi ATtiny85 project, the added the required components.

  • Pin 2 (PB2/Tilt): Connect to theTilt Sensor (in wokwi I added a simple switch).
  • Pin 4 (GND): Battery (-) and LED Long Pin.
  • Pin 5 (PB0/Red): Through a resistor to the Red leg.
  • Pin 6 (PB1/Green): Through a resistor to the Green leg.
  • Pin 7 (PB4/Blue): Through a resistor to the Blue leg.
  • Pin 8 (VCC): Battery (+) not simulated on wokwi.

image.png

Step 2 – Circuit Design

Installing KiCad then following the steps here, to add fab academy’s electronic library.

Schematic Design

The logic was built around the ATtiny85 microcontroller. To ensure the board is programmable in the lab, I integrated a standard 2x03 ISP Header, which shares pins with the LED outputs.

  • Key Components: ATtiny85, RGB LED (Common Anode), 1206 resistors, decoupling capacitor, and a CR2032 battery holder.
  • Safety Check: Performed an Electrical Rules Check (ERC) to ensure no pins were floating and all power nets were properly terminated.

The check returned with two errors but they were ok, two were for the power not provided, and one was about pin2 not being connected to anything, which was also ok.

image.png

After finishing the schematic, a quick check on the assigned footprint.

image.png

Physical Layout & Aesthetics

I wanted the board to reflect its purpose, so I designed the PCB outline to look like a large key, I started the PCB editor with “Switch to PCB Editor” from the tools menu.

  • I arranged the components in a way that resembles a key, hover over a component the press M on the keyboard to move and R to rotate.
  • Edge.Cuts Layer: I used the circle and line tools to create a closed loop. I placed the battery holder in the "head" of the key and the components along the "blade."

image.png

Routing & Design Rules

Since this board will be milled, I had to set specific design constraints to ensure the traces wouldn't be damaged during the milling process.

  • From Board setup under file menu, choose Design Rules: Set Track Width and Clearance to 0.4mm to accommodate the size of the milling bit.
  • Routing: it requires a lot of thought on how to rout the connections as the will overlap and you’ll have to re-arrange the components.
  • DRC: of course running a Design Rules Check failed as I still need to finish the routing.

Running into issues wiring the PCB.

image.png

3D Design

The final step was modelling a 3D case for this PCB. KiCAD generated the 3D file which I was able to import into Fusion 360.

image.png

Here’s a rough design for the final part

image.png

Step 3 – Testing another workflow - Fusion360 Electronic Design

The steps are almost the same as KiCAD, I started inserting the required components.

image.png

⚠️ Problems & Solutions

  • Routing the PCB wires is a headache, I still haven’t figured it out. I will try to do it on wokwi then translate it on the PCB editor.

🧩 Files

  • Wokwi
  • Fusion360
  • Downloads

📝 Reflection

  • I realized that starting with a 3D model is a good way to get a feel of how the electronics can go. Since it’s my first time designing a PCB, I wasn’t sure how big or small it will be or could be, until I imported it in Fusion360 I realized I have more room for spacing the components, which is what I will be doing next.