Mustafa Özçelikörs

About MeProjectsPersonal GalleryHomelab 

Personal Projects

broadcast Wi-Fi Development Board

2019, 2nd quarter

  • Designed from scratch using KiCad, considering the shield-safe layout and cost-effective materials for power and USB solution.
  • USB-to-Serial solution (CH340G) is a cost-effective product, which does not require additional drivers for Linux and Windows systems.
  • Possible applications involve Internet of Things and Cloud.
  • Features Espressif's one of the latest wireless modules, ESP-12F, which features revised antenna for better reception.
  • ESP-12F features following:
    • Integrated low power 32-bit MCU, supports 802.11 b/g/n
    • Integrated TCP/IP protocol stack
    • Wi-Fi 2.4 GHz, support WPA/WPA2
Read more..

WiFi-MQTT Remote Controller

2019, 2nd quarter

WiFi-MQTT Remote Controller allows you to control every IoT device
using WiFi communication (TCP/MQTT transport).

  • Board designed using KiCad, considering integrated wi-fi module, battery circuitry, OLED display, ON-OFF switch, and control buttons.
  • Software is power-efficient. It goes into low power mode when not used by switching off the WiFi chip and slowing down the MCU operations.
  • System consumes 0.028A on low power mode, whereas it uses around 0.120A when fully loaded.
  • WiFi-MQTT Remote Controller is able to publish and subscribe to MQTT topics from around WiFi devices.
Read more..

retro-clock v2: Pixel Art Bluetooth Speaker, FM Radio, Internet Clock

2019, 2nd quarter

retro-clock v2 enables you to see network time, calendar, weather of your city, exchange rates all accompanied by stylistic japanese pixel art. retro-clock also features speaker which plays music from your phone via bluetooth, as well as a built-in FM Radio for tuning in to your favourite radio station.

It is a recreation of our previous retro-clock, which is based on Python 2.7 and SDL library. With new version, we switch to Qt and created a new OS layer with features required to achieve sufficient multimedia ecosystem. New version additionally offers bluetooth device management, touch screen support, FM radio, replaceable pixel art animations, better flexibility regarding connectivity, and better connection stability.

Read more..

FourDots: Handheld Gameboy Console

2019, 1st quarter

  • Gameboy console based on Raspberry Pi Zero-based custom hardware and custom Yocto Linux distribution tailored to run OpenGL, Qt, SDL.
  • Built on top of ARMv6-based (single-core) BSP.
  • Main system features are developed and automated using Yocto Linux. Built distribution is custom and features Qt, SDL, OpenGL infrastructure for developing GPU-based applications.
  • Features Python-based custom application/service manager.
  • Involves customized fbtft drivers, button drivers, battery management and charging circuit.
  • Main application is built with Qt, multithreaded app runs on OpenGL using EGLFS plugin.
Read more..

retro-clock: Stylish Bluetooth Speaker

2018, 3rd quarter

A gaming-retro themed bluetooth speaker, internet clock and temperature indicator made with Python, Yocto-based Linux OS and made for embedded boards/displays.

Netz: Yocto Linux-based Handheld Device

2018, 2nd quarter

  • Currently only fully supports the SBD of my choice: ARMv6/RPi Zero W, however easily customizable.
  • Comes with full-fletched SDK for cross-compilation projects, with GPIO library and Qt library included
  • Yocto-based completely new Linux distribution that is based on PREEMPT-RT based Real-time Kernel
  • Qt (or Qt for Embedded) supported for both X11 and LinuxFB (Framebuffer) versions
  • TFT screen drivers compiled, device tree generated for framebuffer access in the early boot.
  • Shows a nice splash screen on the framebuffer for the TFT.

Rover - Robot for Cloud Services, IoT, Real-time and Multiprocessor Computing Studies


Documentation | Hardware Design | C++ API| MQTT Client UI | Github

Rover (APP4MC-rover) is an open-source mobile robot that is designed to test the outcomes of APP4MC and APPSTACLE projects. Rover features applications and tooling required to address complex research fields such as cloud communication, open-source tooling, multi-core and cluster computing. Rover is equipped with powerful sensors, motors, and display units to interact with the physical world. Rover software, called roverapp features a multi-threaded (POSIX threads or Pthreads) C/C++ implementation that runs on Linux-based embedded single board computers (such as Raspberry Pi). Rover features countless threads dedicated to communication infrastructure (MQTT, REST API, Node.JS, TCP), sensor driving, display unit (such as OLED displays) utilization, bluetooth communication, image processing, and behavior modes (such as Parking, Adaptive Cruise Control, Manual Driving, and Booth Modes). It also features drivers for sensors such as magnetometers, accelerometers, various ultrasonic sensors, and camera modules. Furthermore, OLED display, buttons, a buzzer are utilized.

../roverstatic/images/rover.jpg   ../roverstatic/images/rovercomponents.png

(*images from APP4MC Rover wiki and our documentation)

Yakala: System Helper Tool for GNU/Linux


A visual helper tool for GNU/Linux: Show system statistics, search for files, search for networks, SSH into networks, see active TCP/UDP sockets, modify your aliases, search and kill processes, edit environment variables... This project has been completed under 24 hours by using C++, Qt, GNU sed, and nmap tools.

IOTA Client: An Easy-to-use Home Automation Node with OLED Display

2017, February

This project will be the client node of the Home Automation network I'm trying to create with my own possibilities. While the server node simply is a SBD with a touchscreen, a server and hotspot capability (also can be an Android phone), the clients will be powered with ESP8266-12 wifi modules and an optocoupler and snubber protected relay to control house appliances. The client node will provide an OLED display and a rotary knob for control. This fun project not only uses open-source free software for its design (KiCad) and implementation (STM32, Keil, EWARM), but also hopefully will enable people to be able to control gadgets in their home freely. I plan on improving the project with an Android app. Bear with me!

Development and Software Evaluation of a Distributed Multi-core Demonstrator
(Google Summer of Code Project !)

April 2016 -

A demonstrator system called A4MCAR has been developed which features not only low level functionalities such as sensor and motor driving but also high level features such as image processing, camera streaming, server-based wireless driving via Web, bluetooth connectivity via Android application, system core monitoring and analysis features and touchscreen UI. Our experiments along the multi-task heterogeneous demonstrator A4MCAR show that using APP4MC results instead of OS-based or sequential implementations on a distributed heterogeneous system significantly improves its responsiveness in order to potentially reduce energy consumption and replaces error prone manual constraint considerations for mixed-critical applications.
Technology overview: XMOS xCORE-200, Core monitoring, Partitioning/mapping, xC, Linux-Kernel, Raspberry Pi, Bash scripting, Software profiling, Python, TCP, PHP5/jQuery/Apache, Image processing, Touchscreen UI, Pthreads, Android, File I/O configurations.

Graphical Traffic Simulator and Embedded Real-time Warning System Development with Traffic RADARs(Master Project Thesis)

September 2016 -

Project Thesis in cooperation with Elektro-Prange GmbH and FH Dortmund
Real-world warning system that is developed is tested on Germany highways under the permission of a highway installation company. The real-world real-time congestion algorithm is developed so that it gets the refined version of the warning algorithm from the offline tests and it has to involve real-world interfaces inside. In the project, the real-world algorithm gets the RADAR-Signal Processing Unit data from an FTP server every 60 seconds and produces a warning output. The results obtained from the embedded warning system is tested using a Linux computer and the results prove the essential diagrams of the traffic stream. The obtained congestion levels showed the backward movement of congestion as well as the flow-density relationships using a real system.
Technology overview: Traffic flow analysis, Nagel-Schreckenberg Model, RNSL Model, DM Model, Falcon Plus 3 RADAR, MATLAB, Beaglebone, Python.


uComm - A Portable Terminal with TCP/UART/CAN-BUS capabilities(Self Project)


A configurable comm terminal with a touch screen with RS232, TTL-UART, Ethernet, CAN-BUS interfaces.
Technology overview: Python, Pygame, Touchscreen, Linux/Bash, UART, CAN-BUS, TCP, File I/O configurations.

Details will be added later..

Modelling and Controlling a Quadcopter (Course Project)

January 2016

Me and my colleague Jared have developed a model of a quadcopter and its sensor network using Simscape, then went through hoops to control it using some inputs. This work has been completed as a course project for the Control Systems course in Fh Dortmund, and it was really fun developing such a huge Simulink model. I've taken the liberty of designing a GUI for that afterwards. We are now able to control it using trajectory inputs as well as velocity and direction control.


Two Large Digital Clocks On VGA Using VHDL (Course Project)

March 2015

As the VHDL course project, we have been able to display completely seperate color and hour/minute adjustable two large digital clocks on a VGA monitor using VHDL. We have used both Altera DE0 and Xilinx Spartan 3E Board for this project.


Adaptive Cruise Controller Module Design for Electric Vehicle OSKAR (Bachelor Thesis)

July 2014 – July 2015

Adaptive Cruise Control (ACC) is a prominent system among the inteligent vehicle technologies which avoids the trafic accidents. Driver originated traffic accidents can be reduced by widespread usage of Adaptive Cruise Control system in vehicles. In this project, we design an Engine Control Unit for an electric vehicle, using ARS-308 long range RADAR, an hall-effect encoder, throttle sensor and a touchscreen display unit and by applying linear and nonlinear control techniques. We use STM32F407VGT06 microcontroller alongside the Raspberry Pi and use peripherals and protocols such as CAN-BUS, TCP/IP, USART, QEI, ADC, DAC along with an RTOS scheduler. We intend to use PythonQT for the developement of the high-level controller, in this ongoing project.


Autonomous Indoor Robot Navigation Using Kinect Sensor


In this project we aim to achieve a series of robot behaviours using Xbox 360 Kinect Sensor as laser scanner. We use ROS (Robot Operating System) and Gazebo Simulator while developing behaviours like Move To Goal, Passing Corridoor, and Passing Through Door. The application that we have developed on ROS will use a Finite State Machine in order to switch between behaviours, on a certain map. In addition, we use potenfial fields method for obstacle avoidance.


MATLAB-ROS Communication and Control Interface

November 2013

As a project of the Vehicle Control Systems course, a MATLAB GUI and a ROS server message publisher is going to be created in order to simulate P, I, D parameters for the low level control of the intelligent wheelchair ATEKS. A mobile robot can be driven and the timestamp and position outputs can be visualized with the software.


Embedded Game Controller/GUI Design

November 2013

In this project, me and my workfellow Metin have developed a master Python software that comminucates with slave microcontrollers in order to develop scenerios of a LaserTag-like game in which hunter, sniper, and hostage modes are available. The project is also enchanced with voice notification and a graphical interface.


Wheeliebot - A Server Controlled, Video Streaming Indoor Navigation Robot


In the Wheeliebot project, I aim to combine the behaviours that are developed on ROS and Gazebo with the server mechanism and create a video-streaming autonomous robot. The robot uses potential fields method in order to navigate with obstacle avoidance. As hardware, robot has sonar and infrared sensors, gyroscope, accelerometer, USB interface, and wireless module that works with a 1GHz embedded linux board. In addition, I use Apache as server. This project is still in progress.


AkademiWeb - Açık Kaynak Kodlu Dosya ve İçerik Yönetim Sistemi (Turkish)


AkademiWeb CMS, özellikle akademisyenler için tasarlanmış bir dosya ve içerik yönetim sistemidir. Oluşturulmasındaki temel amaç, çoğu üniversitede akademisyenlerin öğrenciler ile dosya paylaşımında sıkıntı çekmesidir. Akademisyenlerin ders notu ve cevap anahtarı gibi dökümanları paylaşması bu içerik yönetim sistemiyle daha da kolay bir hal almıştır.


TezSis - Tez Yönetim Sistemi (Turkish)


TezSis, Akademisyenler ve öğrenciler arasındaki arayüzü sağlayarak tez işlemlerini yürütmeyi sağlayan PHP tabanlı bir web sistemidir. Bu sistem ile üniversitelerdeki sancılı tez seçimi döneminin önüne geçilip, bir istek-gözden geçirme-onay platformu oluşturulmaya çalışılmıştır.


Dynamic Frame Online Oscilloscope Simulator


In this particular project, I've managed to make an online function generator / oscilloscope simulator in which I used PHP Graphics Libraries and AJAX. With this project, I aim to present it to Electronics and Biomedical Engineers as a study tool. Looks and feels pretty cool to me. Give this a try and remind you of your university years.

Designed by mozcelikors