Gli ingegneri elettronici, informatici e meccatronici di brain Technologies che si occupano di progettazione software si dividono in due team: nel team "embedded" lavorano ingegneri che si occupano di sviluppo firmware e software su schede a microcontrollore o microprocessore, mentre nel team "general purpose" lavorano ingegneri e sviluppatori che si occupano di software ad alto livello come la programmazione a oggetti, in ambito Microsoft o Linux.

I progettisti coinvolti seguono procedure e metodologie consolidate nei vari settori industriali quali, per esempio, la normativa DO-178B nel settore aeronautico, le specifiche AutoSAR e SPICE per il mondo automotive, le normative CENELEC per il settore ferroviario e così via.

Alcune delle attività caratterizzanti il team embedded sono:

  • La realizzazione di strategie di controllo e la realizzazione di modelli virtuali (Model Based Design) in ambiente Matlab/Simulink
  • La generazione Automatica di codice a partire da modelli Matlab/Simulink/Stateflow attraverso RTW embedded coder e TargetLink
  • L' utilizzo di tecnologie di Rapid Control Prototyping e Hardware-In-the-Loop (HIL)
  • La programmazione di sistemi real-time in C o ADA
  • L' utilizzo di protocolli di comunicazione quali CAN, LIN, Ethernet, Zigbee, Bluetooth, RFID
  • L' utilizzo di tecniche di Verification&Validation puntuale o funzionale
  • L' utilizzo di sistemi di acquisizione dati per l'analisi e la caratterizzazione dei dispositivi embedded
  • Lo sviluppo firmware su microcontrollore di diverse famiglie, a 8, 16 e 32 bit

Le attività caratterizzanti il team general purpose sono:

  • La realizzazione di interfacce grafiche per l'acquisizione e l'analisi dei dati
  • Lo sviluppo SW in ambito .NET
  • La gestione database quali sqlserver o Oracle
  • La progettazione del Data warehouse comprensivo dei flussi di Businness Intelligence necessari per una corretta organizzazione/porting dei dati