I am a software engineer with electronics background and current focus on embedded systems, with 5+ years of experience in microcontroller programming and communication protocols.

Currently working at the engineering firm Nantis GmbH, developing firmware for customer projects and the Gridknight smart plug.

Skills

  • Microcontroller firmware development
    • Programming languages: C/C++, exploring Rust
    • Hardware platforms: STM32, nRF52, ESP32
    • RTOS/Frameworks: Mbed OS, FreeRTOS, exploring ESP-IDF and Zephyr
    • Build system: CMake
    • GUI framework: LVGL
    • OTA and bootloader (MCUboot)
    • Testing: CppUTest
    • CI: GitHub Actions
  • Communication technologies and protocols
    • Peripheral: I2C, SPI, UART etc.
    • Industrial: Modbus, CAN
    • Cellular: LTE modems, CAT-M1 and NB-IoT
    • Bluetooth LE basics: GAP, GATT
    • Wi-Fi, LoRa basics
    • TCP/IP, USB basics
    • TLS, PKI and cryptography
    • MQTT (AWS IoT)
  • Electronics/hardware
    • Past experience with designing PCBs - can navigate datasheets, schematics and layouts
    • Sensors: Energy metering, acceleration, pressure, temperature etc.
    • Actors: LEDs, stepper motors, piezo buzzers
    • Peripherals: SPI flash, secure element, RTC, fuel gauge etc.
  • High-level software
    • Python: Preferred language for any kind of scripting, e.g. device provisioning and testing
    • JavaScript/TypeScript: Developed custom nodes on Node-RED (NodeJS) and Lambda functions on AWS.
    • AWS IoT and accompanying services: CloudWatch, Lambda, S3, CDK
  • (Somewhat) Embedded Linux
    • Raspberry Pi standalone and compute module with RPi OS and high-level software (e.g. Python, Node-RED). Some systemd configuration for startup automation.
  • Toolkit
    • Desktop OS: Primarily Windows, comfortable with command line, basic Linux knowledge
    • Version control: Git
    • Preferred editor: VS Code
    • Project management: JIRA, Trello
    • Design and documentation: PlantUML, Markdown

Interests

  • Modern system programming languages such as Rust and Zig
    • I follow blogs and occasionally develop small projects to keep up-to-date.
    • C/C++ is not going anywhere soon, so modern C/C++ too.
    • Keeping an eye on Ada/SPARK for formal verification on safety-critical systems.
  • Modern RTOSs such as Zephyr and NuttX
    • I developed many projects with Mbed OS but since it has been abandoned by Arm, I am exploring alternatives.
  • Emerging communication technologies
    • CoAP, LwM2M, Bluetooth Mesh, Matter etc.
  • Software engineering
    • Quality assurance: Static & dynamic analysis, testing, emulation
    • Requirements engineering and system design tools (UML/SysML)
  • Open-source software
    • Contributing back to the community
  • Multi-core systems
    • SMP on MCUs and AMP with Linux-MCU combination
  • Embedded Linux
    • I have some experience with Buildroot and Qt5 but I would like to explore deeper embedded Linux with Yocto and driver development.
  • Linux desktop OS and tools
    • Unfortunately Windows was traditionally a prerequisite for embedded development, however I am observing that more and more tools support Linux, so I might try switching to a Linux development machine soon. I know some essential Linux commands but would like to learn more.
  • RISC-V architecture

Work Experience

  • Embedded software engineer @ Nantis GmbH (2020-present)
    • Design, development, maintenance and support of multiple projects in various sectors, mostly microcontroller firmware
    • Firmware development of the energy monitoring smart plug Gridknight from concept to product launch
  • Working student & Master’s thesis @ Vector Informatik (2018-2020)
    • AUTOSAR Adaptive integration and delivery, AUTOSAR Classic hardware support
    • Thesis: Implementing Plug and Charge for CHAdeMO (Smart charging stations and V2G communication)
  • Intern @ Punica Systems (2016-2017)
    • Hardware, firmware and web app development of an IoT sensor gateway based on ESP8266 Arduino core
  • Working student & Bachelor’s thesis @ Arçelik A.Ş. (2015-2016)
    • Hardware and firmware development of an air quality sensor based on AVR MCUs

Volunteer Experience

  • Formula Student racing team - Rennteam Uni Stuttgart (2018-2019)
    • Hardware and software development of the power distribution module (PDM) from concept to deployment, consisting of an STM32 MCU, high-side switches and a CAN transceiver
    • Design and development of the driver interface, consisting of a BeagleBone Black acquiring CAN data and displaying them on a TFT display using Qt5 and Buildroot
    • Design and deployment of the telemetry system to access the ECU over Wi-Fi
    • Wiring harness design and manufacturing
    • Maintenance of the vehicle and engineering design presentation at the competitions

Education

  • M.Sc. Information Technology (Embedded Systems) @ Universität Stuttgart (2016-2020)
  • B.Sc. Electronics and Communications Engineering @ Istanbul Technical University (2011-2015)
  • Abitur @ Istanbul Erkek Lisesi

Languages

  • Turkish: Native
  • English: Proficient (IELTS 8.5)
  • German: Working proficiency

Personal Information

  • Location: Stuttgart Area
  • Nationality: Turkish