Dimitrios Karnikis

About me

Senior embedded software developer specialized in creating high-quality, reliable solutions for embedded devices, with a focus on Bluetooth wireless technology and system security. My background in both academic research and industrial R&D enables me to effectively bridge the gap between architectural design and hands-on development. I am dedicated to enhancing the system operation, ensuring robustness, integrity and stability. In my free time, I am developing a 2d roguelike exploration game based on Lua and Love2d.

Work Experience

  • Bang & Olufsen A/S | Kongens Lyngby, Copenhagen | Oct 2022 - Ongoing

      Enhancing Production Processes and Firmware Development for Market-Ready Products

      • Supporting production lines with PCBA, chassis, and functional testing.
      • Creating tools, processes, and documentation to improve production efficiency.
      • Developing Zephyr drivers and utilities to enable new product features.

      Innovations in Bluetooth Technology and Development Process Optimization

      • Extensive experience with Bluetooth and BLE (Bluetooth Low Energy).
      • Development of a production-ready BLE protocol using Protobuf, GATT services, and D-Bus for device control.
      • Development of low-level drivers for Zephyr OS.
      • Creation of a standalone D-Bus service enabling remote SSH control and system recovery.
      • Development of CMake and shell scripts to enhance development efficiency and productivity.
      • Responsible for supporting the production line to ensure product quality and reliability.
  • Aarno Labs LLC     | Boston, Massachusetts | Feb 2021 - Apr 2022

      Innovations in Secure Computing and Automated System Enhancements

      • Developed sandbox applications embedded in the runtime of high-level languages (Javascript).
      • Provided a secure subset of instructions by utilizing TEEs.
      • Designed offloading techniques for low-end IoT devices.
      • Developed automation scripts for PaSh's CI/CD infrastructure.
      • Developed and implemented benchmark and pipeline scripts for high-speed shell processing.
  • DiSCS Laboratory   | Heraklion, Crete | Nov 2016 - Feb 2021

      Developed sandboxed applications on high-level languages atop TEEs.

      • Enhanced high-level language runtimes (Lua) with TEE capabilities.
      • Introduced memory and type-safe operations atop TEE applications.
      • Offered high-level bindings to the underlying native API calls.
      • Solved challenges imposed by TEEs such as code signing, application re-compilation, manual re-partition, and dynamic module loading.

      Developed sandboxed applications on Android x86 using Intel SGX.

      • Ported Intel SGX framework to the x86 port of Android.
      • Enhanced Android Keystore and Secure Device Pairing with SGX capabilities.
      • Offered an embeddable API to use Intel SGX for their programs.
      • Developed a fully working cross-compiler toolchain compliant with Android and Intel SGX.

Skills