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)
Torino, Italy
Worldwide
B.Sc. in Electronic Engineering | M.Sc. in Data Science and Engineering (LM-32)

Profile attachments

CV_GiovanniPellegrino.pdf

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 CoderHardware Debugging
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.

Experience

Professional experience0 - 5 years
Freelancer since2026

Languages

EnglishFluentItalianNative speaker

Project history

Firmware Engineer

SPEA S.p.A.
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.

Team Leader

PoliTOcean
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.

Advisor Firmware and Software

PoliTOcean
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.

Firmware and Software Developer

PoliTOcean
Designed and managed the electronics of the Control Station, ensuring compliance with competition safety standards. Developed code to control a stepper motor operating a syringe to extract specific quantities of liquid. Enhanced skills in using oscilloscopes, voltage generators, and benchtop multimeters.

Contact form

Log in to get in touch

You need to be logged in to use the contact form.

Sign upLog in