02 · TECH SKILLS

What I can do — grouped honestly by depth.

Click any skill to see exactly what I did with it — and the code, where it's public.

Expert Strong Growing has linked code

Languages & Fundamentals

Embedded CExpert

My primary language for three years of production automotive firmware and for my personal hardware projects. I write register-level peripheral drivers, bare-metal control logic, and diagnostic stacks in C — configuring registers by hand and structuring clean, testable modules.

Code on GitHub →
Embedded C++Strong

Used for modular, non-blocking firmware where I separate hardware, application, and communication concerns into well-defined classes. My UART Command Shell is zero-allocation C++17 — std::string_view tokens, function-pointer dispatch, exception-free.

C++17 project on GitHub →
Python (scripting / test automation)Strong

Wrote Python tooling and test-automation scripts to drive repetitive verification, parse logs, and automate checks alongside my embedded work — and now for LLM/agent workflows.

CAPLStrong

Scripted CAN/LIN test cases and simulated bus nodes in CAPL inside Vector CANoe to validate ECU communication and diagnostics.

Microcontroller fundamentalsExpert

Strong grasp of how MCUs actually work — clock trees, memory maps, interrupt vectors, peripheral registers, and the boot/startup path — which lets me bring up a new chip from a blank flash.

Code on GitHub →
Low-level / register-level debuggingExpert

Comfortable debugging at the register and bus level — reading peripheral registers, stepping through startup code, and tracing signals on the wire to find the real root cause instead of guessing.

Code on GitHub →

Automotive & AUTOSAR

AUTOSAR Classic (MCAL / BSW)Strong

Developed and integrated AUTOSAR Classic low-level drivers (MCAL) and base software from scratch at the register level, on Tier-1 automotive programs.

Production work — covered under NDA.
UDS / ISO 14229 diagnosticsStrong

Architected and implemented a complete ECU diagnostic stack to ISO 14229 — services 0x22/0x2E/0x31/0x2F/0x14/0x19 — with session concurrency, strict timing, and NVM-backed data.

Production work — covered under NDA.
DCM / DEM / NvM / COMStrong

Configured and integrated AUTOSAR BSW modules — diagnostics (DCM/DEM), non-volatile memory (NvM), and communication (COM/ComStack) via Vector DaVinci — and tied them into application behavior.

Production work — covered under NDA.
CAN · LIN · SENTStrong

Worked with automotive serial protocols day to day — configuring controllers, debugging frames on the bus, and validating timing and signal behavior; built a full SENT sensor-acquisition pipeline.

Production work — covered under NDA.
ASPICE (SWE.1–SWE.6)Strong

Delivered work under Automotive SPICE processes with full requirements-to-test traceability across the software engineering process areas (Polarion / EWM).

Platforms & Architecture

Infineon AURIX TC36x (TriCore)Strong

Three years building production firmware on the AURIX TC36x TriCore — multicore startup, peripheral configuration, PMIC safe-state, and real-time application logic.

Production work — covered under NDA.
ARM Cortex-MStrong

Bring-up and bare-metal firmware on ARM Cortex-M — configuring the clock tree, GPIO, ADC, and timers directly from CMSIS register definitions (72 MHz PLL, flash wait-states).

Code on GitHub →
STM32 / ATmegaStrong

Personal hardware projects on STM32 (Cortex-M) and ATmega (AVR) — register-level drivers, ADC sensing, interrupt-driven timing, and actuation control.

STM32 project →ATmega project →
Bare-metal drivers & bring-upStrong

Comfortable starting from a blank chip: writing startup code, configuring peripherals at the register level, and building the minimal driver layer an application needs.

Code on GitHub →
RTOS / real-time schedulingStrong

Built real-time, deterministic application logic with priority-aware scheduling and fault handling in the automotive stack, and interrupt-driven real-time timing in my bare-metal projects.

Real-time timing on GitHub →

Tools & Process

Lauterbach TRACE32Strong

On-target debugging — breakpoints, register/memory inspection, and assembly-level execution tracing on automotive ECUs.

Vector CANoe / DaVinciStrong

CANoe for bus simulation and test (with CAPL); DaVinci for AUTOSAR configuration and RTE generation.

EB TresosStrong

Configured AUTOSAR BSW/MCAL modules in EB Tresos and generated the corresponding code.

Git · SVNStrong

Daily version control across team projects — branching, rebase, merge, and code review with both Git and SVN.

My GitHub profile →
Jenkins CI/CD · BazelStrong

Worked within Jenkins CI/CD pipelines and Bazel builds for automated building and testing of firmware.

Polarion · Jira · EWMStrong

Tracked work and requirements with traceability back to deliverables across the ASPICE lifecycle.

Connectivity & IoT

ESP32 firmwareGrowing

Building IoT firmware on the ESP32 in modular, non-blocking C++ — isolating sensor, WiFi, and messaging into separate layers.

MQTT / IoT messagingGrowing

Publishing sensor telemetry as JSON over MQTT, including reconnect handling and lightweight message formatting.

WiFi / TCP networkingGrowing

Connecting embedded devices to networks over WiFi/TCP and keeping the link resilient to drops.

Sensor integration (soil, DHT22, SENT)Growing

Reading real sensors — soil moisture, temperature/humidity, and automotive SENT — and turning raw readings into calibrated, usable values.

Sensor code on GitHub →

Expanding Into

Embedded Linux (POSIX, drivers, Yocto)Growing

Actively learning embedded Linux — POSIX programming, device drivers, and building images with Yocto.

Edge AI / TinyMLGrowing

Exploring lightweight ML inference on microcontrollers and edge devices — the natural fusion of my embedded core with on-device intelligence.

Agentic AI (RAG, LLM agents)Growing

Building LLM-agent tooling with LangGraph and local/cloud models — including AutoEmbed, an agent that semantically merges AUTOSAR ARXML config beyond line-based git/SVN.

AutoEmbed on GitHub →
Advanced modern C++Growing

Deepening modern C++ (C++17/20 features) for cleaner, safer embedded and systems code.