Reflow Workshop: A Journal¶
Status: updating
2023-03-15, Wednesday¶
Today I took a group interview for assistants of a new hackerspace. Five students were present, in a room with Mr. Xiao, the manager.
My prior work experience bought me some credibility, and I shared with Xiao my frustration not being able to properly do electronic engineering for lack of resources.
We then took a walk in the empty hackerspace. The proper name is actually Tang Junyuan Student Innovation and Entrepreneurship Center, but I prefer hackerspace.
▲ This is only half of the hackerspace.
We had a heck of a time discussing what this space is potential of. Four-wheelers. LaTeX and vim workshop up the stairs. And of course — reflow soldering.
Reflow soldering is on my list of life goals, but it's in my dream since 2019. At that time I was a nobody in high school. All I could solder was through-holes. Kliment, my IRC friend (though we've met IRL once) kindly mailed me one of his works: an electronic kitten. It is 5cm×5cm.
▲ It purrs when you stroke it right; otherwise, it hisses.
2023-03-16, Thursday¶
So I revealed my plans to Kliment, who was very supportive as usual. He forwarded me an email listing the things I need.
One crucial thing is that I have to program the MCU before soldering, so I need a QFN32 test socket. Kliment estimated it to cost 800 RMB, but in China it seems to only be ~200. I bought one for 180.
2023-03-17, Friday¶
Just ordered the two parts from LCSC with specific numbers: Murata PKMCS0909E4000-R1 and Meihua MHS110FRGBCT. LCSC gave me a 20 RMB coupon.
After that I went to look for the MCUs (ATtiny88-MU) and found them in a random Taobao store that sells them at 7 RMB apiece. I think I might need other chips later, so I also added some ATtiny48 and ATmega328PB to my shopping cart. I asked customer service if they got any in stock. They said I could just place my order, so I did.
Then I went to hunt for the PCB and stencils. Kliment forewarned me that factories use only one stencil per assembly line, so my use case is extremely rare. I will have to consult the manufacturer for a quote.
2023-03-19, Sunday¶
Talked to the sales rep of JDBPCB, they were confused for a good minute, then realized what I was asking for. They told me to just place my order. They claim they had seen this kind of thing before. Kliment suggests it might have been Honza Mrazek.
Sent Gerbers to them, along with my requests in the notes. They PCBs are approved.
2023-03-20, Monday¶
I received the piezo speaker and RGB LEDs from LCSC today.
To my surprise JDB approved my stencil request, and priced it at an unexpectedly low 80 RMB.
Later the customer service approached me to confirm once again that I wanted 10 copies of the same stencil. Upon hearing yes, they revealed that the 80 RMB was actually the price for one stencil, but for me they could do 216 RMB for 10, tax included, with the implication that I do not do this kind of shit to them again. They fear me.
Kliment helped shave off 46 RMB off my budget. I was looking for a hotplate which he said will not cost more than 80 RMB. When I told him best I could find is 135, he said I was looking for the wrong thing; what I need is not a hotplate advertised for solder work, but a consumer grade for heating food and beakers. I changed the keyword and found one at 89.
2023-03-21, Tuesday¶
Cell batteries, holders, and the QFN32 socket have arrived.
▲ *Kneels on floor* *Unlids socket* *Presents brand new ATtiny88-MU* Will you marry me?
The socket is a delicate piece of hardware. You would place the MCU in a 5mm×5mm slot where two adjacent pins are 0.5 mm apart, and access them from a DIP interface where that distance (also known as the lead pitch) is 2.54 mm.
The microcontrollers on the other hand haven't even begun shipping yet. I asked them what's wrong, and their answer was: "we don't have them."
…Then don't sell them?
I then asked when they will be back on stock. They read my messages but remained silent. Chances are they will never ship, says Kliment. This is just a scam on a chain of fake distributors. The evening they finally gave in, offering a refund.
At the same time I'm looking for more trustworthy vendors. Kliment referred me to Winsource. Although a Shenzhen company, they don't seem to ship to China under that brand. So I reverse engineered a bit to find that its Chinese trademark is 聚源鑫. Small company, not super well-known, not even a store on Taobao. I'll talk to them in working hours tomorrow.
I am currently inside an episode of self-doubt. What if I fail to learn reflow myself? Even if I can barely manage, what qualification do I have to teach other people? Perhaps I should have picked my battles and went for a simple SMD hand soldering workshop instead. That's much much easier, and I have done this three times.
2023-03-22, Wednesday¶
As I rose from bed I realize I could have ordered 5 stencils, and organized two or more sessions in series. But I guess 10 is ok. Especially when imbursement is possible.
Was busy most of the day, and I forgot to contact that shady vendor.
After dinner I moved what I have got so far to the hackerspace with my bicycle.
▲ It was a 2.5 km ride.
In the empty hackerspace I unboxed the hotplate:
▲ They sent along a physical invoice, a rare item these days
2023-03-23, Thursday¶
I rang 聚源鑫 to ask about the availability of ATtiny48-MU, the cheaper alternative to 88. They don't have any.
Now that the hope of getting chips from shady sources has vanished, I returned to LCSC to check out their offers. They are able to act as a broker between me and Mouser, charging 12.87 RMB apiece. Sounds good. I ordered 20.
2023-03-24, Friday¶
The much awaited stencils are here! They were sandwiched between two pieces of pretty rigid cardboard. The PCBs are in the same box.
▲ For scale, each stencil is 5cm×5cm
2023-03-25, Saturday¶
The major chunk of my BOM is taken care of. Now we shall focus on the nitty bitty discrete parts, such as capacitors and resistor packs. As always they are extremely cheap.
Last time I forgot to give LCSC the invoice info eligible for reimbursement, so this time I ordered 20 more piezo speakers with the info. Totally necessary and not abusing the hackerspace funding.
2023-03-26, Sunday¶
The discrete parts have arrived.
Also I brought all the tools I have from home: multimeter, soldering iron, solder, flux, etc.
2023-03-27, Monday¶
Mouser seems to have shipped the MCUs.
In other news, I found this beautiful graphic that would make a great poster background:
▲ Credits: Shapo on pixiv
I made a mistake. On Saturday I thought a friend had spare LEDs from a keyboard workshop last year so I didn't order any. But turns out I got the size (monumentally) wrong, they're actually 3528 instead of the 0603 I want. (Makes sense though; we soldered them for backlight and 0603's would be barely visible.) So I ordered 100 along with 10 pairs of tweezers.
2023-03-29, Wednesday¶
The tweezers are here.
2023-03-30, Thursday¶
So are the LEDs.
2023-04-01, Saturday¶
I ordered 10 tin scrapers. Fun fact: in German they're called "Japanspachtel" (der Japanspachtel, plural is die Japanspachtel) to distinguish from regular Spachtel.
Also, I almost ended up buying the wrong kind of chemical. What I need is isopropyl alcohol, but "industrial alcohol" on the marketplace refers to methanol. The customer service kindly suggests I look for "industrial ethanol". I ordered 500 mL.
2023-04-02, Sunday¶
Today I made what I consider one of my best designs with Inkscape.
▲ The font is Orbitron.
2023-04-03, Monday¶
The Japanspachtel are here. I headed to the hackerspace and did a partial test run. I attached the stencil and, with the most sloppy skills possible, literally smeared solder paste wherever there are holes.
▲ Before applying the paste.
Upon removal, there were quite a lot of shorts, but easily fixable with the sharp edge of the Japanspachtel.
▲ Most of the tiny displacements will fix themselves once heated.
Then I placed all the capacitors, resistor packs and LEDs with tweezers. Finally it's time to heat it. I cranked up the hotplate, but boy how does it get hot so fast. A minute and it's already 250 C. Way too high than needed. I cooled it down to ~180 C and shoved down the PCB.
▲ I forgot to place D3. Whoops.
I forgot to bring this up, but the solder paste I bought is not the regular kind. Instead, it's Sn42Bi58 (42% tin and 58% bismuth), the same kind Kliment used for his workshop. The bismuth makes the melting point really low, as low as 138 C.
It only took moments for the fume to come out, and here we have our solder joints.
▲ These joints look solid, or so I hope? At least they don't jiggle.
I'm surprised it went so well. I mean, not up to my finest standard, but it's really more than I expected from so little effort.
In the evening, I received the ethanol.
2023-04-04, Tuesday¶
With the ethanol I got yesterday I wiped the stencil and Japanspachtel 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:
▲ 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.
▲ 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
▲ 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, but now we're going full throttle. I now have a chance to capture photos I forgot by then.
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.
▲ 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.
▲ It worked!
So after manually separating a few shorts on the discrete components, it's time to pick & place!
22:00¶
▲ 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.
22:20¶
BEHOLD
THE FIRST PROTOTYPE
▲ Everything works as intended
▲ Kliment's electronic kitten on the left, mine on the right
I spent another ~20 min cleaning up the workbench, then left.
2023-04-10, Monday¶
Now that the prototype turns out a success, I can finally tell JDB to produce more PCBs. Interestingly, the first batch of five cost 90 RMB, but the second batch of 20 cost only 111. The more boards you order, the cheaper each one is.
I then ordered a box of Kimtech lint-free wipes. They are much cheaper than I thought.
2023-04-11, Tuesday¶
I ordered 5 magnifying glasses and 5 spray bottles.
2023-04-12, Wednesday¶
Both the magnifying glasses and spray bottles are here.
2023-04-15, Saturday¶
I got the 20 PCBs and the invoice for everything I ordered from JDB.
2023-04-26, Wednesday¶
After a week of final exams, I took a few days off to relax, before rediscovering the existence of reflow workshop.
It's spring break right now and I'm at home. At this point everything seemed ready, but an inventory check reported a lack of cell batteries and holders. So I ordered a bunch more.
2023-04-28, Friday¶
I went back to uni to pick up the package. I also went to two concerts where I caught a guitar pick.
2023-05-06, Saturday¶
I discussed workshop arrangements with my colleagues at TechJI. It will be held twice on both evenings this weekend.
2023-05-07, Sunday¶
Behold, the final poster design:
▲ Despite the visual effect, most of the graphics is not my own.
2023-05-08, Monday¶
I drafted the promotional article to be published on WeChat.
2023-05-10, Wednesday¶
Afternoon¶
The article is published, but WeChat decided that hyperlinks are not allowed. Among them is the survey we use to register participants. Sabotaged by WeChat's pointless restrictions.
I received messages asking for the link, but I can't edit the article (thanks WeChat), nor can I post it in the comments without approval (many fucking thanks WeChat). I ended up urgent pinging the admin, who thankfully made it public real fast.
The moment link went public applications blew up. In two hours we had 32 applicants. We can seat at most 19, because we only have so many ATtiny's left. This means I'll have to send rejection letters to so many people. I've always hated rejection letters. Now I've become what I swore to destroy.
Conclusion: Tencent is a horrible asshole whose sole purpose is to destroy the open internet.
Evening¶
I made a horrible mistake. I made applicants fill in their cell number, and stated that I will contact them via SMS or WeChat. HUGE mistake. I had to manually copy the numbers to my phone. Should have asked for email instead.
2023-05-11, Thursday¶
I went to print the poster on an A2 sheet of paper. It's pretty!
▲ The exposure is just long enough to blur the print head, which I think makes the photo way more dynamic
I cycled to the hackerspace to hang it up. It's much smaller than all the other posters, but it's hands down the prettiest.
After that we had an internal training session within TechJI. The purpose is to familiarize ourselves (including me, because the last time I did this was one month ago). We started with an overview, then we smeared solder paste. Everyone had their own technique. The common trend is too much paste, and/or going over one place too many times. Everyone had to rework at least once, because that is essential knowledge for the workshop.
Who could apply paste the best? We have a winner!
▲ This is a sign that they are better at it than I am
Up next we had pick-and-place. Sadly we can't offer a complete kit to everyone because we need to leave enough for the 19 people. Two of us were actually among the 19, so we decided to make two prototypes.
I demonstrated C1 and C2 (the two 0805 caps), and made a few comments on the polarity of the diodes, pins of the QFN, and the 0402 region where you make a recognizable pattern so you know which board is yours on the hotplate.
No one had any trouble. I inspected the result which is shockingly great, then turned on the heat.
One of them is observed to have two shorts on RN2, and the other is flawless. However, when we put a battery in it, the RGB LED (D6) doesn't turn on. Why not? It turns out D6 was upside down. It is indeed very subtle, and even I failed to catch that before heating. Then I noticed the same problem on the other board. With a soldering iron I manually fixed them.
It's time to test our products. Weirdly, one works, but the other is really bad-tempered for some reason. Whenever you remove your finger from the battery, it hisses nonstop. I would advise it to see a therapist.
I asked Kliment what could be the reason, and he suggested it was either a short on the MCU or the resistor packs, or a shoddy battery holder, because the kitten hisses when reset.
To my disappointment I only ordered 100 LEDs, which is barely enough. And to an electronic engineer barely enough is not enough. We have to keep a redundancy, so I ordered 200 more.
2023-05-13, Saturday¶
Just finished the first session and I am so fucking exhausted. Three hours, working nonstop. I forgot where I left my bag so I couldn't even show the slides I made.
Long story short, we instructed 8 terrified beginners how to do reflow. Out of all participants, one managed perfect paste on the first try; most made it in three.
Here's some of the jobs that made me go "hmm that's not bad":
We began toastin' at exactly the two hour mark.
▲ One core, two threads
▲ Typical board right after heating
I then spent like half an hour manually fixing shorts, reinforcing the battery holder, etc. Everyone's electronic kitten purrs and hisses, but not every LED turns on. It could be a fault in the touch sensing area, MCU, resistor pack, or the LED itself. I did not have the time to diagonse one by one. On one board this happened on the tail, which makes the kitten immune to tail pats, and consequently really tame and hardly hisses.
Everyone got their product at 21:something and I cleaned up the place and wiped every tool until minutes to 22. It's a miracle we finished the whole thing before 22:00, especially when the staff is made up of three ex-terrified beginners, two of whom literally learned reflow 48 hours ago.
▲ This is honestly how I feel
Later, I found my bag in another room.
2023-05-14, Sunday¶
OK today I put my bag in the right place. And we have more tables to sit around. This is good because I don't have to run around all the time. I also got to use a giant LCD screen to project slides on. Overall a significant improvement.
Today we have 9 people coming. That's one more than yesterday, but we're more prepared than ever.
One person did a perfect paste job in one go; most did 2, 3, or 4. For some reason the people today are really into reworking. One of them reworked a near-perfect board only to end up with the same thing. But hey, practice makes near-perfect.
This trend of endless reworking brought us behind schedule. We expected to move on to pick & place at 19:30, but didn't manage until 20:something. At least they're having fun??
I really should have forbade reworking once it's good enough.
Introducing today's contenders in the QFN arena:
The first one is the one-go job. Pads 27-31 didn't seem to catch any paste, but that's fine because we can fix that at the end. The bottom-right is an outright expert. They somehow managed to separate every single pad.
This person's job overall is also impressive:
▲ D6 and the 0402 region are flawless
Pick and place is easy. And since I have slides to help me today, it was a piece of cake. Only one person had challenge understanding the orientation of the RGB LED, and another misplaced the speaker by 90 degrees. Other than that, no problem at all.
And as always, now the job is almost done for everyone but me. We ran five rounds on the hotplate. Twice I forgot to monitor temperature and let it go too low, but luckily nothing went wrong. About 2 or 3 boards needed manual fixups, like un-shorting resistor packs, but after that every single one works. All the LEDs light up, too.
One interesting problem: on one board the sound is intermittent. I pressed down the MCU, which seems to solve the issue for once and for all.
We ended at around 21:40, but then one person came back telling me their battery holder broke. The positive contact snapped off. The only way is to replace it, so that's what I did.
One remarkable observation: despite the facts that
- my uni is mostly boys
- my major is mostly boys
- TechJI is mostly boys
this workshop has more girls. This is really nice, because I experienced a level of diversity not present in a room of dudes. This is the future we want.
At the end we took out more trash than we ever imagined:
2023-05-15, Monday¶
This morning I moved the tables and chairs back where they belong, and put away every tool that I used. It's been exactly two months since this journal began, and it's finally coming to an end. I believe it's time for some reflections like I always do post-workshop.
What did I do right?¶
- I began early (or, in other words, I prepared for way too long)
- I bought most things with redundancy in mind
- I designed a poster
- I did it myself and proved it was possible
- I showed my friends how to do it and now they can help me
- I felt confident throughout the workshop
Who should I be thankful for?¶
- Whoever funded this hackerspace and the ones who run it
- My friends at TechJI for the help
- My parents for their money
- Kliment for the idea, design files, and help
- Every delivery person who sent my packages
How did this workshop help me mature?¶
- I fulfilled a dream since 2019
- I learned to communicate with corporate sales, and to be shameless around them
- I even made one (1) phone call, even though it didn't help
- I have killed my fear of reflow soldering
What can be improved?¶
- When I said I ordered things with redundancy in mind, that does not include the LEDs
- I FORGOR MY BAG 💀
- Sunday session went overtime due to ORS (Obsessive Reworking Syndrome)
- Should have used email to organize a bunch of people I don't know
- Should not have trusted WeChat for any purpose
People have expressed wishes for more sessions in the future. Indeed, if I were rejected by someone else, I'd be sad. Sadly this is not likely, because (1) we've run out of chips, and (2) it is an extremely time-consuming workshop (only next to keyboards). More people = more inspections = more hotplate runs = more manual fixes. I would very much like to take a break from workshops.
2023-05-16, Tuesday¶
Today I took care of the accounting required for reimbursement. The sum worked out to be 1380.80 RMB (but I definitely spent more than that since I didn't ask for an invoice for everything).
3 invoices are on paper, 8 are electronic. One vendor sent me an invoice in .ofd format (which is some kind of Chinese alternative for PDF, namely GB/T 33190-2016). The format is poorly supported except for a handful of commercial readers. It took me ages to find an online service and convert it to PDF.
I sent all of them to the supervisor and I hope he gets back to me soon.
My old keychain (which is a keyring on a green binder clip) was lost today, but just at the right time: introducing the Kitten PCB keychain!
(Fun fact: in the workshop I told everyone "even if you fail, your failed PCB could make a nice keychain." Glad it never happened.)
2023-05-22, Monday¶
Supervisor says he "lost" one of the invoices due to the "gust of wind" that blew it away while he was away from office. And I was like …OK?
Not that I'm mad. I cannot reject the null hypothesis that he is right. I'm just upset that it's the one that carries the most value. 417 RMB out of 1380 is 30%.
So I asked JDB and they said they can't just print another one. Instead, all they can do is make a photocopy from their archive, then stamp it.
I'll wait.
2023-06-01, Thursday¶
After weeks of waiting, I ask JDB what they've been up to, only to find that the sales rep I talked to has resigned and now I'm talking to another person. They gave me another number, who agreed to mail me the thing.
2023-06-06, Tuesday¶
The invoice copy is here. I'm gonna hand it to the supervisor tomorrow.
2023-06-07, Wednesday¶
Supervisor now has the invoice.
Later he sent me a spreadsheet because the accounting office needs me to fill in an inventory of what I bought/used, how many, and when. I, being the sole accountant of the workshop, had no trouble doing it. But I don't like the attitude of theirs at the accounting office. This is a great way to ensure I won't hold a workshop here again.
To get revenge, I did a passive-aggressive, highly accurate inventory that ended up 45 rows long, detailing every single purchase and consumption (even only one) on the invoices. I also left this note, in white font, on Sheet 2:
do you know how much work i put into this? of course you don’t. and now you try to challenge me to count my consumables? well let me tell you something. i HOSTED the workshop. of course i know how many batteries i used. OF COURSE i know when i ordered them, when i received them, and when i unboxed them. stop trying to refuse me my money. i am invincible.