Basel, Switzerland

Dušan Čorlija

Embedded & Systems Software Engineer

I build dependable software that sits close to the hardware — from fieldbus stacks and medical ventilators to precision calibration systems.

01About

I'm an electrical engineer who writes software for machines that have to work. Over the past eight years in Austria and Switzerland that has meant fieldbus slave stacks for industrial controllers, C++17 for mechanical ventilators in intensive care, and calibration sequences that drive precision instruments for high-voltage test systems.

The common thread is correctness under constraint: regulated lifecycles under IEC 62304, deterministic communication on real-time targets, and measurement chains where every number has to be traceable. I care about clean interfaces between hardware and software, tests that catch real failures, and documentation the next engineer is glad to find.

Away from the day job I take hardware ideas all the way through — schematic, layout, simulation, enclosure and bare-metal firmware — and photograph with Fotoclub Oerlikon.

Portrait of Dušan Čorlija
Experience
8+ years industry
Domains
Industrial · Medical · Metrology
Languages
DE C2 · EN C2 · FR C1 · HR native
Work permit
Swiss B permit

02Experience

  1. 2026 — Now

    Software Developer / System Engineer · Haefely AG

    Basel, CH · High-voltage test & measurement

    • Develop Qt/C++ calibration software for high-voltage test equipment, including temperature-adjustment calibration sequences.
    • Implement instrument drivers and communication layers for precision calibrators (e.g. Fluke 6100A) over GPIB and TCP within a plugin-based framework.
    • Validate the full measurement chain together with hardware engineers, ensuring compliance with metrological standards.
    • Maintain the build system (QMake, Qt 5.15, MSVC 2019/2022) across a multi-module C++17 codebase.
    • C++17
    • Qt 5.15
    • GPIB
    • TCP/IP
    • Metrology
    • SVN
  2. 2021 — 2026

    Software Developer · Hamilton Medical AG

    Bonaduz, CH · Mechanical ventilators

    • Designed and built software features for intensive-care ventilators under the IEC 62304 medical software lifecycle.
    • Owned verification of delivered features — unit, integration and regression tests, requirements traceability and release documentation.
    • Modelled behaviour in UML (Rhapsody) and prototyped early versions to refine requirements and user interfaces with hardware and QA teams.
    • C++17
    • IEC 62304
    • Rhapsody / UML
    • Cantata
    • Jenkins
  3. 2021

    Research Scientist · OST University of Applied Sciences

    Buchs, CH · Medical device prototype

    • Designed software and electronics for a medical prototype in C++ and Python — device drivers, GUI and hardware integration.
    • Worked with biomedical engineers, clinicians and regulatory experts on verification and FDA / CE documentation.
    • C++
    • Python
    • Device drivers
    • FDA / CE
  4. 2018 — 2021

    Embedded Software Developer · Bachmann electronic

    Feldkirch, AT · Industrial automation

    • Designed and implemented fieldbus slave software for industrial control devices (EtherCAT, Profibus, CAN).
    • Developed system software for next-generation controllers in Embedded C on ARM with FreeRTOS and TI-RTOS.
    • Wrote product specifications and took features from bring-up on target hardware through testing to release.
    • Embedded C
    • ARM
    • FreeRTOS
    • EtherCAT
    • Profibus
    • CAN
  5. 2013 — 2016

    Academic positions

    Belgrade, RS · East Sarajevo, BA

    • Scientific Assistant, University of Belgrade — research in automation and embedded systems, conference talks, thesis supervision.
    • Laboratory Technician, University of East Sarajevo — ran laboratory courses for students.

03Selected projects

Exploded 3D render of the THM-1 enclosure, PCB, e-paper display and battery holder Top view of the THM-1 two-layer PCB with STM32L031 and SHT45 sensor tab

Hardware · Firmware · 2026

THM-1 — battery e-paper climate meter

A pocket temperature and humidity meter designed end to end: schematic, two-layer board, 3D-printed enclosure and bare-metal firmware. The board, schematic and enclosure are generated from Python scripts (KiCad, CadQuery), so every revision is reproducible.

Circuit simulation in ngspice caught a real fault before manufacturing: switching on the display rail pulled the battery down to 1.3 V and reset the MCU on half-empty cells. Revision 1.1 adds a gate soft-start that keeps the dip under 0.11 V across all tolerance corners.

MCU
STM32L031 · Cortex-M0+
Sensor
SHT45 · ±0.1 °C / ±1 %RH
Display
1.54″ e-paper · 200×200
Power
2×AAA · >2 years
Board
78×36 mm · 2 layers · 0 DRC errors
Firmware
Bare-metal C · own startup & linker script
Map of Mostar with several computed car routes drawn in colour

Algorithms · Python · 2026

Time-dependent routing without Google

A car routing engine for the city of Mostar built purely on OpenStreetMap data — 6,808 junctions, 14,713 directed edges, traffic lights, turn restrictions and hour-by-weekday congestion profiles. Routes compute in about 5 ms at zero running cost.

  • Graph search
  • OSM
  • Docker

Systems · Python · 2026

Pay-at-exit parking controller

Architecture, hardware BOM and controller prototype for small paid car parks: ticket printer, barriers, licence-plate cameras and contactless payment orchestrated by a local controller with simulated devices and an operator panel.

  • FastAPI
  • SQLite
  • pytest
  • Hardware BOM

04Education

  1. 2015 — 2018

    Doctoral studies, Software Engineering

    University of Belgrade, School of Electrical Engineering · Coursework completed with 9.80 / 10, thesis not defended

  2. 2014 — 2015

    MSc Electrical Engineering 9.79 / 10

    University of Belgrade · Thesis: Optimal deployment of software algorithms in solar stations

  3. 2010 — 2014

    BSc Electrical Engineering 10.0 / 10

    University of East Sarajevo · Thesis: Sensor-based navigation system for autonomous robots

05Toolbox

Languages

C, C++17, Python, QML, Embedded C

Embedded

ARM Cortex-M, STM32, FreeRTOS, TI-RTOS, bare-metal startup & linker scripts

Interfaces

EtherCAT, Profibus, CAN, GPIB, TCP/IP, RS-232, SPI, I²C

Frameworks

Qt 5.15 / Qt Creator, plugin architectures, FastAPI

Quality

IEC 62304, unit / integration / regression testing, requirements traceability, Cantata

Tooling

Git, SVN, Jenkins, QMake, Rhapsody / UML, ArmDS, µVision, Matlab, LabWindows

Hardware

KiCad, ngspice, CadQuery, schematic & PCB design, bring-up

Spoken

German C2, English C2, French C1, Croatian (native), Spanish (basic)

06Writing

Short write-ups of problems from embedded software, control and measurement.

All posts →

Let's build something
that has to work.

I'm happy to talk about embedded, systems and verification work in Switzerland and beyond.

dusan.corlija@yahoo.com