summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederick Yin <fkfd@fkfd.me>2023-04-10 12:54:08 +0800
committerFrederick Yin <fkfd@fkfd.me>2023-04-10 12:54:08 +0800
commitff8483b3f2ba024cc2af84a63aca25d508530be5 (patch)
tree497fdc02c8917d6ade19daceb3906b989f700445
parentfa4beb281f9c3e1d4cb10a067f077c564adf995a (diff)
projects/reflow-workshop: 2023-04-09 update
-rw-r--r--docs/projects/img/reflow-workshop/avrdude.pngbin0 -> 17782 bytes
-rw-r--r--docs/projects/img/reflow-workshop/cap_reflow.mp4bin0 -> 4256282 bytes
-rw-r--r--docs/projects/img/reflow-workshop/first_prototype.jpgbin0 -> 235724 bytes
-rw-r--r--docs/projects/img/reflow-workshop/japanspachtel.jpgbin0 -> 172124 bytes
-rw-r--r--docs/projects/img/reflow-workshop/kliments_vs_mine.jpgbin0 -> 103194 bytes
-rw-r--r--docs/projects/img/reflow-workshop/pick_and_place.jpgbin0 -> 213210 bytes
-rw-r--r--docs/projects/img/reflow-workshop/qfn32_joint_short.jpgbin0 -> 66982 bytes
-rw-r--r--docs/projects/img/reflow-workshop/qfn32_paste_short.jpgbin0 -> 93449 bytes
-rw-r--r--docs/projects/img/reflow-workshop/qfn32_paste_success.jpgbin0 -> 186739 bytes
-rw-r--r--docs/projects/img/reflow-workshop/qfn32_socket_loaded.jpgbin0 -> 221351 bytes
-rw-r--r--docs/projects/img/reflow-workshop/solder_paste_scraped.jpgbin0 -> 221316 bytes
-rw-r--r--docs/projects/img/reflow-workshop/usbasp.jpgbin0 -> 136407 bytes
-rw-r--r--docs/projects/reflow-workshop.md129
13 files changed, 129 insertions, 0 deletions
diff --git a/docs/projects/img/reflow-workshop/avrdude.png b/docs/projects/img/reflow-workshop/avrdude.png
new file mode 100644
index 0000000..d001367
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/avrdude.png
Binary files differ
diff --git a/docs/projects/img/reflow-workshop/cap_reflow.mp4 b/docs/projects/img/reflow-workshop/cap_reflow.mp4
new file mode 100644
index 0000000..d988fb8
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/cap_reflow.mp4
Binary files differ
diff --git a/docs/projects/img/reflow-workshop/first_prototype.jpg b/docs/projects/img/reflow-workshop/first_prototype.jpg
new file mode 100644
index 0000000..7aa39f0
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/first_prototype.jpg
Binary files differ
diff --git a/docs/projects/img/reflow-workshop/japanspachtel.jpg b/docs/projects/img/reflow-workshop/japanspachtel.jpg
new file mode 100644
index 0000000..0805f8b
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/japanspachtel.jpg
Binary files differ
diff --git a/docs/projects/img/reflow-workshop/kliments_vs_mine.jpg b/docs/projects/img/reflow-workshop/kliments_vs_mine.jpg
new file mode 100644
index 0000000..cc988a0
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/kliments_vs_mine.jpg
Binary files differ
diff --git a/docs/projects/img/reflow-workshop/pick_and_place.jpg b/docs/projects/img/reflow-workshop/pick_and_place.jpg
new file mode 100644
index 0000000..73f9a0e
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/pick_and_place.jpg
Binary files differ
diff --git a/docs/projects/img/reflow-workshop/qfn32_joint_short.jpg b/docs/projects/img/reflow-workshop/qfn32_joint_short.jpg
new file mode 100644
index 0000000..663ba9a
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/qfn32_joint_short.jpg
Binary files differ
diff --git a/docs/projects/img/reflow-workshop/qfn32_paste_short.jpg b/docs/projects/img/reflow-workshop/qfn32_paste_short.jpg
new file mode 100644
index 0000000..67f7435
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/qfn32_paste_short.jpg
Binary files differ
diff --git a/docs/projects/img/reflow-workshop/qfn32_paste_success.jpg b/docs/projects/img/reflow-workshop/qfn32_paste_success.jpg
new file mode 100644
index 0000000..976e578
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/qfn32_paste_success.jpg
Binary files differ
diff --git a/docs/projects/img/reflow-workshop/qfn32_socket_loaded.jpg b/docs/projects/img/reflow-workshop/qfn32_socket_loaded.jpg
new file mode 100644
index 0000000..3a13eb3
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/qfn32_socket_loaded.jpg
Binary files differ
diff --git a/docs/projects/img/reflow-workshop/solder_paste_scraped.jpg b/docs/projects/img/reflow-workshop/solder_paste_scraped.jpg
new file mode 100644
index 0000000..2621dfa
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/solder_paste_scraped.jpg
Binary files differ
diff --git a/docs/projects/img/reflow-workshop/usbasp.jpg b/docs/projects/img/reflow-workshop/usbasp.jpg
new file mode 100644
index 0000000..6eadcce
--- /dev/null
+++ b/docs/projects/img/reflow-workshop/usbasp.jpg
Binary files differ
diff --git a/docs/projects/reflow-workshop.md b/docs/projects/reflow-workshop.md
index a0c293f..c029722 100644
--- a/docs/projects/reflow-workshop.md
+++ b/docs/projects/reflow-workshop.md
@@ -280,3 +280,132 @@ I was using. Good as new.
## 2023-04-05, Wednesday
Apparently my ATtiny's arrived in Shenzhen yesterday! Any day now…
+
+## 2023-04-08, Saturday
+
+They're here! Sadly I don't have time to play with them, I need to go to
+a barbecue…
+
+## 2023-04-09, Sunday
+
+Guess whose dream four years ago came true today!
+
+I can hardly contain my excitement, but I'll try my best to describe what
+I did just now:
+
+### 20:00
+
+I arrived at the hackerspace and set everything up. I was alone so there's
+no pressure. I think I might be able to finish this by ten.
+
+### 20:10
+
+I carefully picked up one (1) ATtiny48-MU chip and placed it inside the
+QFN socket. It looks like this:
+
+![Loaded QFN socket](img/reflow-workshop/qfn32_socket_loaded.jpg)
+
+▲ Finally, I can propose to my cyberfiancé(e)
+
+I closed the lid and taped it shut. I don't want to lose it!
+
+### 20:25
+
+The chip must be programmed before going onto the PCB. For this I'm using
+a [USBasp](https://www.fischl.de/usbasp/).
+
+![QFN socket on a breadboard, connected to a USBasp with jumper
+wires](img/reflow-workshop/usbasp.jpg)
+
+▲ Actually there are mistakes in this photo. Three consecutive pins are
+off-by-one.
+
+After that, I connected the USBasp to my computer and attempted to
+communicate with the chip, but failed. By continuous trial-and-error,
+I found and fixed three problems:
+
+- the MOSI, MISO and SCK pins are off-by-one
+- I didn't pull `~RESET` low
+- The baud rate is too high
+
+![Screenshot of avrdude in interactive mode](img/reflow-workshop/avrdude.png)
+
+▲ Finally, we have established diplomatic relationship with the Silicon
+World.
+
+I then set the fuses so that it runs at 8 MHz. And… it's done I guess?
+
+## 21:10
+
+Then comes the exciting part. I need to repeat what I did on
+[2023-04-03](#2023-04-03-monday), but now we're going full throttle. I now
+have a chance to capture photos I forgot by then.
+
+![A Japanspachtel on top of a stencil and PCB](img/reflow-workshop/japanspachtel.jpg)
+
+![Stencil with paste scraped all over it](img/reflow-workshop/solder_paste_scraped.jpg)
+
+## 21:30
+
+Doing the QFN32 is harder than I thought. There's always too much paste.
+At first I thought it was my recklessness, so I kept reworking with
+increasing care. It took me three tries to realize it is not. Actually, it
+was the tiny displacements of the stencil as I scraped the other parts.
+
+![Close-up of the QFN32 footprint with too much
+paste](img/reflow-workshop/qfn32_paste_short.jpg)
+
+▲ All the pads make one single blob. Not ideal.
+
+So, instead of scraping the QFN32 footprint first, in my fourth run
+I scraped it _last_. But upon removal there was too little. Time was
+running out, so in a risky move I re-attached the stencil and scraped
+a little more paste.
+
+![Close-up of the QFN32 footprint with a reasonable amount of
+paste](img/reflow-workshop/qfn32_paste_success.jpg)
+
+▲ It worked!
+
+So after manually separating a few shorts on the discrete components, it's
+time to pick & place!
+
+### 22:00
+
+![All the parts placed on respective
+footprints](img/reflow-workshop/pick_and_place.jpg)
+
+▲ Didn't lose D3 this time
+
+Onto the hotplate!
+
+### 22:10
+
+Watch C2 fall in place as the solder heats up.
+
+<video controls>
+ <source src="../img/reflow-workshop/cap_reflow.mp4" type="video/mp4">
+</video>
+
+▲ MP4, 4.1 MiB, no sound
+
+The only problem was two shorted leads, which are easily fixed with flux
+and the soldering iron.
+
+![Two leads are shorted on the MCU](img/reflow-workshop/qfn32_joint_short.jpg)
+
+### 22:20
+
+BEHOLD
+
+THE FIRST PROTOTYPE
+
+![Completely populated PCB, LED is on](img/reflow-workshop/first_prototype.jpg)
+
+▲ Everything works as intended
+
+![Two PCBs, cat side up](img/reflow-workshop/kliments_vs_mine.jpg)
+
+▲ Kliment's electronic kitten on the left, mine on the right
+
+I spent another ~20 min cleaning up the workbench, then left.