La programmazione schede è il caricamento del firmware sui microcontrollori direttamente in-circuit, integrato nel flusso di collaudo: niente doppia movimentazione, niente rischio di versioni firmware miste, tracciabilità checksum per ogni unità. Nel nostro laboratorio QC PCBA programmiamo abitualmente microcontrollori di Atmel/Microchip, NXP, ST Microelectronics, Analog Devices, Texas Instruments, Renesas e Infineon, su tutti i principali protocolli (JTAG, SWD, UART, ISP/ICSP, BSL).
Cos’è e perché serve
Perché programmare durante il collaudo
Programmare la scheda in un passaggio separato dal collaudo significa moltiplicare i tempi e introdurre un rischio: una scheda potrebbe arrivare al cliente con la versione di firmware sbagliata, o non essere programmata affatto. Integrare flash e test nello stesso step elimina entrambi i problemi.
Nel nostro flusso, la scheda viene posizionata sul banco di collaudo, programmata con la versione corretta del firmware fornita dal cliente, e immediatamente testata sotto quel firmware. Se qualcosa non torna (comunicazione persa, periferica non risponde) la causa si identifica subito, prima che il lotto esca dal laboratorio.
Come la facciamo
Microcontrollori e tecniche supportate
Il nostro personale ha esperienza diretta sulla programmazione di microcontrollori dei principali produttori: Atmel (oggi Microchip), NXP, ST Microelectronics, Microchip, Analog Devices, Texas Instruments, Renesas, Infineon. Per ogni famiglia adottiamo gli strumenti di programmazione raccomandati dal produttore, con script di automazione che permettono di flashare e verificare in pochi secondi.
La programmazione avviene in-circuit (ICP), direttamente sul connettore di programmazione previsto sulla scheda, oppure tramite fixture letto d’aghi quando la scheda non espone un connettore dedicato. In alcuni scenari la programmazione viene eseguita direttamente durante il ciclo di test ICT sul flying probe Seica Pilot V8, che supporta il flash on-board di microcontrollori e dispositivi flash all’interno dello stesso step di collaudo.
Protocolli di programmazione gestiti
- JTAG (IEEE 1149.1): catena di programmazione su microcontrollori, FPGA, CPLD, anche integrata con boundary scan sul flying probe
- SWD (Serial Wire Debug): interfaccia a 2 pin per Cortex-M di ST Microelectronics, NXP e altri vendor ARM
- ISP / ICSP: programmazione in-system per microcontrollori Microchip PIC, AVR e famiglie compatibili
- UART bootloader: caricamento seriale su AVR, PIC, ESP e altri target con bootloader nativo
- BSL: Bootstrap Loader per la famiglia MSP430 di Texas Instruments
Identificativi univoci e calibrazione per scheda
Per produzioni che richiedono unicità (telecontrollo, IoT industriale, dispositivi connessi) gestiamo la scrittura di serial number progressivi, MAC address da pool fornito dal cliente, chiavi di licenza e parametri di calibrazione individuali. Ogni valore scritto viene riletto e tracciato nel report di unità, così resta associato univocamente alla scheda per tutto il ciclo di vita del prodotto.
Sicurezza dei file firmware
I binari ricevuti dal cliente vengono trattati come materiale riservato: canale di scambio concordato, archiviazione sulla stazione di programmazione del progetto, cancellazione a fine produzione su richiesta. Firmiamo NDA dedicati quando previsto dal contratto.
Vantaggi
- Un solo passaggio programmazione e collaudo nello stesso step, senza doppia movimentazione delle schede.
- Versione firmware garantita la versione caricata è quella concordata, con checksum verificato su ogni unità via readback automatico.
- Esperienza multi-vendor lavoriamo abitualmente con i principali brand di microcontrollori industriali.
- Tracciabilità completa log firmware, checksum ed eventuali serial number/MAC per ogni scheda, utile per audit, garanzia e gestione campagne di aggiornamento.
- Integrazione con test ICT in molti casi la programmazione viene fatta in-line durante il collaudo flying probe Seica Pilot V8, senza step aggiuntivi di banco.
Quando ti serve
Quando ti serve programmazione in-circuit
La programmazione integrata al collaudo è la scelta naturale in queste situazioni:
- Schede con microcontrollore che escono pronte all’uso (no fasi di setup successive)
- Produzioni con frequenti aggiornamenti firmware tra un lotto e l’altro
- Schede destinate a settori con audit di qualità (tracciabilità firmware richiesta)
- Piccoli lotti dove non ha senso costruire una stazione di programmazione interna
- Schede dove il firmware è necessario per eseguire il collaudo funzionale
- Prodotti che richiedono serial number, MAC address o parametri di calibrazione univoci per unità
Cosa ci serve per partire
Per quotare e impostare la programmazione delle tue schede ci servono:
- Binario firmware: file .hex, .bin, .elf o formato equivalente, con specifica di versione e checksum di riferimento
- Protocollo di programmazione: JTAG, SWD, UART, ISP/ICSP, BSL o altro, e come è esposto sulla scheda (connettore dedicato, test point, area pad)
- Schema elettrico del PCB: per identificare pinout di programmazione, alimentazioni necessarie durante il flash, eventuali strap mode
- Eventuali identificativi univoci: pool di MAC address, range di serial number, file di calibrazione per scheda
- Quantità e tempistica: numero di unità del lotto e data di consegna desiderata
Con questi dati ti rispondiamo entro 24 ore lavorative con valutazione di fattibilità e preventivo integrato programmazione + collaudo per scheda.
Dove operiamo
Laboratorio in Veneto, servizio in tutta Italia
Il nostro laboratorio QC PCBA si trova a Cornedo Vicentino, in provincia di Vicenza. Da qui serviamo clienti in tutta Italia: contract manufacturer, OEM, uffici R&D, divisioni elettroniche di gruppi industriali, startup deep-tech con prototipi in fase di pre-serie.
Per la programmazione schede l’organizzazione standard è:
- Spedizione corriere: le schede arrivano al laboratorio, vengono programmate (in molti casi in-line con il test flying probe o con il collaudo funzionale) e rispedite con report integrato. Tempi di transito tipici 24-48 ore sul territorio nazionale.
- Ritiro e consegna diretti: su lotti più consistenti o consegne ricorrenti organizziamo il ritiro presso la sede del cliente e la riconsegna a produzione completata.
- Account dedicato: per progetti continuativi un nostro referente segue tutto il flusso da preventivo a tracciabilità lotti, con gestione dedicata di firmware e identificativi univoci, integrato con il MES del cliente.
Operiamo come Divisione Elettronica di Web Elettronica SRLS, con sede operativa a Cornedo Vicentino e sede legale a Trissino. La pagina chi siamo racconta la storia del laboratorio e le competenze del team IPC qualificato.
La nostra esperienza
Una raccomandazione tecnica che diamo a chi progetta nuove schede: prevedere sempre un connettore di programmazione standard accessibile, anche minimo. Un piccolo accorgimento in fase di design riduce i tempi di programmazione del 40-50% nella produzione, ti evita di dover costruire fixture complesse, e abilita la programmazione in-line direttamente durante il test ICT sul flying probe. Quando il volume cresce e ha senso passare a gang programmer dedicati o a una stazione interna del cliente, te lo diciamo noi per primi.
FAQ Domande frequenti su programmazione schede
Quali brand di microcontrollori supportate?
Lavoriamo abitualmente con i principali produttori del mercato industriale: Atmel (oggi Microchip), NXP, ST Microelectronics, Microchip, Analog Devices, Texas Instruments, Renesas, Infineon. Per ogni famiglia usiamo i programmatori e gli script raccomandati dal produttore. Per brand meno comuni o componenti custom valutiamo caso per caso la fattibilità.
Programmazione via JTAG, SWD, UART o ISP/ICSP è supportata?
Sì, supportiamo tutti i principali protocolli di programmazione in-circuit: JTAG (IEEE 1149.1), SWD per Cortex-M di ST e NXP, UART bootloader per AVR, PIC ed ESP, ISP/ICSP per Microchip, BSL per MSP430. La scelta dipende da come il produttore del microcontrollore espone l'interfaccia di programmazione e da come la scheda è progettata.
Come gestite i file firmware riservati del cliente?
I binari firmware vengono trattati come materiale riservato. Vengono ricevuti tramite canale concordato con il cliente, caricati sulla stazione di programmazione dedicata al progetto, e conservati per il tempo necessario alla produzione del lotto. Su richiesta del cliente firmiamo NDA dedicati e gestiamo procedure di cancellazione a fine progetto.
Garantite la versione esatta caricata su ogni unità?
Sì. Al termine della programmazione lo script legge il firmware appena scritto e ne verifica il checksum confrontandolo con il binario di riferimento. Una scheda non passa il controllo se la verifica non torna. Il log finale documenta versione e checksum per ogni unità del lotto, utile per audit e gestione campagne di aggiornamento.
Potete scrivere serial number, MAC address o parametri di calibrazione univoci per scheda?
Sì. Gestiamo la scrittura di identificativi univoci per unità: serial number progressivi, MAC address da pool fornito dal cliente, chiavi di licenza, parametri di calibrazione individuali. Ogni valore scritto viene riletto e tracciato nel report, così resta associato univocamente alla scheda fino al fine vita.
Posso integrare la programmazione con il vostro collaudo?
È esattamente come lavoriamo abitualmente. La programmazione viene eseguita nello stesso step del collaudo funzionale o, in alcuni casi, direttamente durante il test ICT sul flying probe Seica Pilot V8. Un solo passaggio, una sola movimentazione, un unico report che unisce esito programmazione, checksum e risultato del collaudo.
Operate solo in Veneto o in tutta Italia?
Operiamo in tutta Italia. Le schede arrivano al nostro laboratorio di Cornedo Vicentino tramite corriere (transito 24-48h sul territorio nazionale), oppure su lotti consistenti organizziamo ritiro e riconsegna direttamente sul sito del cliente.