Torna ai Progetti Reparto Corse • 2023 - 2025
Politecnico di Milano Racing Team

PoliMi Motorcycle Factory

Esperienza triennale (1° - 3° anno accademico) all'interno della divisione Firmware, contribuendo alla progettazione e realizzazione del software del prototipo da competizione elettrico per il ciclo 23-25.

Ruolo
Sviluppatore Firmware
Prototipo
Moto 23-25 (Bambara)

Attività Principali & Architettura

C++
Architecture & Refactoring

Migrazione della codebase C → C++

Refactoring strutturale dell'intera codebase legacy, migrando da un paradigma procedurale C a un'architettura a oggetti C++ moderna. Progettazione di interfacce astratte e classi per garantire modularità e massima riutilizzabilità del codice.

MCU
Embedded Systems

Sviluppo Firmware per le Schede di Bordo

Scrittura del nuovo firmware per le schede elettroniche sotto citate del prototipo 23-25

Scheda Sensori

Campionamento ad alta frequenza dei sensori analogici e digitali di bordo (sospensioni, temperature, ...) e invio periodico su linea CAN.

ECU

Unità centrale di controllo veicolo: gestione degli stati di sicurezza, monitoraggio degli errori e gestione dell'inverter tramite CAN.

Scheda IMU-GPS

Acquisizione delle dinamiche veicolo (accelerazioni, rollio, beccheggio) e invio dei parametri via CAN.

Scheda Aerofreni

Controllo degli aerofreni tramite PWM in fase di frenata, sulla base dei dati ricevuti via CAN.

CAN
Automation Pipeline & Tooling

Submodule DBC CAN Parser & Generatore C++

Sviluppo di un submodule condiviso per tutto il reparto firmware che, tramite uno script Python dedicato, esegue il parsing automatico dei file di rete .dbc generando classi C++ tipizzate pronte all'uso.

Vantaggi per il reparto firmware:
Zero bit-shifting manuale: impacchettamento e spacchettamento dei payload gestiti in automatico senza errori di offset
Minimizzazione degli errori: riduzione degli errori umani grazie all'automazione del processo di parsing e generazione del codice
Funzionamento intuitivo: grazie alla redazione di un'apposita guida, l'uso del submodule è semplice e immediato, anche per chi ha poca dimestichezza con la rete CAN

Toolchain & Tecnologie

Microcontrollori STM32
Linguaggi C / C++ / Python
Ambiente di Sviluppo STM32CubeIDE / VS Code
Bus Diagnostics CANalyzer, PCAN_View
© 2026 Simone Sesana