Pic16 from Zero to Hero

Base 43 lezioni

🎓 PIC16 — From Zero to Hero · Lezione –01

Perché questo corso.
Perché ho scritto il simulatore.

30 anni a progettare sistemi embedded. 5 anni a insegnarli.
Ecco cosa ho capito — e perché ho costruito questo strumento.

Il primo giorno in classe

Il primo anno che ho insegnato microcontrollori, ho fatto quello che fanno tutti: ho distribuito la scheda con il PIC, spiegato come installare MPLAB, e dato un’ora per mettere in piedi l’ambiente di sviluppo.

Un’ora dopo, metà della classe stava ancora aspettando che il driver dell’USB si installasse. Un ragazzo aveva il Mac. Un’altra aveva Windows in italiano con i path diversi. Qualcuno aveva scaricato la versione sbagliata. Il programmatore hardware di un banco non funzionava.

Non avevamo ancora scritto una riga di codice.

Quella lezione l’ho finita parlando di architettura Harvard su una lavagna, con metà della classe che seguiva e l’altra metà che cercava di capire perché il PC non riconosceva il PICkit. Non era quello che avevo in mente.

Il problema non era la tecnologia

Dopo 30 anni a progettare sistemi embedded — dal firmware per dispositivi medicali ai controller per impianti industriali — so bene che i PIC sono una piattaforma solida, didatticamente eccellente, economica. Non è quello il problema.

Il problema è la distanza tra lo studente e il concetto. E quella distanza, nei corsi tradizionali, è piena di ostacoli che non hanno nulla a che fare con l’elettronica:

🔌

L’hardware non è a casa

La scheda è in laboratorio. Il laboratorio è aperto tre ore a settimana. Se non capisci qualcosa durante l’esercitazione, non puoi riprovare da solo la sera. L’apprendimento si interrompe.

💻

L’installazione è un labirinto

MPLAB X richiede Java, driver specifici, configurazione del programmatore. Su Windows funziona. Su Mac forse. Su Linux buona fortuna. Prima ancora di compilare “Hello World”, hai già perso un’ora e mezza.

🔬

Il laboratorio non basta

Anche quando tutto funziona, hai 25 studenti, 8 postazioni e 2 ore. Non è fisica: non tutti riescono a fare esperienza diretta. Qualcuno osserva, qualcuno spinge i tasti, qualcuno aspetta il suo turno.


Cosa ho imparato in 30 anni di embedded

Nel lavoro professionale, un sistema embedded non si “vede”. Non ha schermo, non ha tastiera. Programmi, carichi il firmware, e osservi il comportamento attraverso un LED, un oscilloscopio, un terminale seriale. La tua testa deve essere capace di immaginare cosa sta succedendo dentro al chip.

Questa capacità — visualizzare mentalmente il flusso di esecuzione — è la differenza tra chi sa fare debug in 10 minuti e chi ci passa mezza giornata. E si costruisce solo in un modo: eseguendo istruzioni una ad una, osservando i registri cambiare, capendo il perché di ogni bit.

«Un buon simulatore non è un sostituto dell’hardware. È qualcosa di meglio: ti permette di fermare il tempo, guardare dentro la CPU, e capire esattamente cosa sta succedendo — cosa che con il chip reale non puoi fare.»

— Prof. D. Bertolino


Perché ho scritto il simulatore

Esistono già simulatori per PIC. MPLAB ha il suo. Ci sono tool online. Ma nessuno era pensato per la didattica in aula — ovvero per uno studente che apre il browser, inizia a scrivere codice e capisce cosa sta facendo, senza prerequisiti tecnici di installazione.

Ho scritto il WebPicSimulator con obiettivi precisi:

🌐
Zero installazioni
Apri il browser, hai il simulatore. Su Windows, Mac, Linux, Chromebook, tablet. L’unico requisito è una connessione internet.
🏠
Studio a casa
Dopo la lezione puoi riaprire esattamente il tuo progetto, riprendere da dove hai lasciato, ripetere l’esercizio alle 23 se serve.
🔍
Trasparenza totale
Ogni registro è visibile in tempo reale. Puoi eseguire un’istruzione alla volta e osservare esattamente cosa cambia dentro la CPU.
📐
Pensato per la didattica
Non è uno strumento professionale adattato. È stato progettato da zero per chi sta imparando: interfaccia chiara, errori leggibili, feedback immediato.
🎯
Hardware reale, quando serve
Il simulatore non sostituisce l’hardware — lo precede. Quando arriverai al laboratorio avrai già capito la logica. Il chip fisico sarà la conferma, non la scoperta.
👨‍🏫
Strumenti per il docente
Classi, assegnazioni, consegne, valutazioni — tutto integrato. La piattaforma è anche un sistema di gestione didattica, non solo un simulatore.

Perché i PIC16 e non altro

È una domanda legittima. Esistono Arduino, ESP32, STM32 — piattaforme più moderne, più potenti, con ecosistemi enormi. Perché partire dai PIC16 in Assembly?

Risposta breve: perché sono onesti.

Arduino ti nasconde quasi tutto. Scrivi digitalWrite(13, HIGH) e un LED si accende — ma non sai cosa sta succedendo dentro. È perfetto per prototipare in fretta. È pessimo per capire come funziona un microcontrollore.

Il PIC16 in Assembly non ti nasconde niente. Vuoi accendere un LED? Devi sapere cos’è TRISB, cos’è PORTB, come si scrive un bit in un registro. È più faticoso all’inizio. Ma quello che impari è tuo — e vale per qualsiasi piattaforma tu userai dopo.

✅ Perché i PIC16

  • Set di istruzioni minimale (solo 35) — imparabile per intero
  • Architettura trasparente, nessun livello di astrazione nascosto
  • Documentazione Microchip eccellente e gratuita
  • Ancora ampiamente usati nell’industria (automotive, elettrodomestici, controllo industriale)
  • Costo reale del chip: meno di 1€
  • Le basi che impari qui si trasferiscono su qualsiasi MCU

⚠️ Cosa non sono i PIC16

  • Non sono la piattaforma più veloce da prototipare
  • Non hanno WiFi, Bluetooth o USB nativo
  • Non sono la scelta per un progetto IoT consumer
  • L’Assembly non è il linguaggio che userai ogni giorno in azienda

Ma questo non è un corso per fare prodotti. È un corso per capire come funzionano le macchine.


Come è strutturato il corso

43 lezioni divise in 8 moduli, da zero assoluto fino alle periferiche avanzate. Ogni lezione ha un obiettivo preciso, codice da eseguire nel simulatore, esercizi e un quiz. La progressione è pensata perché ogni concetto si appoggi su quelli precedenti — niente salti, niente “fidati di me per ora”.

Modulo 0
Il Laboratorio
Setup, interfaccia simulatore, primo programma
Modulo 1
Assembly Base
Le 35 istruzioni, registri, STATUS, salti
Modulo 2
I/O Digitale
PORTA, PORTB, LED, pulsanti, pattern
Modulo 3
Timer
TMR0, prescaler, delay precisi, PWM software
Modulo 4
Interrupt
ISR, vettori, gestione multipla
Modulo 5
Periferiche
EEPROM, TMR1/2, ADC, USART, CCP/PWM
Modulo 6
Tecniche Avanzate
FSM, lookup table, aritmetica 16-bit
Modulo 7
Progetti Completi
Orologio, termostato, seriale, Simon Says

A chi è rivolto

✅ È il corso giusto se…

  • Non hai mai programmato un microcontrollore
  • Sai già programmare ma vuoi capire cosa succede “sotto”
  • Sei uno studente di un ITIS o di un corso universitario di elettronica/informatica industriale
  • Sei curioso e vuoi capire come funziona davvero l’hardware
  • Non hai hardware a disposizione (o non vuoi comprarlo ancora)

⚠️ Cosa serve

  • Un browser moderno (Chrome, Firefox, Edge, Safari)
  • Basi di numerazione binaria e esadecimale — o voglia di impararle lungo il corso
  • Pazienza con sé stessi nelle prime lezioni: l’Assembly sembra strano, poi diventa naturale

Non serve installare niente. Non serve comprare niente. Non serve un account per iniziare le prime lezioni.

Una cosa sola prima di iniziare

In 30 anni ho visto molte persone imparare a programmare microcontrollori. Quelle che hanno avuto successo non erano necessariamente le più brillanti o le più veloci. Erano quelle che non saltavano i passaggi — che eseguivano ogni esercizio invece di limitarsi a leggerlo, che quando qualcosa non funzionava si chiedevano perché invece di copiare la soluzione.

Usa il simulatore. Fai lo Step. Guarda i registri.
Il codice che capisci vale dieci volte quello che copi.

© Prof. D. Bertolino · PIC16 From Zero to Hero · WebPicSimulator · Lezione –01

Per aprire il simulatore

Programma del Percorso — 43 lezioni

Altri Percorsi