Khaled Elnaggar

Embedded Systems & Software Engineer

I build secure embedded systems and wireless applications, with a focus on low-power design, NFC, and Bluetooth. In my current role, I develop NFC firmware and mobile apps for a passive NFC-powered smart lock. My ongoing Master's thesis focuses on robust Bluetooth 6.0 ranging under RF interference.

About Me

I’m a firmware engineer focused on embedded systems, wireless communication, and security. I enjoy low-level work and understanding how systems behave under the hood, from memory and scheduling to cryptographic primitives and RF protocols. My work includes firmware development, secure NFC-based communication, and mobile app development.

My current research is centered on Bluetooth 6.0 Channel Sounding. More specifically, I study how RF interference and multipath affect ranging accuracy indoors, and how adaptive PHY settings on the device can improve robustness in real-world environments.

Khaled Elnaggar

Skills & Technologies

Embedded & Firmware

C (HAL)C++BLE / ZephyrNFC (ST25DV)GPIO/I2C/SPI/UARTTimers/RTOSDMABootloadersSTM32Nordic nRF54Nordic nRF53MSP430

Mobile Apps

Flutter (Android/iOS) Kotlin / Swift

Security & Tools

Cryptography (RSA, signatures)CMOX / X-CUBE-CRYPTOLIBGitLinuxGDB/J-Link/ST-LINKCI basicsTesting & Debugging

Featured Projects

BLE 6.0 Channel Sounding Ranging under RF Interference (MSc)

Master's seminar project and thesis on experimentally characterizing Bluetooth 6.0 Channel Sounding ranging under RF interference on Nordic nRF54-DK. Collect runtime observables (TQI/DQI, IQ samples, per-channel RSSI, retransmissions, PER) across LOS scenarios in Wi-Fi/BLE-congested environments to inform on-device PHY-settings adaptation. Thesis extends this with a per-channel health score, dynamic channel blacklisting, unhealthy-tone filtering, and an adaptive step budget to improve ranging accuracy, precision, and energy trade-offs.

Bluetooth 6.0 Channel Sounding Nordic nRF54 Phase-based Ranging IQ Samples RF Interference Zephyr

BLE Audio on Nordic nRF53 (Zephyr)

Developed a BLE Audio data exchange/transfer application on Nordic nRF53 hardware using the Zephyr RTOS on a custom development kit. Worked across the stack — Bluetooth LE Audio, I2C/I2S/UART peripherals, threading, Linux Devicetree, and CMake.

Zephyr RTOS Nordic nRF53 Bluetooth LE Audio I2C / I2S / UART Threading Devicetree CMake

Smart Plant IoT System (CoAP + Contiki-NG)

Full working smart-plant IoT node built on a BlueBite (nRF52840) with a custom Plantboard add-on (STM32G031 Cortex-M0+ as I2C target) exposing a capacitive soil moisture sensor and a TI DRV8210 half-bridge motor driver for a submersible water pump. Exposed the device to the internet over CoAP for remote monitoring and watering.

Contiki-NG C CoAP nRF52840 STM32G031 I2C PWM

Brake-by-Wire System (AURIX TC297)

Implemented a brake-by-wire control system on an Infineon AURIX platform as part of an Embedded Automotive Software course. Designed task-based control logic, signal handling, and fault-aware behavior with deterministic timing constraints. Validated the system on real hardware via recorded demo tests.

Infineon AURIX TC297 C Automotive Software RTOS Tasks Timing & Scheduling Safety-Critical

Embedded Contact Tracing (BLE + UWB)

Built a contact-tracing system on Contiki-NG using BLE advertising/scanning and GATT. Estimated proximity via calibrated RSSI and refined distances using DW1000 UWB ranging (with fallback on failures). Implemented time-based contact tracking, best-friend ranking, and contamination state propagation.

C Contiki-NG BLE (Adv/Scan/GATT) RSSI UWB (DW1000) Event-driven

NFC Smart Lock (Encrypted Mailbox)

End-to-end NFC access system: Mobile app writes encrypted commands to an ST25DV64KC mailbox; STM32 verifies signature, decrypts, actuates lock, and replies with encrypted status. Energy-harvesting experiments for actuation.

STM32ST25DV64KCAndroid/iOS (Flutter)RSA/CMOXHAL

Educational RTOS on MSP430

Mini RTOS for MSP430: dispatcher, kernel entry, interrupts, events and wait-until syscalls. Focus on deterministic timing, context switching, and testing.

MSP430CInterruptsScheduling

Dynamic Memory Allocator (malloc/free)

Implemented a custom heap memory allocator in C, supporting malloc, free, and realloc with efficient block splitting and merging. Focused on fragmentation management and performance trade-offs, tested with real workloads to ensure correctness and stability.

CMemory Management Data Structures

Operating System Development (SWEB OS)

Extended an educational operating system with core OS functionality. Implemented thread creation, scheduling, and context/thread swapping to allow multitasking. Worked on process management, virtual memory handling, and synchronization primitives. Gained hands-on experience with low-level x86 architecture, interrupt handling, and kernel debugging.

C++x86Operating SystemsThread SchedulingContext SwitchingVirtual Memory

Experience

Software Engineer

Bernd Zwattendorfer
2025 – 2026

Full-stack ownership of a passive NFC-powered smart lock: STM32 firmware, NFC mailbox communication, cryptographic command verification, low-power actuation, mobile app, backend services, and database design—all powered by energy harvested from a phone's NFC field.

Open-Source Contributor & Member

Catrobat (Catroid)
2024 – Jan 2026

Contributed to Android app features and bug fixes; improved developer docs; collaborated with maintainers on CI and UX polish.

Working Student (Software Development)

AVL List GmbH
2023 – 2025
  • Building modular application components and workflows integrated into the larger Excite framework
  • Developing frontend and backend logic for simulation parameter management, UI interactions, and data visualization
  • Integrating simulation engines with higher-level tools (e.g. for model setup, input validation, result display)
  • Ensuring software robustness through testing, error handling, and performance tuning
  • Collaborating with domain experts (mechanical, simulation engineers) to align software with physical modeling requirements
  • Working on modular architecture, plugin systems, and ensuring plug-and-play extensibility

Education

Master of Science in Computer Science

Graz University of Technology
2025 – Present

Major in Software Technology, minor in Embedded Systems. Master's project ongoing; thesis in planning phase on the design of a runtime adaptation scheme to improve resilience to RF interference in BLE v6 channel sounding.

Bachelor of Science in Computer Science

Graz University of Technology
2021 – 2025

Strong foundation in systems programming, operating systems, and low-level software development.

Let's Work Together

I'm always interested in new opportunities and exciting projects. Let's discuss how we can bring your ideas to life.

💼LinkedIn
🐙GitHub
✉️E-Mail