07 nov
|
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
📌 Sviluppatore/trice firmware embedded (Pomezia)
🏢 NETtoWORK
📍 Pomezia