PnP Toolkit Start free trial
Evidence

Proof

We only say what we can show. Every claim on the PnP Toolkit site is listed below with the automated test that checks it, the exact result the app gave, and a screenshot from that run.

19 of 19 checks pass

Last run 2026-10-28 15:40 UTC, on the same build that is live at pnptoolkit.app. The tests drive the real app in a Chromium browser the way an operator would: typing, tapping, scanning and reloading. They run again before every release.

ClaimResult
From datasheet to the dozen numbers you programPASS
Mils typed as millimeters get a warningPASS
Leads tight enough to bridge get a warningPASS
HotRod and flip-chip parts are flaggedPASS
Library numbers link to their datasheetPASS
Chip sizes read from maker part codesPASS
Load check passes the right reelPASS
Load check catches a different suffixPASS
Load check stops the wrong reelPASS
Warning before a reel runs outPASS
The worst feeder rises to the topPASS
The handoff note writes itselfPASS
Rotation helper gives the turn anglePASS
Open bags count down and show bake timePASS
The app sets itself up for your machinePASS
Works with the network offPASS
Photos are read on the phone, not uploadedPASS
Fits a phone screenPASS
Bake times match the J-STD-033 tablePASS (90/90)

The evidence

PASSFrom datasheet to the dozen numbers you program

The decoder takes the drawing values as printed and returns the nominal numbers, a summary line and a to-scale drawing.

Fields filled from the drawing: name=Example 24-lead 4×4 QFN, D=3.90 4.00 4.10, E=3.90 4.00 4.10, A=0.80 0.85 0.90, e=0.50 BSC, b=0.18 0.25 0.30, L=0.30 0.40 0.50, N=24, D2=2.50 2.60 2.70, E2=2.50 2.60 2.70 Summary: 4.00×4.00 · 24L · 0.50p · EP 2.60Results
Screenshot: From datasheet to the dozen numbers you program
Captured by the test run, 2026-10-28

Feature: QFN decoder

PASSMils typed as millimeters get a warning

Numbers that are too big for millimeters are flagged before they are programmed.

Typed 157 / 19.7 / 10 with units set to mm. App says: UNITS? Some numbers look like mils, not mm. Switch "Datasheet units" to mil. PITCH 19.700 mm isn't a common QFN pitch (0.4, 0.5, 0.65 are typical). Double-check.
Screenshot: Mils typed as millimeters get a warning
Captured by the test run, 2026-10-28

Feature: QFN decoder · Unit converters and size codes

PASSLeads tight enough to bridge get a warning

When the gap between leads is under 0.15 mm the decoder says so.

Typed b 0.35 at pitch 0.40 (0.05 gap), 28 leads on a 3 mm body. App says: TIGHT Gap between leads is under 0.15 mm. Watch for bridging; check the stencil.
Screenshot: Leads tight enough to bridge get a warning
Captured by the test run, 2026-10-28

Feature: QFN decoder

PASSHotRod and flip-chip parts are flagged

Irregular-pad parts are marked so they are not built as a normal QFN.

Opened TPS56C215RNNR (TI HotRod). Part card says: • Irregular pads (HotRod / flip-chip / module): program from the datasheet land pattern, not the QFN decoder / Datasheets usually draw the bottom. Bottom = top flipped left-to-right. / HotRod flip-chip, no center pad. 18 pads of mixed sizes: VIN pins 2 and 11 are long bars (about 2.3-2.5 mm), SW pins 6 and 7 are large pads, PGND pins 3-5 and 8-10, plus small signal pins (0.2-0.3 wide). Land pattern small pads 0.25 x 0.6. Pin 1 = BOOT.
Screenshot: HotRod and flip-chip parts are flagged
Captured by the test run, 2026-10-28

Feature: Parts library

PASSLibrary numbers link to their datasheet

Researched part numbers carry a link to the document the numbers came from.

TPS62133RGTR part card links its datasheet: https://www.ti.com/lit/ds/symlink/tps62133.pdf
Screenshot: Library numbers link to their datasheet
Captured by the test run, 2026-10-28

Feature: Parts library

PASSChip sizes read from maker part codes

A BOM with Murata, Samsung, Yageo, Panasonic and TDK codes gives the right chip size on every line, and DNP lines are left out.

BOM pasted with Murata, Samsung, Yageo, Panasonic and TDK codes. Kitting rows: 1 GRM155R71C104KA88D C1, C2, C3 3 50 30 + 20 spare 0402 8 mm / 2 – 2 CL10A106MQ8NNNC C4 1 30 10 + 20 spare 0603 8 mm / 4 – 3 C1608X7R1H104K080AA C5 1 30 10 + 20 spare 0603 8 mm / 4 – 4 RC0603FR-0710KL R1, R2 2 40 20 + 20 spare 0603 8 mm / 4 – 5 ERJ-3EKF1002V R3 1 30 10 + 20 spare 0603 8 mm / 4 – 6 TPS62133RGTR U1 1 13 10 + 3 spare VQFN (RGT) 16 12 mm / 8 CHECK BAG 7 TPS56C215RNNR U2 1 13 10 + 3 spare VQFN-HR (RNN) 18 12 mm / 8 MSL 2 IRREGULAR PADS
Screenshot: Chip sizes read from maker part codes
Captured by the test run, 2026-10-28

Feature: Kitting list from the BOM

PASSLoad check passes the right reel

A reel that is on the job shows its slot.

Scanned TPS62133RGTR (on the job): ✓ On this job · slot L08 | TPS62133RGTR · VQFN (RGT) 16 | U3 · 1 per board · pull 28
Screenshot: Load check passes the right reel
Captured by the test run, 2026-10-28

Feature: Load check

PASSLoad check catches a different suffix

Same base part, different suffix: flagged as “close, but not the same part”.

Scanned TPS62133RGTT (same part, different suffix): ⚠ Close, but not the same part | Reel: TPS62133RGTT | Job needs: TPS62133RGTR (slot L08) | A different suffix can mean a different value, package, temperature grade or reel type. Don't load it until your lead or the BOM confirms it's an approved alternate.
Screenshot: Load check catches a different suffix
Captured by the test run, 2026-10-28

Feature: Load check

PASSLoad check stops the wrong reel

A reel that is not on the job is stopped.

Scanned LM358DR (not on the job): ✗ NOT on this job | Reel: LM358DR | Not on the kitting list for Unsaved job. Put it aside and check the reel label against the BOM.
Screenshot: Load check stops the wrong reel
Captured by the test run, 2026-10-28

Feature: Load check

PASSWarning before a reel runs out

With reel counts entered, the app says which board each short reel runs out on.

5 boards done, one reel counted at 20 parts. App warns: REELS SHORT L08 TPS62133RGTR runs out around board 19 (needs about 6 more)
Screenshot: Warning before a reel runs out
Captured by the test run, 2026-10-28

Feature: Load check

PASSThe worst feeder rises to the top

Mispicks are ranked by feeder with what to check first.

Logged 7 mispicks on L12 and 1 on R03. Ranking: L12 / → Clean the pickup window, check the cover tape is peeling cleanly and the pick position. Swap the feeder to another slot: if the problem follows the feeder, it's the feeder. / R03 / L12 / R03
Screenshot: The worst feeder rises to the top
Captured by the test run, 2026-10-28

Feature: Mispick log

PASSThe handoff note writes itself

The note pulls in problem feeders, load status and open issues.

Handoff note written from the shift data: SHIFT HANDOFF · machine not set Oct 28, 10:40 AM · Day shift · Sam Job: — Machine: Running fine Setup checklist: 0 of 10 done OPEN ISSUES U3 offset on board 4 PROBLEM FEEDERS (last 12 h) - L12 (0402 100n): 7 — pick error / no part 5, vision reject 2 LOAD CHECK: 1 of 11 reels checked · 5 of 25 boards done - L08 TPS62133RGTR: runs out around board 19, needs about 6 more
Screenshot: The handoff note writes itself
Captured by the test run, 2026-10-28

Feature: Shift handoff note

PASSRotation helper gives the turn angle

Pin-1 corner and placement angle give the total rotation.

Pin 1 at a different corner in CAD, placement 90°. App answer: 90° CCW (= −270°, or 270° clockwise) Placement 90° + 90° = 180°
Screenshot: Rotation helper gives the turn angle
Captured by the test run, 2026-10-28

Feature: Rotation helper

PASSOpen bags count down and show bake time

An MSL 3 bag 200 hours out is shown as over, with the bake time.

MSL 3 bag open 200 h (floor life 168 h) and an MSL 2 bag open 2 h. App shows: RP2040 (MSL 3) MSL 3 · opened Oct 20, 2:40 AM Over by 32 h 0 m. Bake or reseal Bake time Resealed / used up TPS62133RGTR MSL 2 · opened Oct 28, 8:40 AM 364 d 22 h left Resealed / used up
Screenshot: Open bags count down and show bake time
Captured by the test run, 2026-10-28

Feature: MSL floor-life timers and bake times

PASSThe app sets itself up for your machine

After picking a machine the app uses that machine’s terms.

First open shows the machine picker. After picking FUJI NXT III the app reads: FUJI NXT III | Machine setup columns: PACKAGE NOZZLE INTELLIGENT FEEDER TAPE NOTES SETTINGS
Screenshot: The app sets itself up for your machine
Captured by the test run, 2026-10-28

Feature: Machine picker · Machine setup sheet

PASSWorks with the network off

After one visit the app loads with no connection.

Loaded once, then the network was switched off and the page reloaded: PnP Toolkit | tabs: 5
Screenshot: Works with the network off
Captured by the test run, 2026-10-28

Feature: —

PASSPhotos are read on the phone, not uploaded

Network traffic during a scan was recorded.

Scanned a reel label photo. Network requests made during the scan: GET https://cdn.jsdelivr.net/npm/tesseract.js@5.1.1/dist/tesseract.min.js. Uploads (POST/PUT): 0.
Screenshot: Photos are read on the phone, not uploaded
Captured by the test run, 2026-10-28

Feature: Scan and capture

PASSFits a phone screen

Every main screen was checked at 390 px wide for sideways scrolling.

Page width at a 390 px phone screen (no sideways scroll means ≤ 390): qfn:390, parts:390, msl:390, kitting:390, load:390, mispicks:390, handoff:390, machine:390, rotation:390, converters:390

Feature: —

PASSBake times match the J-STD-033 table

The MSL tool’s bake table was compared value by value with the IPC/JEDEC J-STD-033 table as published by EESemi and as extracted from J-STD-033C by Microchip. 90 of 90 values match. Floor-life limits (MSL 2: 1 year, 2a: 4 weeks, 3: 168 h, 4: 72 h, 5: 48 h, 5a: 24 h) match Table 4 of the J-STD-033 document. For production decisions use your licensed copy of the current revision (J-STD-033D) and the part maker’s label.

Body thicknessMSL125 °C sat.125 °C FL+72 h90 °C sat.90 °C FL+72 h40 °C sat.40 °C FL+72 h
≤ 1.4 mm2a5 h3 h17 h11 h8 days5 days
≤ 1.4 mm39 h7 h33 h23 h13 days9 days
≤ 1.4 mm411 h7 h37 h23 h15 days9 days
≤ 1.4 mm512 h7 h41 h24 h17 days10 days
≤ 1.4 mm5a16 h10 h54 h24 h22 days10 days
≤ 2.0 mm2a21 h16 h3 days2 days29 days22 days
≤ 2.0 mm327 h17 h4 days2 days37 days23 days
≤ 2.0 mm434 h20 h5 days3 days47 days28 days
≤ 2.0 mm540 h25 h6 days4 days57 days35 days
≤ 2.0 mm5a48 h40 h8 days6 days79 days56 days
≤ 4.5 mm2a48 h48 h10 days7 days79 days67 days
≤ 4.5 mm348 h48 h10 days8 days79 days67 days
≤ 4.5 mm448 h48 h10 days10 days79 days67 days
≤ 4.5 mm548 h48 h10 days10 days79 days67 days
≤ 4.5 mm5a48 h48 h10 days10 days79 days67 days

Feature: MSL floor-life timers and bake times

FACTWhat is in the parts library

179 entries across 13 categories. 104 of them are real part numbers whose numbers were taken from a linked datasheet or distributor page; the rest are generic package sizes (0402, SOT-23, SOIC-8 and so on) with typical industry values. Every entry has its own page with a drawing and its source: browse them by category.

FACTWhere the machine names come from

462 feeder, nozzle, head and vision names across all ten machine types. 398 come from the maker’s own pages, brochures and spec sheets; the rest come from parts-supplier catalogs and are marked “supplier”. Names found only in used-equipment listings or forums are left out of the app. Each name links to its source on the machine guides and in terms across brands. Where a maker doesn’t publish a name (for example most software field names for pick height or vacuum check), the app leaves it blank rather than guess.

What we do not claim

Check it yourself

  1. Open the app and tap “Example” on the QFN tab, then change one number to a mil value.
  2. Go to Shift → Kitting, tap the example, number the slots, then Shift → Load check and type a part number with the last letter changed.
  3. Turn on airplane mode and reload the app.
  4. Open your browser’s developer tools, Network tab, and scan a label: you’ll see no upload.
Try PnP Toolkit free for 30 days

No credit card. Works on any phone or line PC. After the trial it’s $49/month per machine.