Sviluppatore/trice firmware embedded

Pubblicato il 07-11-2026 · NETtoWORK · Pomezia

Sviluppatore firmware embedded (microcontrollori)

Inquadramento

Assunzione diretta in DMG S.p.A., livello intermedio (mid), con affiancamento nella fase iniziale

Area

Ufficio tecnico

Riporta a

Responsabile di progetto

Sede

DMG S.p.A. — presenza in sede per il lavoro a banco; da definire la quota di lavoro a distanza

1. Contesto

DMG sviluppa dispositivi elettronici per il settore ascensori, tra cui indicatori di posizione, display e interfacce di cabina e di piano basati su microcontrollori.

La risorsa ricercata lavora sul firmware di questi prodotti: sviluppo e manutenzione delle applicazioni, dei driver e dei protocolli di comunicazione con i quadri di manovra, integrazione con l’hardware, supporto alla produzione e al campo.

2. Il perimetro tecnico

Le aree su cui la risorsa lavorerà, con le tecnologie coinvolte.

Piattaforme

Firmware su più famiglie di microcontrollori, con uno strato di astrazione hardware comune

C, ESP32 (ESP-IDF), STM32, NXP, ARM Cortex-M

Sistema operativo

Applicazione a task: scheduling, sincronizzazione, messaggistica tra task, watchdog

FreeRTOS

Protocolli di impianto

Comunicazione con i quadri di manovra di numerosi costruttori

CAN, CANopen, RS-485, seriali, ingressi paralleli

Driver e periferiche

Bring-up delle schede, driver di periferica, espansori di I/O, controller CAN esterni

GPIO, I2C, SPI, UART, PWM, ADC, timer

Interfaccia grafica

Segnalazioni di piano e di direzione, temi grafici, menu di configurazione, traduzioni

LVGL, display TFT

Connettività

Configurazione e diagnostica da app e strumenti di servizio

Bluetooth Low Energy (GATT), USB

Aggiornamenti e storage

Aggiornamento firmware e contenuti, file system su flash, parametri persistenti

OTA, secure boot, LittleFS, NVS

Multimedia

Messaggi vocali e segnalazioni acustiche

Audio su I2S/DAC

Build e prova

Pipeline di build, banchi di collaudo, strumenti di analisi e di debug su PC

CMake, Git, CI,



Python

3. Responsabilità

1. Sviluppo e manutenzione del firmware: nuove funzionalità, analisi dei difetti segnalati dal campo e dal laboratorio, correzioni, rilasci.

2. Protocolli di impianto: implementazione e verifica dei protocolli verso i quadri di manovra, a partire dalle specifiche dei costruttori e da acquisizioni sul bus.

3. Bring-up di nuove schede in collaborazione con il progetto hardware: driver, verifica delle periferiche, analisi dei problemi a banco.

4. Portabilità del codice: mantenere ed estendere le librerie comuni condivise tra prodotti e piattaforme diverse.

5. Collaborazione con gli sviluppatori software e con fornitori esterni: definizione dei protocolli verso app, strumenti di servizio e sistemi Linux, revisione tecnica, verifica a banco.

6. Supporto a collaudo e produzione: firmware e strumenti di test, assistenza al laboratorio nelle prove di qualifica.

7. CI e qualità: build riproducibili, test automatici, revisione del codice.

8. Documentazione tecnica, perché la conoscenza non resti solo nel codice.

4. Requisiti

Il livello richiesto è intermedio: le competenze essenziali devono essere già operative, quelle preferenziali si possono acquisire in affiancamento.

Essenziali

Linguaggio C

Il requisito centrale: ottima padronanza del C per sistemi embedded (puntatori, gestione della memoria, strutture dati, codice portabile), in uso quotidiano

Microcontrollori

Esperienza su almeno una famiglia di microcontrollori a 32 bit (ARM Cortex-M, ESP32,



STM32, NXP o equivalenti): periferiche, interrupt, DMA, vincoli di memoria e di tempo

RTOS

Sviluppo con un sistema operativo real-time (FreeRTOS o equivalente): task, code, semafori, mutex, problemi di concorrenza

Bus di comunicazione

UART, SPI, I2C, CAN, RS-485

Debug a banco

Debugger JTAG/SWD, oscilloscopio, analizzatore logico, lettura di schemi elettrici e datasheet

Git

Branch, merge, rebase, submodule; lavoro su repository condivisi con review

Lingue

Italiano fluente; inglese tecnico in lettura e scrittura (datasheet, documentazione, corrispondenza con fornitori)

Preferenziali

CAN / CANopen

Il più rilevante. Gran parte dei quadri di manovra comunica su CAN, spesso con CANopen o profili proprietari

Grafica embedded

Interfacce grafiche su display TFT con LVGL o librerie equivalenti

Bluetooth Low Energy

Servizi GATT per la configurazione da app

CMake, CI

Sistemi di build e pipeline di integrazione

Python, bash

Strumenti di analisi, script di build e di prova

Requisiti trasversali

- Abitudine a verificare nel codice e a banco prima di trarre conclusioni, soprattutto su basi di codice con una lunga storia.

- Capacità di scrivere in modo chiaro analisi, note tecniche e resoconti di prova.

- Disponibilità al lavoro a banco sull’hardware (cablaggi, alimentatori, analizzatori, schede di impianto).

- Interesse per il dominio: protocolli di impianto ascensori, normativa di settore, ciclo di vita di prodotti installati in campo per molti anni.

Titolo di studio ed esperienza

- Laurea in Ingegneria elettronica, informatica o delle telecomunicazioni, o in Informatica; in alternativa diploma tecnico (elettronica, informatica) con esperienza equivalente documentata.

- 3-5 anni di esperienza nello sviluppo firmware.

#uniscitianoi

Retribuzione: €35.000,00 - €45.000,00 all'anno

Sede di lavoro: In presenza
Max. 8 MB. Formati Accettati: PDF, RTF, DOC, DOCX, ODT.