08/15/2026 updated


40 % partially available
Firmware Engineer & Embedded Systems Developer
Torino, Italy
Worldwide
B.Sc. in Electronic Engineering | M.Sc. in Data Science and Engineering (LM-32)About me
Firmware Engineer with an academic background in Electronics and Data Science, with hands‑on experience developing and debugging embedded C firmware on Xilinx Zynq‑7000 SoCs for industrial electronic test systems.
C++ (Programming Language)DebuggingElectrical System DesignEmbedded CEmbedded SystemsLinux On Embedded SystemsEmbedded Operating SystemsEmbedded SoftwareEmbedded SQLFirmwareField-Programmable Gate Array (FPGA)Python (Programming Language)System On A ChipFpga HardwareEmbedded Coder
Embedded Systems & Bare-Metal Firmware Development
Extensive experience in developing and maintaining bare-metal embedded C firmware for Xilinx Zynq-7000 SoCs, including low-level hardware-software integration with MMIO, interrupts, DMA, FIFOs, and peripheral drivers for industrial electronic test systems.
Programming Languages: C, C++, Python
Solid proficiency in C and C++ for embedded and systems-level programming, as well as Python for Machine Learning and Deep Learning model development using PyTorch and TensorFlow.
FPGA / SoC Development with Xilinx Tools
Hands-on experience with VHDL, PS/PL integration, and AMD/Xilinx Vivado and Vitis toolchains for firmware development, build configuration, debugging, and integration between processing systems and FPGA logic.
Communication Interfaces: SPI, I2C, UART
Development and debugging of low-level communication interfaces with particular focus on SPI communication, synchronization, timing constraints, and data integrity.
Hardware Debugging & Instrumentation
Diagnosis of firmware and hardware integration issues using JTAG, logic analyzers, oscilloscopes, register-level inspection, and firmware instrumentation.
Platforms: Xilinx Zynq-7000, ARM, STM32, ESP32
Practical experience developing embedded applications on multiple hardware platforms including Xilinx Zynq-7000, ARM-based systems, STM32, and ESP32 microcontrollers.
Tools: Vitis, Vivado, Git, Linux, Bash
Regular use of industry-standard development tools including Vitis, Vivado, Git for version control, and Linux/Bash for build and scripting environments.
Machine Learning & Deep Learning
Design and implementation of Machine Learning and Deep Learning models in Python using PyTorch and TensorFlow, including optimization for resource-constrained and embedded platforms.
Extensive experience in developing and maintaining bare-metal embedded C firmware for Xilinx Zynq-7000 SoCs, including low-level hardware-software integration with MMIO, interrupts, DMA, FIFOs, and peripheral drivers for industrial electronic test systems.
Programming Languages: C, C++, Python
Solid proficiency in C and C++ for embedded and systems-level programming, as well as Python for Machine Learning and Deep Learning model development using PyTorch and TensorFlow.
FPGA / SoC Development with Xilinx Tools
Hands-on experience with VHDL, PS/PL integration, and AMD/Xilinx Vivado and Vitis toolchains for firmware development, build configuration, debugging, and integration between processing systems and FPGA logic.
Communication Interfaces: SPI, I2C, UART
Development and debugging of low-level communication interfaces with particular focus on SPI communication, synchronization, timing constraints, and data integrity.
Hardware Debugging & Instrumentation
Diagnosis of firmware and hardware integration issues using JTAG, logic analyzers, oscilloscopes, register-level inspection, and firmware instrumentation.
Platforms: Xilinx Zynq-7000, ARM, STM32, ESP32
Practical experience developing embedded applications on multiple hardware platforms including Xilinx Zynq-7000, ARM-based systems, STM32, and ESP32 microcontrollers.
Tools: Vitis, Vivado, Git, Linux, Bash
Regular use of industry-standard development tools including Vitis, Vivado, Git for version control, and Linux/Bash for build and scripting environments.
Machine Learning & Deep Learning
Design and implementation of Machine Learning and Deep Learning models in Python using PyTorch and TensorFlow, including optimization for resource-constrained and embedded platforms.
Experience
Professional experience0 - 5 years
Freelancer since2026
Languages
EnglishFluentItalianNative speaker
Project history
Develop and maintain embedded C firmware for Xilinx Zynq-7000 SoCs used in industrial electronic test systems. Work on low-level hardware-software integration including memory-mapped I/O, interrupts, FIFOs, DMA-based data transfers, and communication between the ARM processing system and programmable logic. Develop and debug low-level communication interfaces with focus on SPI communication, synchronization, timing constraints, and data integrity. Diagnose firmware and hardware integration issues using JTAG, logic analyzers, oscilloscopes, and register-level inspection. Use AMD/Xilinx Vivado and Vitis toolchains for firmware development, build configuration, debugging, and integration between processing system and FPGA logic.
Led a team of over 80 members in the design and development of ROVs, ensuring compliance with deadlines, quality standards, and project goals. Managed a 58,300 EUR annual budget, secured sponsorships, tracked expenses, and allocated resources across electronics, software, and mechanical areas. Optimized workflows through project management methodologies and established collaborations with companies such as ST and Dewesoft.
Coordinated the activities of the Firmware and Software division, contributing to the development of the ROV's new internal architecture. Facilitated communication between different team areas to enable an integrated design of the ROV.