Profileimage by Bilel Kefi Embedded software engineer from Ixelles

Bilel Kefi


Last update: 10.09.2020

Embedded software engineer

Graduation: SUPCOM
Hourly-/Daily rates: show
Languages: German (Elementary) | English (Full Professional) | French (Full Professional)


Programming languages    
  • C/C++,
  •  Java
  • Jscript
  • SQL
  • Python
  • C#
  • Bash
Modelling Methods    
  • SDL-RT      
  • UML    
  • Visual DSP++
  • Tasking
  • QT
  • MS Visual Studio
  • LDRA Tool suite
  • Eclipse
  • Cmake
Processor platform  
  • x86
  • ARM, Cortex
  • Microchip PIC32
  • AD Blackfin DSPs
  • ST ST71xx   
  • Routing protocols (RIP v1 & v2, IGRP, EIGRP, OSPF, BGP).
  • IPv4
  • IPv6
  • VPN
  • IP Sec.
  • LAN
  • WLAN
  • VOIP:SIP, H323. 
  • TCP,UDP,
Configuration management :
  • GIT
  • Redmine
  • Mantis
  • CVS
  • SVN
  • TDD: Test Driven Development.    
OS,  Tools:
  • Embedded Linux 
  • Linux
  • FreeRTOS
  • Windows 

Project history

Embedded Systems engineer
From October 2014 to Now :FN Herstal (Belgium)

 FN Herstal, Armament and defense systems manufacturer,
Herstal (1200 people) – Belgium
DTS team (42 persons) – 
Member of Aero Software development team, I worked on 3 project:
-    Digital Armament Management System (DAMS) ,
-    Head Up Display system (HUDI) .
-    Digital POD.
 •    Embedded software development (C/C++ under GNU/Linux).
•    As GNU/Linux kernel modules specialist I created FPGA module driver communicating via PCIexpress managing video feed as V4L2 device, and other different communication buses (ARINC 429, 1553, TTY) and application secure access control to I/Os.
•    I had the role of OS management, this task includes creating a linux system, kernel and flash filesystem with required  packages and partitions, optimize boot time , meet  the OS requirements, generate a toolchain with SDK, using YOCTO.
•    Create OS upgrade procedure including MCU Firmware upgrade.
•    Create a Cmake based development framework capable of running :builds(release, debug, profiling), documentation generation using doxygen, running unit tests and integration tests, support C.I. with Hudson, do Onbuild static analysis verifying MISRA-C Compliance , dynamic analysis and coverage report generation using LDRA testbed.
•    User mode Software component development , new features/Bug fixing/ proof of concepts.
•    Propose and Develop an “Optical Geometric Distortion” correction solution, the distortion is  induced by the lens on the projected display for the HUD system, using a matrix of Mrad measurement of induced distortion and OpenGL libraries.
•    Writing specification documents.
•    Standards: MISRA -C 2012, DO178C

•    CMAKE, 
•    Eclipse,
•    Reviewboard,
•    Hudson
•    YOCTO
•    SVN
•    LDRA Tools Suite
•    OpenOCD

    Program languages:
•    C/C++, PYTHON, Bash
•    Embedded Linux
•    PikeOS
•    Stm32,
•    Amd G-Series X86-64
•    Windows

Software Analyst
From November 2013 to June 2014 : Philips/TPVision 


Philips/TPVision-Innovation Site Europe, the branch of Philips developing TV/SmartTV sets.
Location: Belgium
Certification team: 20p
Member of Philips certification team, I had to design and develop a Remote test automation system to help distant teams in the world (Taipei, Bangalore) to access Philips SmartTVs as if they were in front of it so they can test and debug software versions and reproduce bugs or test cases, and I had also to develop Test Automation scripts for certification and system validation teams.

•    Design a system architecture that meets the technical requirements (real-time access, resources access managing, roles / privileges, scalability).
•    Find and study solutions for technical obstacles met when implementing different features of the system (technology and means of implementation).
•    Embedded software development on Embedded Linux based ARM platform: Manipulate all inputs/outputs of a Philips SmartTV(LOGs, Audio, Video, PCMCIA/CI+, LNBs, IR, POWER, USB, Ethernet) and execute commands from control application.
•    Client software development on QT / C++: Remote control client application (real-time video, manipulate all inputs/outputs of the remote equipment), open and manage a VPN connection.
•    Features been implemented on the embedded equipment and control application:
-    VPN connection between ARM Boards and the client application.
-    Boards use a discovery algorithm to register and connected clients are managed with roles/privileges.
-    Real time AV Streaming from boards to clients.
-    File transfer & USB mass-storage emulation function between board and TV .
-    Drive all the switches connected to the board (DiSEqC™ and CI+).
-    Sending IR Commands to the TV.
-    Routing Uart connection to a TELNET console integrated in the client application.
•    Implementing ROBOT Framework Test Automation libraries in Python.
•    Writing specification documents.

•    QT5
•    Ride
•    Git
•    Robot Framework
•    Mantis    Program languages:
•    C/C++, PYTHON 
•    Embedded Linux
•    Arm,
•    Windows
•    VPN, IPSec

Embedded software development Engineer
From December 2010 to September 2013:  SAGEM Communications


SAGEM Communications, French company specialized in developing electronic/embedded products including DVB related products, Gateways, Printers..
Location: Tunisia/France.
Digital Decoders: 120p
Member of Digital Decoders Department team my main role was drivers and middleware related development on Linux based SetTopBoxes.


Development of drivers and middleware components on E-Linux based SetTopBoxs

•    Developing and debugging SW components (SAT Scanning, SSU download process, DVB tables Acquisition) on Embedded LINUX, for the multiple Digital TV actor in Europe and in the world including Bouygues, Canal +, Digiturk. Telefonica. 
•    Development and debugging CAS, Nagra V7 using Merlin CAK7: CAS initializing, setting up listeners for notifications, implementing ‘Requests process' related to: 
- Programs descrambling process.
- Retrieving Smartcard data. 
- Buying VOD products.
- Retrieving IRD messages.
•    Linux Drivers development (Network, Char) and Middleware (C++, Java) on Embedded Linux decoder.
•    Professional assignment in response to customer’s queries. 
•    Code integration role in the team.
•    SetTopBox software maintenance, hardware components debugging: Demux, Frontend, Hdmi. 
•    Developing hardware qualification, Factory test Automation tools
•    Writing specification documents.
•    Preparing validation test plans.


Methodology: Scrum, V-Model                 Languages: C/C++.
Platform: Embedded Linux                  Code analysis: Klocwork.
Emulator/Debugger: Stm-1,Stm-2             Standards: DVB, CAS.
Validation tools: Testlink 

Embedded software development Engineer
From January 2010 to November 2010 : TARGET technologies


TARGET technologies: embedded solutions Development Company.
Embedded Systems (6 persons) – 
Working as embedded system engineer 


Development of a fleet management solution using satellite positioning system

•    Development on FreeRTOS kernel, target STM32 (ARM Cortex-M3). 
•    Developing Drivers for GPRS communication modules and GPS acquisition. 
•    JTAG Debugging using OpenOCD. 
•    Data acquisition server developed and deployed on FreeBSD. 

Development of highway emergency communication terminal using VO-IP.

•    Development on embedded Linux. 
•    Implementation on Atmel target Diopsis 940HF. (Arm9 and DSP integrated) 
•    Use of G729 codec for audio and SIP protocol for signaling.
•    (Study and Version 0 code was made on my Graduation project)


•    Svn
•    Eclipse
•    Linux
•    SIP, H323, G729

    Program languages:
•    C / C + +
Embedded software development Engineer
From September 2009 to December 2009 : TELNET Technologies


TELNET Technologies, Leader on developing high-tech solutions in several areas: telecommunications, Transport, security, defense...
Location: Tunisia
Multimedia/Dect team: 120 persons.
Member of the DECT SAGEM development team. 


Equipment Dect SAGEM  CC220: Portage and adaptation of Sagem Dect soft to CC220. 

•    Implementation of user interface on CC220 equipment (arm9). 
•    Implementation of new features and menus on handset. 
•    Project under the CMMI level 3 standard. 


•    Windows
•    Visual Studio 6  
•    CVS 
•    Trace32, Lauterbach
•    CMMI Lv3    Program languages:
•    C / C + +
Embedded software development Engineer (consultant from Telnet)
From December 2008 to September 2009 : SAGEM Communications


SAGEM Communications, French company specialized in developing electronic/embedded products including DVB related products, Gateways, Printers, Energy..
Location: Tunisia/France.
TRC (Energy Metering): 80p
Development of an Automated Meter Management (AMM) solution based on OFDM PLC for our client EDF-GDF (Electricité de France-Gaz de France). 


•    Working in collaboration with a team from MAXIM USA in order to develop an automated meter and management (AMM) solution based on OFDM PLC (power line communication) for the client EDF-GDF (electricity France-Gaz de France). 
•    DLMS COSEM and OBIS libraries implemented in C + +, User Interface with PYTHON and PERL scripting. 
•    Connecting and data transfers between “Data Concentrators” and meter via IPv6. 
•    Developing Kernel space Linux IPV6 compatible modem driver: Ethernet specific Driver, programmable MAC address for each modem, compatible IPv4 and IPv6 support signaling. 
•    Developing 6lowpan and Tty layers on Modem.


•       Linux (Eclipse, Data Concentrator)
•    Windows VStudio6 (Modem) 
•    Database: POSTGRESQL (Data Concentrator)
•    SVN
•    IEC 62056
•    SNMP    Program languages:
•    C/C++, PYTHON, PERL
Embedded software development Engineer
From June 2008 to December 2008 : TELNET Technologies


TELNET Technologies, Leader on developing high-tech solutions in several areas: telecommunications, Transport, security, defense...
Location: Tunisia
Electronic department.
Development of VDSL2 equipment for PATTON Electronics


•    Study and comparison of different technologies and platforms for the development of VDSL2 equipment for Patton Electronics. 
•    Choice of IKANOS development platform (?C Fusiv, MIPS). 
•    Linux environment, development on embedded Linux based board. 
•    Compiling kernel and porting network driver. 
•    Customizing and adapting the solution to PATTON needs. 


•    Linux
•    SVN
•    VDSL2    Program languages:
•    C / C + +,
•    Shell Scripting.

Graduation project
From February 2008 to June 2008 : TELNET Technologies


TELNET Technologies, Leader on developing high-tech solutions in several areas: telecommunications, Transport, security, defense...
Location: Tunisia
Electronic department.


Study and realization of a VOIP gateway board   : Hardware and software.  

•    Study and realization of a VOIP gateway:
•    Hard (ALTIUM Designer)   : Design of PCB card with a microcontroller from Atmel ARM7-TDMI AT90 for VoIP terminals and Analog-Devices Blackfin BF533 for the gateway. 
•    Soft   (Embedded Linux, µCLinux) using the ?C integrated DSP for encoding decoding G723, G729. 
•    Porting Asterisk Gateway   : A software that has proven itself for routing VOIP. 
•    Developing session initialization and audio IP streams transfer libraries terminals side: using SIP session initialization, G723 and G729 for audio coding. 
•    Equipment meets the standards VOIP audio (G723, G729) and protocols (SIP, H323). 


•    Linux (Soft Development, Embedded Linux)
•     Windows (Hard, Altium Designer) 
•    SIP, H323, G723, G729    Program languages:
•    C / C + +
•    SHELL

Local Availability

Only available in these countries: Belgium


2005-2008: Engineering Degree in Telecommunications 
2003-2005: Diploma of General University Studies (Mathematics-Physics) 


?    Cisco Certification. 
?    LDRA software Analysis
Profileimage by Bilel Kefi Embedded software engineer from Ixelles Embedded software engineer