The document is a 22-page curriculum vitae for Mohamed Karoui. It provides details on his 10 years of experience in embedded systems development across various sectors including automotive, truck, railways, military, and medical. It lists his software and hardware skills, languages, and details several embedded software engineering roles he has held with ACTIA and its subsidiaries from 2008 to the present.
2. Page 2 of 22
Personal Information
Last Name : KAROUI
First Name : Mohamed
Date of Birth : 15/01/1984
Residence : Jenny Tanghestraat 4/205, Ledeberg Gent 9050
Profile and ambition
10 years of experience in embedded system development and integration in complex
environments.
Always worked in international context with more than 5 ACTIA subsidiary of the group all
around the world.
I have participated in projects across various sectors and activities (Automotive, Truck, Railways,
Military, Medical and Multimedia).
Autonomous, self-motivated and engaged to achieve common objectives of my teams and the
success of projects.
My goals are to work on multi-business projects and apply my expertise and a good working
quality in many domains and a variety of areas.
Competence Overview
Software skills:
C essentials / C++ oriented object.
Developing drivers, BSP (Board Support Package) and embedded applications for microcontroller.
Developing applications for embedded Linux.
Debugging methodologies for analyzing and correcting software issues.
Static and dynamic source code checks with LDRA and Python.
Unit tests with gtest and functional tests with Python.
IDE: Eclipse GCC, Visual Studio, Atmel Studio, Keil, Borland C++ Builder, Code Warrior, IAR
Workbench, Vector CANalyser/CANoe, Microship MPLAB, iSystem winIDEA IDE, EUROScope, Fujitsu
Softune Workbench, Labview, Matlab/Simulink.
Engineering - CMMI, SCRUM/agile methods, configuration control (CVS, SVN), bug and task tracking
(Mantis, Bugzilla, JIRA, Redmine), static and dynamic code checking (LDRA testbed, Python), unit
testing (gtest), Sciforma PSNext, continuous integration…
Hardware skills:
Basic electronics - schematics reading and understanding, using oscilloscope, multimeter, soldering
Good capacity to understand and analyse electrical diagram and interfaces.
Microcontroller fundamentals - ADC, Timers, PWM, DMA, watchdog, interrupt processing, registers,
assembly code…
Standards and communication protocols: UART/RS232, SPI, I2C, K Line/KWP2000, LIN,
CAN/J1939/NMEA2000/DiagOnCan/RP1210C, J1708, J1587, ISO15765, ISO7816, Bluetooth and BLE,
Ethernet TCP/IP…
Microcontrollers: Atmel AVR32, Fujistu 16 bits MCU, STM32 32-bit ARM Cortex, LPC2468, Nordic
Semiconductor NRF51822, PICs, Freescale NXP iMX6.
Scripting, debugging and diagnostic tools: J-Link, ST-Link, JTAG-ICE, Peak CAN, Vector CANCASE,
Wireshark, PacketSender, iSYSTEM ic3000/ic5000…
3. Page 3 of 22
Experience
Period Department and function
October 2017 – Today Embedded Software Engineer / Employeneur
January 2018 – June 2019
Low Level and application development for the
clickshare project
Embedded Software Engineer
April 2008 to 2017
Low Level SW team for Multi-purpose projects
Embedded Software Engineer
November 2007 to Mars
2008
Automation Systems Developer:
Study and Realization of a Distributed Control System
for a rotary kiln of Cement factory
Education
- National Engineering degree in Industrial Computing sciences and
Automatic with honors in I.N.S.A.T. of Tunis.
January 2008
- Bachelor specialty "Technical" with honors in High school “Père Blanc”
in Tunis.
June 2002
4. Page 4 of 22
Basic Good Very good Expert
C X
C++ X
UML X
SADT X
Assembler X
Object Oriented X
Shell scripting X
Eclipse GCC X
Python X
Database SQLite X
Vector CANalyser/CANoe X
Matlab X
Labview X
AutoCAD X
Visual Studio X
Windows CE6 CE7 X
Linux (Ubuntu) X
Debugging and diagnostic HW X
Office X
Scrum Agile application X
DOORS X
SVN / CVS X
LDRA testbed X
Doxygen X
MANTIS/BUGZILLA X
Agile application / JIRA / Redmine /
V-Model
X
5. Page 5 of 22
Languages
Verbal Written
French Excellent Excellent
English Fluent Fluent
Arabic Native language Native language
Italian Basic Basic
Spanish Beginner Beginner
6. Page 6 of 22
BARCO (TMC Employeneurs) Kortrijk, Belgium
Clickshare Team Jan 2018 – June 2019
Software developer
Job description
Clickshare: wireless presentation system
Goals
Conception and software development for the clickshare button Gen4 and baseunit
application modules: Management of video and audio sharing through PC and
smartphone
Achievements
Participate to the maintenance and the software improvement of the existing
products : CSE-200, CSE200+ and CSE-800
Participate to the design and new devoloppement on the button Gen4 and the
baseunit CSE200RD
Unit and senario tests using gtest. Functional tests by Python and shell scripting for
the production tests
Various developement for : HDMI input certification, WIFI module driver
integration and test, USB communication protocol button to baseunit
Technical environments
OS : Linux Ubuntu 16.04, ThreadX (for the clickshare button)
MCU : AMD Embedded G-FP4 Soc, NXP i.MXRT1050
Project management method : Agil application SCRUM / JIRA
C++ development on Linux, C developement for ThreadX, SVN, Git, gtest (google
tests), Python, Jenkins, Software quality by SonarQube
Multimedia Sector
7. Page 7 of 22
ARDIA / ACTIA System Madrid, Spain
Embedded System Team Jan 2017 – Dec 2017
Embedded software developer
Job description
Project MP_14: (Metro Pneu call for tenders 2014) ALSTOM / RATP Paris
Goals
Conception and development for the CCTV system (Closed-circuit television)
application modules: Management of video/audio recording and alarms into
subways
Achievements
Participate to the design of the NVR (Network Video Recorder) module
Developing of the unit tests for the CPU application modules using gtest and shell
scripting
Support CCTV MP14 Madrid team for the Technical documentation in English and
Frensh and help for the technical exchange with ACTIA Telecom (Millau)
Technical environments
OS : Linux Ubuntu 16.04
MCU : MODULE KONTRON COMe-mBT10
Task management method : Agil application SCRUM / Redmine
C++ development on Linux, gtest (google tests), REST/ONVIF protocols, Video
Streaming, Data base (sqlite3), Jenkins…
Railway Sector
8. Page 8 of 22
ARDIA / ACTIA China Tunis, Tunisia
Embedded System Team July 2016 – Dec 2016
Embedded software developer and Team leader
Job description
Project E2COS V2: Diagnostic tool and vehicle ECU programming in end production lines
Goals
Technical leading and assistance to the FW and system teams during the different
development phases of the project
Achievements
Support and technical assistance of FW teams
FW code review
Validation of technical solution
Participate in the analyzing phase concerning bugs resulting from integration
HW/FW
Participate in the progress meetings
Participating to CMII evaluation scampi B of the project obtention of the CMMI-
DEV v1.3(Staged):Maturity Level 2
https://sas.cmmiinstitute.com/pars/pars_detail.aspx?a=27860
Technical environments
OS : Windows Embedded 7
MCU : ADLINK COM Express nanoX-BT
Microprocessors : NXP LPC2468
Task management method : SCRUM / JIRA
9. Page 9 of 22
ARDIA / ACTIA Telecom Tunis, Tunisia
Embedded System Team Apr 2016 – June 2016
Embedded software developer
Job description
(Confidential) Obsolescence product treatment by porting Microware OS-9 and
applications on new equipments on VME racks
Goals
Treate the Obsolescence of the old product by changing the electronic MCU and IO
card modules
Update the application modules and the OS9 image to preserve the old functioning
of the product
Achievements
Generation, integration and tests of the image OS9 for VM42 MCU card
Development and generation drivers for VMOD-2 cards
Porting and evolution of application modules from the old MCU to the new VM42
CPU
Technical environments
Real time developing with C
IDE : Microware Hawk
Standards : OS9 Microware, VMEbus, X25
10. Page 10 of 22
ARDIA / ACTIA CORP USA Tunis, Tunisia
Embedded System Team Aug 2015 - Oct 2015
Embedded software developer
Job description
Projects :
Blue-bird : Yellow Shool buses in USA
IndianaPhoenix : Concrete Mixers Trucks
Elgin Pelican Clusters : Sweepers
Sullair Chicago Controller 2016 : Industrial Compressor control system
Goals
Assist ACTIA team for evolutions development and design requests for projects
listed above
Achievements
Blue-bird and IndianaPhoenix:
o Converting of IAR project to Atmel GCC project
o Develop application to add CRC to the ELF file and integrate it with Atmel
toolchain
o Treatment of software various requirements on the IO, LIN, J1939 and
J1587 management
Elgin Pelican Clusters:
o Technical team lead for developing requirement evolution requests
Sullair Chicago Controller 2016:
o System and Software Specification updates
o Evolution of the phases and modes of operation of the industrial
compressor
Technical environments
Developing C on microcontroller Fujitsu, Atmel AVR32 and NXP
Developing C++ under Visual Studio 2010
IDE : Eclipse, IAR Embedded Workbench, Atmel studio and Borland Builder C++
Standards : CAN, J1939, LIN
11. Page 11 of 22
ARDIA / ACTIA Automotive (Toulouse) Tunis, Tunisia
Embedded System Team Apr 2015 - July 2015
Embedded software developer
Job description
Project Actimux: Master 25 and Master & Display Clusters
Goals
Participate to the maintenance phase of the Actimux Project
Achievements
Change communication with components from I2C to SPI
Development of the external Watchdog management
Maintenance J1939 protocol (PDU packet multi format...)
Implementation of new SwitchPack LIN communication module
Update Diagnostic Services RDBLI / WDBI for client specifics requirements
Technical environments
Developing C on microcontroller NXP
IDE : Freescale Code Warior. Debugging with : PE Micro, iSYSTEM ic3000 / ic5000
Standards : CAN, J1939, DiagOnCan, LIN
12. Page 12 of 22
ARDIA / ACTIA I+ME (Germany) Tunis, Tunisia
Embedded System Team Oct 2014 - Mar 2015
Embedded software developer
Job description
Project CoreXS: Vehicle Communication Interface
Goals
Redesign of the BasicXS project to change the HW layer from USB/RS232 to TCP/IP
protocol
Update the Application and FW to be compliant with RP1210C instead of RP1210A
Standards
Achievements
Integration of the TCP/IP communication on the new HW (FW/PC)
Design and developing the firmware command dispatcher
Developing of the migration from RP1210A to RP1210C (FW and PC)
Development and implementation of the J1708 FW protocol layer and the user
application
Participating to CMII evaluation scampi B for RP1210C project
Technical environments
Developing C under Soc SmartFusion2 of Microsemi
Developing C++ Object-oriented
IDE : Microsemi SoftConsole and Visual Studio
Standards : RP1210A and C, J1708, ISO15765
Technologies : TCP/IP, Sockets, Bootloader by TFTP
Spy tools : Wireshark and PacketSender tools.
13. Page 13 of 22
ARDIA / ACTIA Automotive (Toulouse) Tunis, Tunisia
Embedded System Team Jul 2014 - Oct 2014
Embedded software developer
Job description
Project REFEET: Reeducation sole plate (Medical sector)
Goals
Implementation of the BLE (Bluetooth Low Energy) communication between
“ReFeet” application and a Smartphone device using the softdevice s110 Bluetooth
stack
Achievements
Specification and integration of shared GATT objects and services
Development of events processing task following the periodic pressure
measurements
Development of storage and downloading data management (Rotating buffer into
RAM and FLASH)
Testing the embedded FW using NRF tools (to simulate the client / smartphone
device)
Technical environments
Development C on SoC Nordic Semiconductor NRF51822
IDE: nRFgo Studio
Technologies: Bluetooth Low Energy / GATT objects
14. Page 14 of 22
ARDIA / ACTIA Automotive (Toulouse) Tunis, Tunisia
Embedded System Team Nov 2013 - Jul 2014
Embedded software developer
Job description
Project SDIAG / WEC7 : End of production line Automotive tools for downloading
calculators, maintenance and diagnostics
Goals
Participate to the maintenance phase of the SDIAG Project
Achievements
Image and BOOT time optimizing for the SDIAG tool under "VAR-SOM-OM37" using
Remote Tools and CeLog...
Activation of the HIVE-based registry mode for the persistent registry store
Implementation of the Micro SDHC management to be used for storing data by the
applications
E2COP Measuring current clamp: Adapting driver and pairing application between
the clamp
and the S-DIAG from Operating System CE.6 to OS CE.7;
CEM SDIAG product certification: Development of scripts for tests the Ethernet,
Wifi, Bluetooth, USB, measuring voltage and current; into CEM tests conditions;
Technical environments
Devolepment C++ under Windows CE6 and CE7
IDE : Platform Builder 7 under Visual Studio 2010
Analyzing tools : CeLog, Remote tools for PB7, portmon
MCU : Variscite VAR-SOM-OM37
15. Page 15 of 22
ARDIA / ACTIA MULLER (Paris) Tunis, Tunisia
Embedded System Team Jan 2013 - Nov 2013
Embedded software developer
Job description
Project MRU (Module Universel Radio) : Wireless module for managing technical
inspection for heavy vehicles and 4*4
Goals
Redesign of the remote control Wireless system from the IrA to the Bluetooth
technologies assuming the application of security standards
Achievements
Design and development of USB communication module, Bluetooth and Infrared
communication between the console, via an Access Point, and the remote control
(protocol and driver layers)
Piconet network management in the Access Point (Pairing, key exchange,
authentication...)
Security Management: Wireless communication timing between devices,
emergency stop management, signal quality, loss of communication, alarm and
warning messages, special security operating modes, engine start management
Technical environments
Development C on STM32 and PIC
IDE : Eclipse GCC, MPLAB
Technologies : USB, IR, Bluetooth
Bluetooth : Blugiga WT11i with iWRAP4 and iWRAP5
Other tools : Mantis, Doxygen, SVN
16. Page 16 of 22
ARDIA / ACTIA Automotive (Toulouse) Tunis, Tunisia
Embedded System Team Feb 2011 - Jan 2013
Embedded software developer
Job description
Project MultiBus/Actimux: multiplexed electronic architecture
Goals
Participate to the maintenance phase of the Actimux Project
Participate to the redesign for the next version of the project
Achievements
Developing Software updates for the Electronic evolution, working modes
management, product wakeups, CAN and DiagOnCan application updates
Conception, development and redesign Driver SPDs (24V dual high side switch) for
ISO13207 compliance
Driver development of stepper motor management for clusters
Maintenance on different Actimux and MultiBus products
Technical environments
Development C on NXP and Fujitsu
IDE: EUROScope, Eclipse GCC, MPLAB
Standards and protocols: CAN, scripting CAN (CAPL), J1939, ISO13207, SPI, I2C,
RS232…
Other tools : Mantis and SVN
17. Page 17 of 22
ARDIA / ACTIA Automotive (Toulouse) Tunis, Tunisia
Embedded System Team Sep 2010 - Feb 2011
Embedded software developer
Job description
Projet Nissan NDTU Phase 2
Goals
Implementation of the redesign of the managed data storage and downloading
process
Achievements
Developing software evolutions on the power module of the product
Design and development of data download module (FRAM and Flash)
Technical environments
C development under Fujitsu target
Developing of driver and management layers programming
Technologies : Memory FLASH and FRAM
Other tools : DOORS, Doxygen and SVN
18. Page 18 of 22
ARDIA / ACTIA Automotive (Toulouse) Tunis, Tunisia
SmarTach L2000 Project Team Nov 2008 – Sep 2010
Embedded software developer
Job description
Projet SmarTach L2000 : Digital tachograph
Goals
Participate to the maintenance phase of the Smartach L2000 Project
Add new dedicated functionalities due to customer requests
Achievements
Code analysis in order to correct malfunctions or implement new features related
to “ANNEXE 1B” and customers variants
Unit and integration tests
Software Documentation…
Technical environments
C development under Fujitsu target
IDE : Fujitsu Softune Workbench
General standard : European regulations 3821/85 «ANNEXE 1B » and ISO 16844
Standards and Technologies : RS232, I2C, SPI, CAN, Diagoncan, J1939, ISO7816…
Tools : Vector Canalyzer, CanCase
19. Page 19 of 22
ARDIA / ACTIA Do Brasil Tunis, Tunisia
SmarTach L2000 Project Team October 2008
Embedded software developer
Job description
Projet Flextach : Digital tachograph (Variant of SmarTach L2000)
Goals
Update the device to create a new version of the Flextach to be used in Arabic
countries
Achievements
Coding and integration of the Arabic language on Flextach product (a
SmarTachL2000 variant)
Integration of IHCI management with the Arabic language
Technical environments
C development under Fujitsu target
IDE : Fujitsu Softune Workbench
Dedicated tools for generating text polices…
20. Page 20 of 22
ARDIA / ACTIA Automotive (Toulouse) Tunis, Tunisia
SmarTach L2000 Project Team Apr. 2008 - Sep 2008
Embedded software developer
Job description
Projet SmarTach L2000 : Digital tachograph
Goals
Perform field tests of the prodect SmarTach L2000 on real Buses and Heavy truck
Achievements
Installation of equipment
Customer trainings
Monitoring results and documentations
Development of a VBA script for data analysis
Technical environments
Calibration and configuration tools
Configuration, downloading and data analyzing
Scripting VBA under Excel
21. Page 21 of 22
Integration Objects Tunisia Tunis, Tunisia
Research and development Aug 2007 – Jan 2008
Automation Systems Developer
Job description
Study and Realization of a Distributed Control System for a rotary kiln of Cement factory
(CIOK Kef)
Goals
Analysis and detailed study of the different workshops of the cement plant
(especially the rotary kiln workshop) for programming and supervision of the global
process
Achievements
Training on the cement factory of Bizerte
Planning and preparation of electrical automates cabinets and plans
Hardware and software solution specification
Programming and supervision of the process using ABB dedicated programming
tools
Technical environments
System IT 800xA by ABB
LD (Ladder), FBD (Function Block Diagram), graphical programming
AutoCAD
22. Page 22 of 22
Additional Information
Technologies, cinema, video games, sport (running, kung-Fu, swimming…) and music
(practice guitar) …