Engineering. Embedded systems, industrial IoT, and electronics.

Try the tuner

Pitch detection, the core of my automatic guitar tuner, running in your browser.

Source on GitHub(opens in a new tab)

FIG. 01 Guitar tuner, McLeod pitch method

--¢

---.-Hz

  1. E2
  2. A2
  3. D3
  4. G3
  5. B3
  6. E4

Turn on the microphone, then play one string at a time. A4 = 440 Hz.

Audio stays in your browser. Nothing is recorded or sent anywhere.

At Zynk

Software engineer at Zynk in Cluj-⁠Napoca since November 2024, working on embedded devices and industrial IoT, from low-⁠level electronics to system architecture.

Devices: firmware and hardware

  • Energy meter firmware

    Metering-⁠IC driver, automatic calibration against a reference analyzer, and the setup page, through to the first production release.

    ESP32, ESP-⁠IDF, FreeRTOS, LTE Cat-⁠1, Modbus TCP

  • LTE datalogger firmware

    Board bring-⁠up and all of the bare-⁠metal firmware, with sleep current down from milliamps to tens of microamps.

    ARM Cortex-⁠M0+, bare-⁠metal C, LTE Cat-⁠1, solar charging

  • Heating receiver firmware

    Encrypted sub-⁠GHz radio to the cloud over MQTT: tangled legacy connection code rebuilt as a state machine, and safer pairing.

    ESP32, ESP-⁠IDF, FreeRTOS, MQTT over TLS, sub-⁠GHz radio

  • Thermostat firmware

    Debugged on real boards together with the receiver, plus scripted builds and flashing for two chip variants.

    PIC24, XC16, MPLAB X, PICkit

  • Gas detector firmware

    Flash, partition, and SPI-⁠clock fixes, a 32-⁠bit OTA version API, and quieter fault logging.

    ESP32, PlatformIO, ESP-⁠IDF, Arduino

  • Calibration and test benches

    An ESP32 Modbus gateway that reads a reference analyzer and switches test loads, an accuracy app, a multi-⁠day serial logger, and part of the benches’ wiring.

    C++17, Python, Tkinter, PowerShell, Modbus TCP and RTU

Industrial and desktop software

  • Machine data collection service

    Built from the ground up: FOCAS, THINC, MTConnect, OPC UA/DA/AE, and Modbus TCP to the cloud over mutual-⁠TLS MQTT.

    C#, .NET, Windows services, WinForms, MQTTnet

  • PLC stack-⁠light retrofit

    Ladder logic on a Siemens LOGO! 8 that turns older machines’ stack lights into machine states.

    Siemens LOGO! 8, LOGO!Soft Comfort, ladder logic, Modbus TCP

  • Okuma THINC to MTConnect adapter

    Spindle, axis, and machine energy data from the THINC API, served to an MTConnect agent over SHDR.

    C#, .NET 4.0, Okuma THINC API, MTConnect SHDR

  • Offline license signing

    Signed, hardware-⁠bound licenses checked offline: the spec, a WPF issuing tool with 58 tests, and two integrations.

    C#, .NET 10, WPF, public-⁠key signatures, xUnit

  • Fusion 360 CAM add-⁠in

    Took it over after the first version and wrote most of the current code: tools, cycle times, NC programs, and fixtures into the MES.

    Python, Fusion 360 API, OAuth2, REST

  • Shop-⁠floor operator terminal

    3D, 2D, and PDF viewers with CAD measurement, shift and task flows, and cycle-⁠time statistics.

    C#, WPF, MVVM, MQTT, Eyeshot, WebView2

  • 3D CAD viewer for Windows

    A free Microsoft Store app for opening and measuring STEP, IGES, STL, glTF, DWG, and more.

    C#, WPF, Eyeshot, MSI, MSIX

  • Outlook e-⁠mail add-⁠in

    Reads the open e-⁠mail and sends what it extracts into the company’s industrial platform.

    JavaScript, Office.js

Personal projects

  • Automatic guitar tuner

    An embedded system that tunes a guitar by itself: it filters and amplifies the string’s signal, finds the pitch with an FFT, and turns the peg with a closed-⁠loop stepper motor.

    MATLAB, C++, signal processing, embedded / updated Mar 2026

    Source on GitHub(opens in a new tab)
  • Breast-⁠cancer image classifier

    A neural-⁠network image classifier for breast-⁠cancer detection, built with MATLAB’s Deep Learning Toolbox. A study project, not a clinical tool.

    MATLAB, Deep Learning Toolbox, image processing / updated Mar 2025

    Source on GitHub(opens in a new tab)
  • Smart irrigation system

    An IoT irrigation system that runs on sensor data and can be monitored remotely.

    C#, C++, IoT, data acquisition / updated Mar 2025

    Source on GitHub(opens in a new tab)
  • Op-⁠amp guitar circuit

    Analog electronics: a guitar signal circuit designed around op-⁠amps.

    Analog electronics, op-⁠amps

Tools I work with

  • C and C++
  • ESP32, ARM Cortex-⁠M, PIC
  • FreeRTOS and bare metal
  • FOCAS, MTConnect, OPC UA, Modbus
  • MQTT and LTE
  • C# and .NET
  • Python
  • Board bring-⁠up and debugging
Everything, by area

Languages

  • C and C++
  • C# and .NET
  • Python
  • JavaScript, HTML, and CSS
  • PowerShell and Batch

Embedded

  • ESP32 with ESP-⁠IDF, FreeRTOS, and PlatformIO
  • ARM Cortex-⁠M0+, bare-⁠metal C
  • PIC24 with XC16 and MPLAB X
  • Device drivers over UART, SPI, and I²C
  • Low-⁠power design, OTA updates, and power-⁠safe storage

Industrial protocols

  • FANUC FOCAS2
  • Okuma THINC API
  • MTConnect, agent and SHDR
  • OPC UA, OPC DA, and OPC AE
  • Modbus TCP and RTU
  • Siemens LOGO! 8 ladder logic

Connectivity

  • MQTT over TLS and mutual TLS
  • HTTPS and REST APIs
  • LTE Cat-⁠1 modems and UDP
  • Encrypted sub-⁠GHz radio
  • Wi-⁠Fi provisioning and captive portals
  • NTP time sync

Windows and desktop

  • Windows services
  • WPF and WinForms
  • MSI, MSIX, and ClickOnce installers
  • Office add-⁠ins
  • Unit tests with xUnit

Electronics and lab

  • Board bring-⁠up, debugging, and rework
  • Schematic review and circuit analysis
  • Power profiling with a Nordic PPK2
  • Oscilloscopes, with SCPI automation
  • Calibration against a reference power analyzer
  • PCB design (KiCad) and LTspice simulation

CAD and CAM

  • Autodesk Fusion 360 API
  • Eyeshot CAD SDK
  • NC programs and DNC

Workflow

  • Git, GitLab, and CI
  • Code review and releases
  • VS Code, Visual Studio, MPLAB X
  • JTAG, OpenOCD, and PICkit
  • AI-⁠assisted development with coding agents
  • Agile sprints and technical documentation