This website uses cookies

Read our Privacy policy and Terms of use for more information.

Engineering was not something I planned. It happened gradually, shaped by a father who built things with his hands, a school that demanded excellence and a series of decisions I had to make on my own when the path was not obvious.

My father was a mechanical and refrigeration engineer. I would go to work with him during school holidays and watch him diagnose faults in equipment that other people had given up on. He was calm, methodical and deliberate. He had a phrase he returned to often: always strive to make things better. I did not fully understand what that meant when I was young. I do now. In 2021 I lost him. Losing him was one of the hardest things I have been through. It was also a turning point. Engineering became the way I carry that mindset forward.

Why hardware and software together.

I build at the intersection of hardware and software because neither alone is enough.

A system that works in code but fails on real hardware is not finished. A circuit that cannot be controlled intelligently is limited. The interesting problems live where the two meet. The moment a sensor reading crosses a threshold and triggers an alert on a live dashboard. The moment a firmware state machine responds to a physical button press in under a millisecond. The moment a signal propagates from a PCB through a data pipeline into a machine learning model and back to a human who can act on it.

That is the class of problem I want to work on. It requires understanding both sides well enough to reason about what happens at the boundary.

What I am building right now.

Phaemos is a full-stack predictive maintenance platform. It collects real-time sensor data from four embedded hardware nodes, runs every reading through an Isolation Forest anomaly detection model and surfaces results on a live Next.js dashboard with automated maintenance ticket workflows. The hardware layer spans an ESP32 primary gateway with 11 sensors, an STM32 Black Pill running FFT vibration analysis at 100 Hz in bare HAL C, an Arduino Nano as a secondary sensor node and a Raspberry Pi Pico 2W running MicroPython independently over Wi-Fi. The FastAPI backend processes every telemetry POST in under 200 ms. The ML model is unsupervised: it learns the normal operating envelope and scores every reading from 0 to 1. Scores above 0.7 trigger an alert and auto-generate a maintenance ticket.

The name comes from Ancient Greek. Phaen means to reveal. The tagline is: reveal before failure.

avr-zac is a deliberately low-level project. I am writing bare metal C directly against hardware registers on an ATmega644P microcontroller with no framework between me and the silicon. No Arduino. No HAL. Just the datasheet and the code. The current milestone is a nine-mode state machine: Chase, Blink All, Alternate, PWM Fade, Knight Rider, Binary Counter, Random seeded from ADC noise, a Reaction Game and a Tetris Melody with buzzer and LED synchronisation. Each mode was built with a full understanding of every register involved before the code was written.

Both are ongoing. That is the point. Engineering is not a destination.

What this newsletter is.

Honest write-ups on what I am building, what I am learning and what actually goes wrong. No filler. No clickbait. Just engineering and tech from someone living it.

What are you building right now? Hit reply and let me know. I read every response.

Zac

Reply

Avatar

or to participate

Keep Reading