aytugyayman.com.tr
ZenTimings v1.44 released (16 August 2026)

Hi, I'm

Aytug Yayman

Software developer · C# / .NET · React

I write Windows tools for AMD Ryzen processors. I also develop the ERP system a freight company uses every day.

Here I write about my projects and the problems I ran into while building them.

About

My name is Aytug Yayman. On the desktop I work with C# and .NET, on the web with React, TypeScript and Node.js.

Most of my time in the last few months went into AMD Ryzen processors. I maintain a fork of ZenTimings, and I'm writing ZenStation, an app that puts the usual monitoring and tuning tools into one window. Much of this work happens in places that aren't documented, mainly SMU messages, PM tables, memory controller registers, and the APOB data the BIOS leaves in memory at boot.

When I find out where a value lives, I send it upstream as well. Some of my changes to ZenTimings and ZenStates-Core have been accepted.

I develop and test ZenStation on a Ryzen 5 3400G with DDR4 memory. On the web side, I work on the ERP system of an international road freight company. Trips, customs, vehicles and accounting all run through it.

What I work on

  • Hardware access

    SMU mailboxes, MSR, SMN and CPUID registers, PM tables

  • Memory

    DDR4 and DDR5 timings, SPD, impedances, latency and bandwidth measurement

  • Desktop

    C#, .NET 8 and WPF, signed auto-update

  • Web

    React, TypeScript, Node.js and Express, SQLite and PostgreSQL

Projects

I'm working on three projects at the moment. Each one has its own page with the details.

ZenStation.csPrivate repo · coming soon

Windows · AMD Ryzen monitoring and tuning

ZenStation

An AMD Ryzen monitoring and tuning app for Windows. It shows clocks, temperatures, power and memory timings, can change limits and clocks, and tests whether the result is stable. Before it writes anything to the processor, it lists exactly what it will write and asks you to confirm.

Tech stack

  • C#
  • .NET 8
  • WPF
  • PawnIO
  • ZenStates-Core
  • LibreHardwareMonitorLib

The source is private for now. I'm preparing the first release. License: GPL-3.0.

What's in it

  • Live clocks, temperatures, voltages and power, with ten minutes of history
  • DDR4/DDR5 timings read from the memory controller, and module SPD data
  • Power limits, Curve Optimizer, P-state editing and profiles
  • Stress test and WHEA hardware-error monitoring
ZenTimings.csOpen source · GPL-3.0

Fork of irusanov/ZenTimings · v1.40 → v1.44

ZenTimings (fork)

A fork of irusanov's ZenTimings. I added live sensors, a memory and cache benchmark, and reading of the tCCD_L timings on DDR5. I released ten versions in July and August 2026.

GitHub releases
10
commits
18
lines added
17,691

What's in it

  • tCCD_L, tCCD_L_WR and tCCD_L_WR2 read from the APOB
  • A benchmark that shows speed and latency of L1, L2, L3 and RAM in one table
  • A view with all memory channels side by side, also merged upstream
  • Turkish user interface
BestFreight.tsxIn-house · in production

Logistics ERP · web application

BEST Freight ERP

A web-based ERP I develop for an international road freight company. The office team runs trips, customs declarations, vehicles and accounting through it.

Tech stack

  • React 19
  • TypeScript
  • Vite
  • Tailwind CSS
  • TanStack Query
  • Node.js
  • Express 5
  • SQLite
  • PostgreSQL
  • Socket.IO

In-house software. I don't share its source code, screenshots or any company data.

What's in it

  • Import and export trips, CMRs and other documents
  • NCTS, GVMS/GMR, CDS and ICS/ENS customs integrations
  • GPS vehicle tracking and tachograph data
  • Accounting, trip profitability and e-invoicing

Open-source contributions

Changes I sent to other projects, or that were made after I reported something. Newest first.

  1. irusanov/ZenStates-Corecommit

    I noticed that some PM table offsets were shifted. irusanov updated the table and thanked me in the commit.

    05f9100 (irusanov/ZenStates-Core, opens in a new tab)
  2. irusanov/ZenTimingsmerged PR

    A view with the timings of all memory channels side by side, and a read-only debug report window.

    #106 (irusanov/ZenTimings, opens in a new tab)
  3. irusanov/ZenStates-Coremerged PR

    Code that reads the report version, core count and per-module timings from debug reports.

    #27 (irusanov/ZenStates-Core, opens in a new tab)
  4. irusanov/ZenStates-Corecommit

    The APOB layout for the Zen 5 APU extended block and CCDL (tCCD_L) was corrected. The commit thanks me.

    f8dce5b (irusanov/ZenStates-Core, opens in a new tab)
  5. deadfellow34/ZenTimingsreleases

    Ten releases on the fork. The changes of each one are in the changelog on the ZenTimings page.

    v1.40 → v1.44

Skills

The languages and tools I use, and the areas I work in.

"languages"
  • C#
  • TypeScript
  • JavaScript
  • SQL
"desktop"
  • .NET 8
  • .NET Framework
  • WPF
  • MVVM
"hardware"
  • AMD SMU
  • MSR / SMN / CPUID
  • PM tables
  • APOB
  • DDR4 / DDR5
  • SPD
  • WHEA
"web"
  • React
  • Node.js
  • Express
  • Vite
  • Tailwind CSS
  • TanStack Query
  • Socket.IO
"data"
  • SQLite
  • PostgreSQL
"tools"
  • Git
  • GitHub
  • pm2
  • macOS
  • Windows

Contact

You can reach me on GitHub or X.

If a value in ZenTimings looks wrong, two debug reports, one taken before changing the setting in the BIOS and one after, make the problem much easier to find.