Back to Projects Racing Division • 2023 - 2025
Politecnico di Milano Racing Team

PoliMi Motorcycle Factory

Three-year experience (1st - 3rd academic year) within the Firmware division, contributing to the software design and development of the electric racing prototype for the 23-25 season.

Role
Firmware Developer
Prototype
Bike 23-25 (Bambara)

Key Activities & Architecture

C++
Architecture & Refactoring

C → C++ Codebase Migration

Structural refactoring of the entire legacy codebase, transitioning from a procedural C paradigm to a modern C++ object-oriented architecture. Designed abstract interfaces and classes to ensure modularity and maximum code reusability.

MCU
Embedded Systems

Firmware Development for On-Board Electronic Boards

Authored new firmware for the following electronic boards of the 23-25 prototype:

Sensors Board

High-frequency sampling of analog and digital on-board sensors (suspension, temperatures, ...) and periodic transmission over the CAN bus.

ECU

Central vehicle control unit: safety state management, error monitoring, and inverter control via CAN.

IMU-GPS Board

Acquisition of vehicle dynamics (acceleration, roll, pitch) and parameter transmission via CAN.

Airbrakes Board

PWM control of active aerodynamic airbrakes during braking phases, dynamically driven by telemetry data received via CAN.

CAN
Automation Pipeline & Tooling

DBC CAN Parser & C++ Generator Submodule

Developed a shared submodule for the entire firmware division that automatically parses .dbc network files via a dedicated Python script to generate ready-to-use, typed C++ classes.

Key benefits for the firmware department:
Zero manual bit-shifting: payload packing and unpacking handled automatically without byte offset errors
Error minimization: reduced human error through an automated parsing and code generation pipeline
Intuitive integration: accompanied by clear documentation, making submodule usage straightforward even for team members newer to CAN networks

Toolchain & Technologies

Microcontrollers STM32
Languages C / C++ / Python
IDE & Editors STM32CubeIDE / VS Code
Bus Diagnostics CANalyzer, PCAN_View
© 2026 Simone Sesana