From ff8483b3f2ba024cc2af84a63aca25d508530be5 Mon Sep 17 00:00:00 2001 From: Frederick Yin Date: Mon, 10 Apr 2023 12:54:08 +0800 Subject: projects/reflow-workshop: 2023-04-09 update --- docs/projects/img/reflow-workshop/avrdude.png | Bin 0 -> 17782 bytes docs/projects/img/reflow-workshop/cap_reflow.mp4 | Bin 0 -> 4256282 bytes .../img/reflow-workshop/first_prototype.jpg | Bin 0 -> 235724 bytes .../projects/img/reflow-workshop/japanspachtel.jpg | Bin 0 -> 172124 bytes .../img/reflow-workshop/kliments_vs_mine.jpg | Bin 0 -> 103194 bytes .../img/reflow-workshop/pick_and_place.jpg | Bin 0 -> 213210 bytes .../img/reflow-workshop/qfn32_joint_short.jpg | Bin 0 -> 66982 bytes .../img/reflow-workshop/qfn32_paste_short.jpg | Bin 0 -> 93449 bytes .../img/reflow-workshop/qfn32_paste_success.jpg | Bin 0 -> 186739 bytes .../img/reflow-workshop/qfn32_socket_loaded.jpg | Bin 0 -> 221351 bytes .../img/reflow-workshop/solder_paste_scraped.jpg | Bin 0 -> 221316 bytes docs/projects/img/reflow-workshop/usbasp.jpg | Bin 0 -> 136407 bytes docs/projects/reflow-workshop.md | 129 +++++++++++++++++++++ 13 files changed, 129 insertions(+) create mode 100644 docs/projects/img/reflow-workshop/avrdude.png create mode 100644 docs/projects/img/reflow-workshop/cap_reflow.mp4 create mode 100644 docs/projects/img/reflow-workshop/first_prototype.jpg create mode 100644 docs/projects/img/reflow-workshop/japanspachtel.jpg create mode 100644 docs/projects/img/reflow-workshop/kliments_vs_mine.jpg create mode 100644 docs/projects/img/reflow-workshop/pick_and_place.jpg create mode 100644 docs/projects/img/reflow-workshop/qfn32_joint_short.jpg create mode 100644 docs/projects/img/reflow-workshop/qfn32_paste_short.jpg create mode 100644 docs/projects/img/reflow-workshop/qfn32_paste_success.jpg create mode 100644 docs/projects/img/reflow-workshop/qfn32_socket_loaded.jpg create mode 100644 docs/projects/img/reflow-workshop/solder_paste_scraped.jpg create mode 100644 docs/projects/img/reflow-workshop/usbasp.jpg 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/avrdude.png 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/cap_reflow.mp4 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/first_prototype.jpg 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/japanspachtel.jpg 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/kliments_vs_mine.jpg 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/pick_and_place.jpg 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/qfn32_joint_short.jpg 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/qfn32_paste_short.jpg 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/qfn32_paste_success.jpg 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/qfn32_socket_loaded.jpg 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/solder_paste_scraped.jpg 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 Binary files /dev/null and b/docs/projects/img/reflow-workshop/usbasp.jpg 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. + + + +▲ 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. -- cgit v1.2.3