Skip to content
View Tech-Matt's full-sized avatar
:shipit:
Programming
:shipit:
Programming

Highlights

  • Pro

Block or report Tech-Matt

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Tech-Matt/README.md

⚡ Hi, I'm Mattia Rizzo

Here to build and experiment with computing systems from hardware to software.

FPGA & RTL · Embedded C · Computer Architectures · Edge AI · Linux

LinkedIn Blog YouTube Email


About me

Hello! :)

I am an Embedded Systems MSc student who enjoys to understand how low level systems work, both hardware, or pure software ones.

Most of my projects begin with the same question:

How does this work? How can I replicate / modify it?

That curiosity has led me to work on FPGA processors, low-level firmware, real-time systems, hardware measurement architectures, Linux utilities, TinyML applications, and, more recently, a Transformer inference engine written from scratch in C.

I am especially interested in the boundary between digital hardware and low-level software: how architecture, memory, timing, and implementation choices shape the behaviour and performance of a system.

Note

Currently working on: a Transformer inference engine in C for resource-constrained systems, while studying efficient AI inference.


My Projects

Transformer Inference Engine

A Transformer inference engine written from scratch in C.

The goal is not only to reproduce the model mathematically, but to understand how the transformers inference process can be optimized to run on tiny embedded systems. In this regard, optimizations are made on: tensor layouts, memory allocation, numerical operations, execution order, and performance trade-offs.

What it involves

  • Transformer inference implemented without a high-level ML framework
  • Explicit tensor and memory management
  • Attention, masking, normalisation, and feed-forward layers
  • Focus on clarity, correctness, and eventual optimisation
  • Exploration of embedded deployment constraints

Technologies: C Machine Learning Embedded Inference Computer Architecture

View repository →


Digital hardware and computer architecture

FPGA RISC-V CPU

A non-pipelined RV32I processor implemented in VHDL.

The project covers the main components of a basic processor, including the datapath, control logic, register file, ALU, instruction decoding, and memory interface.

It was built as a practical way to connect ISA-level concepts with their hardware implementation on an FPGA.

Technologies: VHDL FPGA RISC-V Computer Architecture

View repository →

FPGA Time-to-Digital Converter

My bachelor thesis and internship work focused on the design and characterisation of a Time-to-Digital Converter on a Xilinx Artix-7 FPGA.

The system used a 200 MHz clock and approximately 800 timing bins, with automated delay sweeps and statistical analysis of the measured timing distribution.

I also worked on host-side acquisition and analysis software for calibration, centroid estimation, and DNL evaluation.

Technologies: FPGA Digital Design Timing Measurement MATLAB .NET

The implementation is not public, but the project represents one of my main hardware-design experiences.


Embedded software and real-time systems

RTOS for the TI MSP432

A small real-time operating system written in C for the TI MSP432.

I built it to better understand how scheduling, task management, interrupts, timing, and context handling work below the level of a commercial RTOS.

Technologies: C MSP432 RTOS Bare Metal

View repository →

Embedded Display Driver and HAL

During an internship, I worked on a C driver and hardware abstraction layer for a proprietary embedded display.

The work involved register-level interaction, hardware communication, interface design, debugging, and integration with the surrounding firmware stack.

Technologies: C Firmware Device Drivers HAL

The source code is proprietary and cannot be published.

Arduino TinyML Gesture Recognition

A TinyML pipeline for recognising hand gestures using the Arduino Nano 33 BLE Sense Lite.

The project covers data collection, preprocessing, model training, and deployment on a constrained embedded target.

Technologies: TinyML Arduino Embedded AI Sensors

View repository →

Embedded and Bare-Metal Experiments

A collection of smaller experiments involving microcontrollers, low-level C, hardware interfaces, interrupts, timers, and system-level behaviour.

These projects are where I test concepts before integrating them into larger systems.

Topics: Bare Metal Interrupts Peripherals Low-Level C

Browse repositories →


Systems, tools, and experiments

Lecture Shortener

A terminal-based tool that analyses recorded lectures and removes low-information segments.

The project combines speech-to-text, local language-model processing, timestamp analysis, and FFmpeg-based video reconstruction.

I am developing it as both a practical tool and a way to study local AI workflows and systems programming.

Technologies: Zig Speech-to-Text Local LLMs FFmpeg

bright-rs

A lightweight Linux backlight controller written in Rust.

I built it as a small systems-programming project to learn Rust while interacting directly with Linux system interfaces.

Technologies: Rust Linux CLI

View repository →


Technical interests

C C++ Rust VHDL Verilog RISC-V Linux Python MATLAB Git

Main areas

  • Digital hardware: FPGA, RTL design, VHDL, Verilog, RISC-V, Vivado
  • Embedded software: C, C++, Rust, bare metal, RTOS, device drivers
  • Systems: Linux, operating systems, computer architecture, performance analysis
  • AI: Transformer inference, TinyML, embedded AI, hardware-aware inference
  • Tools: Python, MATLAB, Git, Docker, QEMU

What I am looking for

I am continuing my MSc in Embedded Systems at Tampere University and I am interested in opportunities involving:

  • FPGA and RTL design
  • Firmware and embedded software
  • Computer architecture and SoC development
  • Edge AI and efficient inference
  • Low-level systems programming

I am particularly interested in internship, thesis, and junior roles in Tampere or fully remote within the EU.


Elsewhere

I use GitHub to document projects, experiments, and what I learn while trying to understand computing systems a little more deeply.

You can also find me here:


Per aspera ad astra.

Pinned Loading

  1. transformer-inference-engine transformer-inference-engine Public

    A pure C implementation of a transformer inference engine

    C

  2. arduino-tiny-ml arduino-tiny-ml Public

    Hands gesture recognition model, Training + Deploy on Arduino Nano 33 BLE Sense Lite

    Jupyter Notebook

  3. bright-rs bright-rs Public

    A backlight controller for Linux written in Rust

    Rust

  4. rtos rtos Public

    (sort of) a real time os for TI MSP432

    C

  5. riscv-cpu riscv-cpu Public

    A RISC-V RV32I cpu implementation on the Zedboard FPGA.

    VHDL 1