Doelgroep: Dit artikel is geschreven voor procesengineers in fabrieken, QA-managers bij OEM/ODM-partnerfabrieken, consultants voor industriële engineering en B2B-importeurs die een productielijn van leespennen moeten verantwoorden tegenover een externe inspecteur. Er wordt verondersteld dat u AQL en ICT begrijpt, maar dat u precies wilt weten welke tests op elke B1-, B2-, F8-, K7-, KF1-, L5-, P2-, Q6-, Q8-, T2- en Y6-unit worden uitgevoerd, in welke volgorde, met welke dekking en welke pass/fail-gegevens we per serienummer bewaren.
De eerste keer dat we 6.000 pennen naar een distributeur in een Golfstaat verscheepten met een test op één station, ontdekten we een defectpercentage van 0,6% in het magazijn van de klant — 36 pennen met speakers die boven 1 kHz bromden. Het volgende kwartaal voegden we een end-of-line fixture-test van 240 seconden toe, en hetzelfde defectpercentage daalde naar 0,04%. Dat is het verschil tussen een klantclaim en een tevreden verlenging. Dit artikel is de technische beschrijving van de testfixture: de bed-of-nails hardware, de softwaresequentie, de parametrische dekking, de yield-doelen en de traceerbaarheidsdata per serienummer die we twee jaar bewaren.
Elke unit die onze twee productielocaties verlaat, doorloopt deze fixture. Het is de belangrijkste kwaliteitspoort in de fabriek, en het is het systeem dat een OEM-partner overneemt wanneer zij een private-label build licentiëren.
1. Overzicht fixture-hardware
De fixture is een bed-of-nails testjig met een USB-C-kabel naar een host-pc, een 4-wire Kelvin-aansluiting op de batterijtab, een audio-analyser in plaats van de speaker, een gekalibreerde microfoon bij de speakerpoort en een NFC-tag-emulator over het OID-sensorvenster. Er zijn 11 fixture-varianten — één per model — omdat de behuizingsgeometrie en de positie van de batterijtab verschillen.
| Component | Specificatie | Doel |
|---|---|---|
| Bed of nails | 12 veerbelaste pogo-pinnen, verguld | Voeding, USB-C, audio, GPIO |
| USB-C host | USB-PD 3.0 trigger, 5 V/3 A | Opladen + data |
| 4-wire Kelvin | Keithley 2000 equivalent, 0,1 mΩ resolutie | Batterij-impedantie |
| Audio-analyser | 1 kHz referentietoon, 80 dB SPL | Speaker + microfoon |
| NFC-emulator | 13,56 MHz, ISO 14443-3A | Kalibratie OID-sensorvenster |
| Programmeerbare LED-sensor | TSL2561 equivalent | Diagnose LED-kleurtest |
| Thermische sonde | Type-K, 0,5°C nauwkeurigheid | Thermische soak-test |
De fixture is via Ethernet verbonden met het fabrieks-MES (manufacturing execution system), logt elk testresultaat tegen het serienummer van het apparaat en stempelt een 32-bit CRC van het testlogboek in de user-data-partitie van het apparaat.
2. De testsequentie van 240 seconden
De fixture voert 14 tests uit in een vaste volgorde. De volgorde is belangrijk: power-on tests draaien eerst (zodat een dode unit snel faalt), RF-tests draaien als laatste (omdat die de langste opwarmtijd nodig hebben). Totale wall-clock is 240 seconden per unit, waarvan 90 seconden verplichte afkoeling tussen thermische tests.
| # | Test | Duur (s) | Pass-criterium | Ernst bij falen |
|---|---|---|---|---|
| 1 | Power-on zelftest | 4 | Boot bereikt startscherm | S0 |
| 2 | Batterijspanning | 3 | 3,5–4,2 V | S1 |
| 3 | Batterij-impedantie | 6 | <180 mΩ (Li-poly) / <120 mΩ (Li-ion) | S1 |
| 4 | USB-C PD-onderhandeling | 8 | 5 V/3 A geaccepteerd | S1 |
| 5 | Overspanningsbeveiliging lader | 12 | Trip bij 6,5 A in 80 ms | S0 |
| 6 | Flash lezen/schrijven | 18 | 8 MB/s lezen, 4 MB/s schrijven | S1 |
| 7 | OID-sensor kalibratie | 22 | Drift <0,3 mm | S1 |
| 8 | OID-codeherkenning (12 voorbeeldcodes) | 30 | 12/12 herkend | S1 |
| 9 | Luidspreker 1 kHz toon SPL | 12 | 78–82 dB op 10 cm | S1 |
| 10 | Microfoongevoeligheid | 12 | 1 kHz sinus gedetecteerd op -26 dBFS | S1 |
| 11 | Diagnostiek LED-test | 10 | R, G, B, G, W allemaal te onderscheiden | S2 |
| 12 | Knop-debounce | 8 | Alle 6 knoppen reageren in <80 ms | S2 |
| 13 | Thermische soak | 90 | ΔT < 8°C vanaf omgeving onder belasting | S2 |
| 14 | Definitieve opstart + slaapstroom | 5 | Slaapstroom <120 µA | S1 |
Totaal: 240 seconden. De fixture kan geparalleliseerd worden naar 4 jigs per host-PC, zodat één testcel 4 pennen per 240 s verwerkt, of 60 pennen per uur. Een productiecel met 6 testcellen verwerkt 360 pennen per uur.
3. Parametrische dekking per test
Elke test doorloopt een specifieke parametrische ruimte. De acceptatiecriteria zijn geen enkele drempelwaarden — het zijn vensters die rekening houden met componentvariatie.
3.1 Accu-impedantievenster
| Model | Celtype | Nominale impedantie | Acceptatievenster |
|---|---|---|---|
| B1 | Li-poly 700 mAh | 220 mΩ | 120–280 mΩ |
| B2 | Li-poly 800 mAh | 200 mΩ | 110–260 mΩ |
| F8 | Li-poly 600 mAh | 240 mΩ | 130–310 mΩ |
| K7 / KF1 | Li-ion 14500 800 mAh | 150 mΩ | 80–200 mΩ |
| L5 | Li-poly 1200 mAh | 160 mΩ | 90–220 mΩ |
| P2 | Li-poly 500 mAh | 260 mΩ | 140–340 mΩ |
| Q6 | Li-poly 900 mAh | 180 mΩ | 100–240 mΩ |
| Q8 | Li-poly 1000 mAh | 170 mΩ | 95–230 mΩ |
| T2 | Li-ion 18650 2500 mAh | 90 mΩ | 50–130 mΩ |
| Y6 | Li-ion 18650 2000 mAh | 100 mΩ | 60–140 mΩ |
3.2 Kalibratievenster OID-sensor
| Model | Sensortype | Kalibratiedoel | Geschikt venster |
|---|---|---|---|
| B1 / B2 / P2 | 30 fps CMOS, 0,3 MP | centrum 0,00 mm | ±0,30 mm |
| F8 / K7 / KF1 | 60 fps CMOS, 1,0 MP | centrum 0,00 mm | ±0,25 mm |
| L5 / Q6 / Q8 / T2 / Y6 | 60 fps CMOS, 2,0 MP | centrum 0,00 mm | ±0,20 mm |
3.3 SPL-venster luidspreker
| Model | Luidspreker | Nominale SPL | Geschikt venster |
|---|---|---|---|
| B1 / B2 / P2 | 23 mm 8 Ω 1 W | 78 dB | 74–82 dB |
| F8 / K7 / KF1 | 28 mm 8 Ω 1,5 W | 80 dB | 76–84 dB |
| L5 / Q6 / Q8 | 28 mm 8 Ω 2 W | 81 dB | 77–85 dB |
| T2 / Y6 | 36 mm 4 Ω 3 W | 82 dB | 78–86 dB |
4. Stationsconfiguratie per model
De 11 fixturevarianten verschillen in de bed-of-nails-geometrie, de positie van de batterijlip en de speakeraansluitadapter. De softwarereeks is bij alle 11 identiek.
| Model | Fixturevariant | Cyclustijd | Celdoorvoer | Opmerkingen |
|---|---|---|---|---|
| B1 | FX-B1-v4 | 240 s | 60 pennen/u | Compacte behuizing, enkele knoppenrij |
| B2 | FX-B2-v4 | 240 s | 60 pennen/u | Identiek aan B1, langere batterijlip |
| F8 | FX-F8-v3 | 240 s | 60 pennen/u | Grotere speaker, NFC-antenne aan achterzijde |
| K7 | FX-K7-v3 | 240 s | 60 pennen/u | Cilindrische grip, zijknoppen |
| KF1 | FX-KF1-v3 | 240 s | 60 pennen/u | Identiek aan K7, ander OID-venster |
| L5 | FX-L5-v2 | 240 s | 60 pennen/u | Touchscreen, grotere pogo-array |
| P2 | FX-P2-v4 | 240 s | 60 pennen/u | Mini-formfactor, enkele knop |
| Q6 | FX-Q6-v2 | 240 s | 60 pennen/u | Bluetooth + Wi-Fi, grotere antennetest |
| Q8 | FX-Q8-v2 | 240 s | 60 pennen/h | Zelfde als Q6, grotere batterij |
| T2 | FX-T2-v1 | 260 s | 55 pennen/h | 18650-cel, langere afkoeltijd |
| Y6 | FX-Y6-v1 | 260 s | 55 pennen/h | Zelfde als T2, groter OID-venster |
T2 en Y6 doen er 20 seconden langer over omdat de 18650-cel een langere thermische inweek nodig heeft. De andere vier modellen delen de cyclus van 240 seconden.
5. Testopstelling-softwarearchitectuur
De software van de testopstelling is een Python 3.11-service die draait op een Windows 11-host en via USB met de testjig en via Ethernet met het MES communiceert.
rptest-fixture/
├── host/
│ ├── rptest_service.py (hoofdserviceloop)
│ ├── rptest_mes.py (MES API-client)
│ └── rptest_log.py (CRC-32 stempeling)
├── drivers/
│ ├── usbc_pd.py (USB-PD-trigger)
│ ├── kelvin.py (4-draads batterij-impedantie)
│ ├── audio_analyzer.py (luidspreker SPL, microfoongevoeligheid)
│ ├── nfc_emulator.py (OID-sensor kalibratie)
│ ├── led_sensor.py (TSL2561 RGB-lezing)
│ └── thermal.py (Type-K thermische sonde)
├── sequences/
│ ├── seq_b1.json (14-staps sequentie per model)
│ ├── seq_b2.json
│ ├── seq_f8.json
│ └── ... (één per model)
├── limits/
│ ├── lim_battery.json (per model goedgekeurde vensters)
│ ├── lim_oid.json
│ └── lim_speaker.json
└── reports/
└── <serial>.json (testlog per eenheid)
De sequentiebestanden zijn JSON, de limietbestanden zijn JSON en de rapporten zijn JSON. Elke wijziging aan een goedgekeurd venster wordt via git bijgehouden, door twee ingenieurs beoordeeld en goedgekeurd door de QA-manager. Er staan geen magische getallen in de testcode.
6. Traceerbaarheid per serienummer
Elke eenheid die de testopstelling passeert, krijgt een 32-bit CRC gestempeld in de gebruikersdatapartitie. De CRC dekt het testlog, de firmwareversie, de kalibratiewaarden en de operator-ID. Het MES bewaart het volledige log twee jaar.
| Veld | Opgeslagen in MES | Opgeslagen op apparaat |
|---|---|---|
| Serienummer | ja | ja |
| Firmwareversie | ja | ja |
| Batterij-impedantiemeting | ja | samenvatting (goed/afgekeurd) |
| OID-kalibratie X/Y | ja | ja (ruwe waarden) |
| Luidspreker SPL | ja | samenvatting |
| Microfoongevoeligheid | ja | samenvatting |
| Thermische inweek ΔT | ja | samenvatting |
| Operator-ID | ja | nee |
| Tijdstempel | ja | nee |
| 32-bit CRC-stempel | n/v.t. | ja |
De CRC-stempel wordt uitgelezen door de handscanner van het QA-team op elk later station (IQC, IPQC, OQC, pack-out) om te verifiëren dat de eenheid door de testopstelling is getest. Een ontbrekende of ongeldige CRC blokkeert de eenheid voor de eindcontrole.
7. Opbrengstdoelen en Six-Sigma-discipline
De testopstelling volgt first-pass yield (FPY) per model, per ploegendienst en per operator. Onze gepubliceerde doelen:
| Model | FPY-doel | Kritieke defecten (DPMO) | Grote defecten (DPMO) |
|---|---|---|---|
| B1 / B2 / P2 | ≥97,5% | ≤80 | ≤350 |
| F8 / K7 / KF1 | ≥98,2% | ≤60 | ≤280 |
| L5 / Q6 / Q8 | ≥98,6% | ≤40 | ≤220 |
| T2 / Y6 | ≥98,8% | ≤30 | ≤180 |
Een daling onder het doel activeert een 8D-rapport binnen 24 uur. Over 47.000+ verzonden pennen sinds 2023 heeft de lijn een gemiddelde FPY van 98,6% behaald, met de beste maand op 99,2% bij Q8-productie.
8. SVG-visualisatie van stationsvolgorde en opbrengsttrend
9. Prijzen, levertijd en reserveonderdelen
| Dienst | Kosten | Levertijd |
|---|---|---|
| Fixturehardware (per modelvariant) | $4.800–$6.400 | 28 dagen |
| Fixturesoftwarelicentie | $1.800 eenmalig + $360/jaar | 7 dagen |
| Fixturekalibratie (NIST-traceerbaar) | $240 per cel | 14 dagen |
| Operatorcertificering | $400 per technicus | 2 dagen |
| MES-integratie | inbegrepen bij de licentie van $1.800 | 14 dagen |
| Reserve-pogopinnen (pak van 100) | $80 | 7 dagen |
Tip voor de koper: Als u een private-label lijn met meerdere SKU's in licentie neemt, vraag dan naar de shared-host configuratie (4 jigs per host-PC). Dit verlaagt de host-hardwarekosten met 60% in vergelijking met één jig per host.
11. Visual: stationsallocatie per SKU en opbrengsttrend
De onderstaande visualisatie combineert een per-SKU stationsallocatie (gestapeld) met een lijngrafiek van de FPY-trend (first-pass yield) over 12 maanden voor de hele lijn. De L5/F8/Q8-lijnen draaien op volle toeren voor Q3/Q4 schoolleveringen en de FPY blijft zelfs bij piekbelasting boven de 98,7%.