Skip to content

Embedded Software Engineer

Embedded software and computer vision for intelligent machines.

I build the software that connects intelligent algorithms with real hardware, from STM32 firmware to autonomous UAVs.

CAM0 · nadir
BOOT OKtargets 4 · locked: red triangle
  • C/C++
  • Python
  • STM32
  • ESP32
  • Raspberry Pi
  • OpenCV
  • InsightFace
  • DroneKit
  • PyQt6
  • SQLite
  • SQLAlchemy
  • Modbus RTU
  • RS485
  • UART
  • Bluetooth
  • C/C++
  • Python
  • STM32
  • ESP32
  • Raspberry Pi
  • OpenCV
  • InsightFace
  • DroneKit
  • PyQt6
  • SQLite
  • SQLAlchemy
  • Modbus RTU
  • RS485
  • UART
  • Bluetooth

From raw sensor data to decisions a machine can act on.

Kaan Akçay
CAM0 · Kaan Akçay

I’m a software developer focused on embedded systems, computer vision, automation, and intelligent machines.

I enjoy working at the intersection of software and hardware, building systems that interact with the physical world. My experience ranges from STM32 and ESP32 firmware development and motor control to Python-based computer vision, AI applications, Raspberry Pi systems, and autonomous UAV software.

I have developed solutions involving real-time image processing, facial recognition, sensor integration, industrial communication protocols, motor control, autonomous systems, and hardware-software integration. I’m comfortable working close to the hardware while also developing the higher-level software required to turn sensor data into reliable system behavior.

I approach projects with a focus on reliability, real-time performance, clean architecture, and practical problem solving. Whether it is controlling a motor, processing camera data, communicating with an industrial device, or building an autonomous system, I enjoy turning complex technical requirements into working software.

Focus areas

  • Embedded systems and firmware on STM32, ESP32 and Raspberry Pi
  • Computer vision and AI with OpenCV and InsightFace
  • Real-time image processing and facial recognition
  • BLDC and stepper motor control, ESC integration
  • Industrial automation over UART, RS485 and Modbus RTU
  • Bluetooth communication and sensor integration
  • Autonomous systems and UAV software
  • Python, C/C++, PyQt6, SQLite and SQLAlchemy applications
Philosophy

I believe good software should not only work; it should be reliable, understandable, and built to perform in the real world.

I start by understanding the problem, then design a practical, maintainable solution, with clean architecture, systematic debugging and thorough testing wherever software meets hardware. Whether it’s sensors, motors, protocols or computer vision, the goal stays the same: systems that behave predictably, and a little better with every project.

The languages, platforms and tools I work with.

Grouped the way a system is built: the real-time software at its core, how it sees, how it decides and moves, and the tooling around it.

Embedded & real-time

  • C++
  • C
  • FreeRTOS
  • Embedded Linux
  • NVIDIA Jetson
  • STM32
  • ESP32
  • Raspberry Pi
  • Bluetooth
  • Modbus RTU / RS485
  • Motor control

Computer vision & AI

  • OpenCV
  • CUDA
  • TensorRT
  • PyTorch
  • ONNX
  • YOLO
  • GStreamer
  • InsightFace

Autonomy & robotics

  • ROS 2
  • SLAM
  • Sensor fusion
  • Path planning
  • PX4
  • Gazebo
  • DroneKit

Tools & platforms

  • Python
  • Docker
  • Git
  • CMake & CI
  • Linux
  • PyQt6
  • SQLite

Selected work, from pixels to decisions.

Each project lists the platform, the pipeline and the decisions that mattered. Open one to see how the system is put together.

Featured · Fixed-wing UAV

Autonomous fixed-wing UAV with computer vision

Autonomous flight and real-time computer vision for a fixed-wing UAV: OpenCV detects and classifies ground targets by colour and shape, and DroneKit flies the mission around what it sees.

GitHub activity · @Maeyka

14 contributions in the last year · 3 public repos

From concept to reliable system.

A practical five-step process I use to turn hardware and software requirements into reliable, tested systems.

  1. Understand & define

    We start by understanding the project requirements, hardware, communication interfaces, operating environment, and expected outcome. I identify technical constraints, potential risks, and dependencies before development begins.

  2. Design & architecture

    I define the system architecture and the interaction between firmware, sensors, motors, communication interfaces, and higher-level software. The goal is to establish a clear and maintainable structure before implementation.

  3. Prototype on real hardware

    I build an initial working version and test it on the actual target hardware as early as possible. This helps validate hardware integration, communication, control logic, and system behavior before investing time in optimization.

  4. Test, debug & improve

    The system is tested under realistic conditions, with each component verified individually and as part of the complete system. I profile performance, identify bottlenecks, fix issues, and refine the implementation through iterative testing.

  5. Deliver & support

    The final system is delivered with clean source code, configuration, documentation, and the necessary technical details for future development. I aim to leave behind a system that is understandable, maintainable, and ready for further improvements.

What I can build for you.

Three areas where I take a project from requirements to a working, tested system.

For applications that need to understand and respond to visual information

Computer Vision & AI

I develop real-time computer vision solutions using Python, OpenCV, and InsightFace, including face recognition, object and target detection, image processing, and vision-based automation.

Outcome

A working vision pipeline integrated into the target system, with reliable detection and practical real-time performance.

For systems that need to make decisions based on sensor or visual data

Autonomous & Intelligent Systems

I develop software that combines computer vision, sensor data, control logic, and autonomous decision-making, including UAV and other intelligent embedded applications.

Outcome

A functional system that can sense its environment, process information, and execute predefined actions with minimal manual intervention.

For projects where software needs to communicate directly with sensors, motors, controllers, or industrial devices

Hardware-Software Integration

I work across the hardware and software boundary, integrating components through UART, RS485, Modbus RTU, Bluetooth, and other serial interfaces.

Outcome

A complete hardware-software system where individual components communicate reliably and work together as intended.

Have something else in mind?

Tell me about the project and your timeline, and we'll find the simplest way to work together.

Frequently asked questions.

What kind of projects do you work on?

I work on embedded systems, firmware, computer vision, AI applications, automation, motor control, and autonomous systems. I can work on both new projects and existing systems that need debugging, integration, or further development.

Can you work with existing hardware and code, or debug a project?

Yes. I can review an existing hardware, firmware, or software project, track down firmware, communication, sensor, or motor-control problems systematically, and make the necessary changes without rebuilding the system from scratch.

Which platforms and protocols do you work with?

I have hands-on experience with STM32, ESP32, and Raspberry Pi, as well as embedded Linux environments, and with UART, RS485, Modbus RTU, and Bluetooth communication. I develop firmware, integrate sensors, motors, and peripherals, and build software that talks directly to hardware.

Can you work on short-term tasks as well as complete projects?

Yes. I can work on anything from a specific firmware fix or hardware integration task to designing and developing a complete embedded or automation system from the ground up.

What do you need to start a project?

Ideally, I need a description of the requirements, available hardware, existing code or documentation, communication interfaces, and the expected outcome. If some information is missing, I can help identify the requirements and define the technical approach before development begins.

Have a project in mind?

Tell me in a few sentences what you want to build, what hardware you have and your timeline. Freelance projects, contract work and full-time roles are all welcome.

Your details are used only to reply to your message. Privacy notice