KHALID ALZUBAIDI

COMPUTER ENGINEER — EMBEDDED · PCB · FPGA

▼ ENTER WORLD 01
World 01 · Sketch → System

EMBEDDED

Embedded is where you add things together — a new bus on an aircraft, a tilt sensor on a scale, a car that phones home. Every system starts as a sketch in a notebook. Keep scrolling: these draw themselves.

INDUSTRY — TEXTRON · AVIONICS

STM32 + ARINC — make the buses talk

STM32 · ARINC 429 · ARINC 825 · UART · LONG-RANGE LINKS

avionics bring-up @ Textron STM32 ARINC 429 ARINC 825 UART LONG-RANGE make the new bus talk to the old ones!
  • Brought a new ARINC data bus online on an STM32
  • Ran it beside UART and the existing long-range links
  • The real job: integrating the new protocol with everything already talking on the aircraft
FEATURED BUILD — TILT-COMPENSATED SCALE

Scale v2 — weigh it, and know how it sits

LOAD CELL · TILT SENSING · RS-422

scale v2 — weigh + tilt level ref. θ ≈ 3° m W = mg LOAD CELL IMU tilt AMP MCU firmware RS-422 data out ⇄ compensate for the tilt! true W ≈ W·cosθ
  • Weighs the load and measures the angle the platform sits at
  • Corrects the reading for tilt instead of trusting a level floor
  • Streams measurements out over an RS-422 serial link
  • Load and orientation fused together in firmware
TEAM BUILD — SMART CAR · CONNECTED

Smart car — drives, senses, phones home

RASPBERRY PI · ARDUINO · ESP32 · INTERNET / MQTT

smart car — drives + phones home ARDUINO PI ESP32 ULTRASONIC INTERNET MQTT · JSON Arduino runs the motors phones home over MQTT!
  • Raspberry Pi control loop in Python on Linux
  • Arduino C++ firmware driving sensors and motors
  • ESP32 pushes telemetry to the internet over MQTT, serialized as JSON
  • Whole car debugged over serial with Linux tooling

also on the bench —

Block Store

BARE-METAL C · K-STATE

  • Bitmap block allocator for a simulated OS store
  • Bit set / clear / test, flips, overlay mapping
  • First-fit allocation, pointer arithmetic throughout
World 02 · A Ground-Up Story

PCB

A little story about where boards come from. Open the notebook, fall past the margins into the page, and watch the ground come alive — grass, cattails and chip-trees under a blueprint sun. When the garden is ready, a board comes out of it.

once upon a time, an engineer opened a notebook — and fell right in…

inside, there was bare ground on the GND plane…

GND PLANE L1 C9 IC1 D1 C1 C2 IC3 COPPER POUR IC2 R1 Y1

…and when the garden was ready, a board came out of it.

FEATURED BOARD — GAME CONTROLLER · KICAD

Controller Board

KICAD · ARDUINO NANO · JOYSTICK · GPIO

JOY1 SW1 SW2 NANO REV A 96.0 mm · SCALE 1:1
  • Schematic and layout done start-to-finish in KiCad
  • Analog joystick wired into the Nano's ADC inputs
  • Every GPIO mapped by hand — buttons, axes, headers
  • From blank canvas to a routed, buildable board
U1 · LOGIC

Languages

  • Python — automation, control
  • C / C++ — firmware, systems
  • Java · C# — OOP, .NET
  • Verilog — gates & HDL
  • Bash — glue & tooling
U2 · I/O

Tools

  • KiCad — schematic & layout
  • Git · GitHub Actions — CI/CD
  • Wireshark · Postman
  • Linux (Ubuntu) · systemd
U3 · ROM

Education

  • B.S. Computer Engineering
  • Kansas State University
  • Graduated Dec 2024
  • Computer Design Lab · Networking · OOP · Microcontrollers
U4 · PWR

Experience

  • Textron — embedded systems
  • STM32 · ARINC integration · UART
U5 · CAL

Certification

  • PCB Design — Learn to Design Your Own Boards Udemy · wrapping up

the end ✦

World 03 · Insert Coin

FPGA

Past the paper there is only logic. I described an entire arcade game in Verilog and let 60 fps fall out of the gates — every sprite an 8×8 chunk of ROM.

↕ this level plays itself as you scroll — grab the cherry, hit the power pellet, rewind to replay

FEATURED — PAC-MAN ON FPGA

THE MACHINE, CALLED OUT

FPGA MMIO REGS register file VGA TIMING hsync · vsync · x,y counters SPRITE ROM MAZE ROM PIXEL MUX CPU · C gameplay code memory-mapped bus BUTTONS player input VGA OUT counters sweep every pixel C writes each sprite's X,Y ROMs hold the art + the maze
  • Verilog on the FPGA generates the VGA timing and video signal
  • Sprites and the maze live in on-chip ROMs, read out at pixel rate
  • A C program drives gameplay through memory-mapped registers
  • Hardware and software meet at the register file — that's the whole trick
SPRITE ROM · 8×8 DUMP
0x00
0x08
0x10
0x18
0x20
0x28
0x30
0x38
1UP  0000 HIGH  9999 CREDIT 1
+200
STAGE CLEAR

Watch the whole loop: pellets, power pellet, frightened ghost, revenge. Written in Verilog + C · memory-mapped I/O · VGA output.

BONUS STAGE

DINODINER — .NET

Full C#/.NET restaurant system with cart logic, tax and printable receipts. Real-time UI sync via INotifyPropertyChanged, dynamic menu filtering, and event-driven, object-oriented design.

META STAGE

THIS WEBSITE

You're inside it right now. Hand-built with HTML, CSS and JS — sketches that draw themselves, a notebook you fall into where a garden becomes a board, and sprites clocked out of a fake ROM.