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
- E2
- A2
- D3
- G3
- B3
- 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