Week 6 · Electronics Production

Group Assignment: PCB Fabrication

For this week's group assignment, we followed the process from previous years to design and fabricate a PCB featuring the Media Lab logo. The goal was to prepare the design files and send them to a PCB manufacturer to understand the full lifecycle of electronics production, from design to factory fabrication.

Media Lab Logo PCB Design
The KiCad design of the Media Lab logo PCB, ready for fabrication.
PCB fabrication preparation
Preparing the Gerber files to be sent to the PCB factory.

This exercise provided practical experience in generating manufacturing files (Gerbers) and interfacing with fabrication houses, which is a crucial step in turning a prototype into a product.

Individual Assignment: PCB Milling and Assembly

This week, I worked on milling and assembling my own PCB. The process involved several attempts and learning from failures.

Testing KiCad export file
Step 0: Testing the export file from KiCad to ensure the design is ready for the milling process.
PCB cutting on the milling machine
Step 1: Cutting the PCB with the milling machine.
Failed PCB attempt due to soldering and heat gun
Step 2: A failure. I was too ambitious with making lots of holes, but my soldering technique wasn't good enough. I ended up ruining the PCB with a heat gun.
Failed PCB due to incorrect Gerber export
Step 3: Another failure. When exporting the Gerber, I forgot to drag the cutting edge and copper layer together, which resulted in a wrong edge cut on the top.
Successful third PCB attempt
Step 4: I printed the third board and it worked! The LED trace was broken, but thanks to our TA's help, I used a wire to jump the destroyed area. Even if the result is a floating LED, I like it.

The Water Flow Sensor Nightmare

Then it was the nightmare. I spent three days trying to connect this water flow sensor that I had used before, and it worked properly on my Arduino Uno. However, I tried everything but still couldn't get it to show any data. My connection was good, and I tried connecting it to a XIAO ESP32 S3, a XIAO RP2040, and even without a PCB board, but I feel like this sensor may only work on the Uno due to a custom combination (I bought it from my home country, not in the US).

Water flow sensor connection
Debugging the sensor connection

XIAO Board Success

After the issues with the water flow sensor, I tested the XIAO board to ensure it was functioning correctly. My XIAO worked properly, which confirmed the problem was likely with the sensor itself and not my board.

Confirmation that the XIAO board is working as expected.

Switching to a Wind Sensor

Since the water flow sensor was not working, I had to switch to another sensor. I chose a wind sensor, and although the data is a bit delayed, it worked. This confirmed that the issue was not with my PCB design.

Wind sensor setup
Setting up the new wind sensor.
The wind sensor successfully sending data.

Next Expectation

My PCB board should work properly, as the test I did with the Arduino board. Here are some demo videos for the test of the final project. I am using a linear actuator to make a breathing paper, but the final goal is to finish a breathing wall, and the input data is from the air sensor.

Breathing paper prototype
Prototype of the breathing paper mechanism.
Testing the linear actuator
Testing the linear actuator with the paper.