Skip to content

Soldering

joric edited this page Aug 23, 2024 · 758 revisions

Warning! Don't miss the Testing section about testing with a multimeter, it's super-important!

The best visual guide for soldering is iBOM (Interactive Bill Of Materials), here is one for the latest revision:

USB connector

USB connector solders just fine with a drag-soldering technique. Spread a small amount of flux paste over the pins and slowly drag the solder tip with a small amount of solder over them. You don't even really need to drag, just touch them up a little, it's better to not apply lateral force to the USB-C pins, they are super flimsy. Remove excess solder with an iron tip.

Bluetooth module

Trimming the module

Modules might need sanding off ~0.1 mm from the sides before soldering. They are a little bit too wide (picture) to fit between two PLC headers when the board is flipped.

Unshielding the module

Bluetooth module shielding is taller than everything else on the board, except top-mount USB-C. With the midmount USB-C, shielding adds about 1.15 mm overall, that's quite a lot (picture), see Home for height comparison. I usually stick tweezers into one of the corners and use them as a tension wrench, then heat shielding with a hot air gun and remove it from the board. I usually do that AFTER soldering the module.

unshielding

Soldering the module

Inner pads use through-holes for hand-soldering. Pre-tin and flux all the pads both on the module and the PCB. Use solder wick to remove excess solder and level the module. After soldering the outer pads, add solder to the inner pads from the other side. If there's no connection, reach the pad with a fine soldering tip (e.g. T12-ILS) through the hole and add more solder and flux if needed (you can also use a thin wire, e.g. diode leg to scrape the pad surface via the hole, it usually helps).

Connect Underpads

If you think the underpad solder is not touching, you can try this:

  1. Find a piece of fine wire (single core enamel works best).
  2. ???
  3. Poke into the hole, add some flux, heat it up and wiggle around, that should bridge the pads together.

I use this method to solve some of my connection issue and it works out quite well, make sure you do it quick and dont heat the pad too long, you might kill the module / that IO pin. Personally I try not to heat a joint more than 5 seconds. (source)

The key here is to transfer the heat (and the solder) to the underside pad, you can't do that if there's a air gap.

Stencil

You can order a production-grade stencil on JLCPCB (additional $7). JLCPCB and other fabs use F.Paste layer from the gerber.

You can also make your own stencil:

You can remove paint from the outer layer of the aluminum can using a hard sponge (video), then use magazine paper for toner transfer. Do not afraid to scratch the aluminum, toner will stick to anything. You can leave the inner layer coated and save on scotch tape. For etching I'm using solution made from hydrogen peroxide, citric acid and salt, it works fine with aluminum.

For the handmade stencil you can download .svg files in the releases section. Try printing from inkscape to match the scale.

stencil2

IMWqEPV

There are also .stl ones (made with KiKit), you can try printing them in 3d but it's not recommended, even on DLP printers with layer 0.15. FDM printers need some tuning, e.g. 0.4/0.2 nozzle and layer 0.12. Doesn't really work too well.

LEDs

See Components#led-polarity. TL;DR: align white bracket on the PCB and the green smidge on the front of the LED.

Show picture

leds-polarity

Testing

Testing GPIO pins

Multimeter

This test actually tests soldering quality. Put multimeter in a DIODE MODE (not the continuity/beeper mode!). DON'T power up the module! Put RED (!) probe on GND pad, BLACK probe to the GPIO pad you want to test. Multimeter shows 0.6-0.9V drop voltage if the pad is connected firmly to GPIO, 0 indicates bad soldering, 0.01 if it's shorted to ground.

multimeter

Test firmware

You can use this firmware file to test GPIO (you need to flash the bootloader first, see Bootloader article):

  • blink.uf2 (precompiled binary from blink.c source code, double reset and copy to the internal USB drive)

Note that blinker only blinks on nRFMicro-related GPIOs, it doesn't blink on ALL GPIOs, so it can't be used for other boards.

Use any spare through-hole LED for testing. Connect LED+ to VCC pin and test all the Pro Micro GPIO pins consequently via 1K resistor. If it doesn't blink, it's mostly bad soldering on the underside pads. To reach underside pads through the holes, use fine soldering tip (such as T12-ILS) or a piece of copper wire, add more flux, add more solder, and heat them well to fill the gaps.

Testing power circuit

Connect USB-C and check the battery charger using pads at the very top, B- (square pad) and B+ (round pad) without connecting the battery, there should be about 4.2V. Red LED (if present) is usually on or flashing. Blue LED is usually off (it's controlled by the user firmware). You can also check voltage between GND and VCC pin there should be 3.3V.

Note that in revision 1.3 charging voltage and output voltage should be explicitly enabled in firmware, so voltages may be off. The only way to check 1.3 voltages is to upload firmware that sets POWER_PIN and PROG_PIN to ground (see Pinout article).

When something's wrong it's mostly charger (it fries first, usually after reverse polarity), try replacing the charger (TP4054).

Tools

Irons

My irons

I'm mostly using Bakon 950d, don't really like the other ones.

soldering_irons

Other irons

New notable soldering irons worth checking will be added here.

  • 2022-10-04 - SI012 (both T12 and TS100 tips), L245 (T245 tips) : Aliexpress, GitHub, Aliexpress
  • 2023-01-17 - Sequre S99 / Sequre S60 and S60P (JBC 245/210 tips, 100W): Alexpress, Aliexpress, Telegram
  • 2023-10-08 - T65 (T65 tips, T13 compatible), Xiaomi Youpin (T65 tips), GD300 (T65 tips): Aliexpress, Aliexpress, Aliexpress
  • 2024-03-30 - S99, T65, T80/T80P, SH73, PTS200, S210 and TS1C (wireless with bluetooth, CH579-based): YouTube
  • 2024-04-22 - FNIRSI HS-02A/B (JBC 245/210 tips, color HD display, beeper, no BT, closed source): Aliexpress, GitHub
  • 2024-04-26 - AIXUN T380 (JBC stand, 18650 pack), AIFEN A11 (JBC stand, OLED display): YouTube, Aliexpress

Hotplate

The board does not need a hot air station, and can be done entirely with a soldering iron, but you can also use stencil, soldering paste and a hot air gun or a hotplate.

Soldering with a stencil and a hot air gun (nRFMicro 1.3):

My latest way to solder the modules is to use stencil, soldering paste and a hot air reflow gun but I still have to fix all the inner pads with T12-ILS tip because hot air gun can't heat up the PCB evenly so it ends resting on a cold paste underneath. You can use either a reflow oven or a heating plate, you won't need to fix the board then.

BGA Demolition Plate

Example nRFMicro 1.4 soldering with a "BGA Demolition plate":

Also see (untested):

MHP30

MHP50

Also there's a new Mini Hot Plate Preheater MHP50 from Miniware (50x50mm bed, fan, color LCD, 150W DC, costs $150):

mhp50

GDCPH

Also there's a heater that costs 1/10 of MHP30, with a larger area (55x55mm), and it's pretty good (USB-C PD, costs $10):

Ae5a64807a25e4d898ad655c64a0e0b25c

Solder and Flux

  • My solder: Indium 500g, 0.5 mm, 62% tin, 36% lead, 2% silver (SN62/PB36/AG2), made in USA.
  • My flux: NC-559-ASM 100g (apparently has 2M residue resistance but I had no problems), also made in USA (Colifomia).
Solder Flux
indium flux

References