diff options
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 Binary files differnew file mode 100644 index 0000000..d001367 --- /dev/null +++ b/docs/projects/img/reflow-workshop/avrdude.png diff --git a/docs/projects/img/reflow-workshop/cap_reflow.mp4 b/docs/projects/img/reflow-workshop/cap_reflow.mp4 Binary files differnew file mode 100644 index 0000000..d988fb8 --- /dev/null +++ b/docs/projects/img/reflow-workshop/cap_reflow.mp4 diff --git a/docs/projects/img/reflow-workshop/first_prototype.jpg b/docs/projects/img/reflow-workshop/first_prototype.jpg Binary files differnew file mode 100644 index 0000000..7aa39f0 --- /dev/null +++ b/docs/projects/img/reflow-workshop/first_prototype.jpg diff --git a/docs/projects/img/reflow-workshop/japanspachtel.jpg b/docs/projects/img/reflow-workshop/japanspachtel.jpg Binary files differnew file mode 100644 index 0000000..0805f8b --- /dev/null +++ b/docs/projects/img/reflow-workshop/japanspachtel.jpg diff --git a/docs/projects/img/reflow-workshop/kliments_vs_mine.jpg b/docs/projects/img/reflow-workshop/kliments_vs_mine.jpg Binary files differnew file mode 100644 index 0000000..cc988a0 --- /dev/null +++ b/docs/projects/img/reflow-workshop/kliments_vs_mine.jpg diff --git a/docs/projects/img/reflow-workshop/pick_and_place.jpg b/docs/projects/img/reflow-workshop/pick_and_place.jpg Binary files differnew file mode 100644 index 0000000..73f9a0e --- /dev/null +++ b/docs/projects/img/reflow-workshop/pick_and_place.jpg diff --git a/docs/projects/img/reflow-workshop/qfn32_joint_short.jpg b/docs/projects/img/reflow-workshop/qfn32_joint_short.jpg Binary files differnew file mode 100644 index 0000000..663ba9a --- /dev/null +++ b/docs/projects/img/reflow-workshop/qfn32_joint_short.jpg diff --git a/docs/projects/img/reflow-workshop/qfn32_paste_short.jpg b/docs/projects/img/reflow-workshop/qfn32_paste_short.jpg Binary files differnew file mode 100644 index 0000000..67f7435 --- /dev/null +++ b/docs/projects/img/reflow-workshop/qfn32_paste_short.jpg diff --git a/docs/projects/img/reflow-workshop/qfn32_paste_success.jpg b/docs/projects/img/reflow-workshop/qfn32_paste_success.jpg Binary files differnew file mode 100644 index 0000000..976e578 --- /dev/null +++ b/docs/projects/img/reflow-workshop/qfn32_paste_success.jpg diff --git a/docs/projects/img/reflow-workshop/qfn32_socket_loaded.jpg b/docs/projects/img/reflow-workshop/qfn32_socket_loaded.jpg Binary files differnew file mode 100644 index 0000000..3a13eb3 --- /dev/null +++ b/docs/projects/img/reflow-workshop/qfn32_socket_loaded.jpg diff --git a/docs/projects/img/reflow-workshop/solder_paste_scraped.jpg b/docs/projects/img/reflow-workshop/solder_paste_scraped.jpg Binary files differnew file mode 100644 index 0000000..2621dfa --- /dev/null +++ b/docs/projects/img/reflow-workshop/solder_paste_scraped.jpg diff --git a/docs/projects/img/reflow-workshop/usbasp.jpg b/docs/projects/img/reflow-workshop/usbasp.jpg Binary files differnew file mode 100644 index 0000000..6eadcce --- /dev/null +++ b/docs/projects/img/reflow-workshop/usbasp.jpg 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. |