Computer & Communications Engineering · AUB
Zouhair
El Koush

Embedded Systems & Hardware

BAJA SAE electronics lead  ·  AUB  ·  Beirut, Lebanon

Scroll
§ 00 · Field Notes

Who I am

"Where firmware meets cloud and where data becomes insight."

I'm Zouhair, a Computer & Communications Engineering student at AUB working in embedded systems and hardware. I lead the electronics of AUB's BAJA SAE car — three ESP32s covering data acquisition, the driver dashboard and pit telemetry — and I'm designing a multi-tool 3D printer that builds circuits inside printed parts.

The software follows from the hardware. I run the Red Room's print infrastructure end to end: the portal the engineering student body submits jobs through, the staff dashboard behind it, the Azure Functions API underneath, and the Raspberry Pi that drives the printers themselves over a dedicated LTE link.

Field-deployed · Not a toy

My projects are real systems — telemetry that has run on a race car, a print platform live inside AUB's makerspace page, a fleet of printers driven from a Pi, and a geometry-aware estimator validated against 52 real prints (and counting).

Embedded SystemsReal-time Data Motion Control3D Printing BAJA SAE RacingMachine Vision Cloud APIsCAD / Fabrication Signal ProcessingLinux
At a glance
3ESP32 boards on the car
40+sensor channels at 20 Hz
4printers driven over LTE
52prints validated against
University & work
Jul 2026 — present
LOOM
Personal project
Designing a four-tool desktop machine that prints parts with working circuitry inside them. Control electronics specified and costed; design at revision 2.
Fall 2025
Teaching Assistant — EECE 231
MSFEA, AUB · Introduction to Programming (Python)
Ran a weekly Python lab for a full semester: data structures, file I/O and problem-solving fundamentals, plus office hours and grading.
2024 — present
Head of Design & Manufacturing, JEDIs
AUB Makerspace — The Red Room
Guide student projects from concept to working prototype across mechanical and electrical disciplines. Also built and maintain the print portal, staff dashboard and Azure back end, and run a mixed Bambu / Creality / Elegoo fleet remotely from a Raspberry Pi 5.
2024 — present
Electrical & Electronics Systems Lead
AUB BAJA SAE Team, MSFEA
Own the electrical subsystem of a student-built off-road vehicle: a three-ESP32, three-board architecture, LiFePO4 and alternator power for 4+ hour endurance runs, and the subsystem design report covering 40+ sensor channels.
Sept 2024 — present
B.E. Computer & Communications Engineering
American University of Beirut, MSFEA
Electronic Circuits · Signals & Systems · Computer Architecture · Computer Networks · Numerical Methods.
§ 01 · Lab Notebook

Things I've built

Machines, the electronics that run them, and the software that makes them useful.

01
§ 01 · Multi-Tool Additive Manufacturing

LOOM

3D Printing with Embedded Electronics

In development · design rev 2

A desktop machine that prints a plastic part and builds working circuitry inside it — in one job, with no one touching it halfway through.

Four tools ride a single platform and swap automatically: an FDM hot end, a pneumatic paste dispenser, a vacuum pick-and-place head, and a probe with a camera. Most of the difficulty is not mechanical — it is getting one job to interleave printing, dispensing and placement.

CoreXYKlipperOpenPnP Machine VisionPneumaticsOnShape
4
Tools · one platform
8/2
Steppers / MCUs
<50µm
Z repeatability
Toolchanger V2 · live assembly
12.0 mmlock bar stroke
drag to orbit
Loading assembly…
1/8
Traverse in X
The yoke and its two lock bars run the rail together, stood off 30 mm in Y.
0.0 mm
Lock travel
02
§ 02 · Vehicle Electronics & Telemetry

BAJA SAE Electronics

Three Boards, One Race Car

Electrical & electronics lead · 2024 – present

I lead the electrical and electronics subsystem of AUB's student-built off-road race car — three ESP32s across three boards, covering data acquisition, the driver dashboard, and telemetry back to the pit over LoRa.

Power is LiFePO4 and an alternator, sized for 4+ hour endurance runs. Over 40 sensor channels stream at 20 Hz into a Python desktop client with live GPS mapping and post-race lap playback.

ESP32C / C++LoRa GPS / NMEAUARTPythonPyQt5
3
ESP32 boards
40+
Sensor channels
20Hz
Sample rate
BAJA DAQ live telemetry dashboard
BAJA DAQ post-race review
BAJA DAQ · live telemetry, 20 Hz over serial
03
§ 03 · Makerspace Platform

The RedRoom PMS

Print Management for the AUB Makerspace

In production · AUB MSFEA

The tool the engineering student body uses to get things printed. It runs inside AUB's makerspace page as an authenticated iframe — not a demo, a thing people use.

Staff work print queues, inventory, analytics and access control across seven permission-gated pages; students track their own jobs through a separate portal. Nothing renders until the session has been checked.

Azure FunctionsPythonVanilla JS JWT AuthREST APIGitHub Pages
500+
Jobs / semester
7
Gated pages
2
Subsystems
RedRoom print request queue
RedRoom student portal
RedRoom analytics dashboard
RedRoom printer maintenance log
RedRoom PMS · staff print queue
Subsystems of § 03  RedRoom PMS
03.1
03.1Subsystem of § 03 · Fleet Control

PCS

Printer Control System

The half of the platform that touches physical machines. Staff send a sliced G-code file, then pause, resume or cancel it — from a browser tab.

A Cloudflare Worker holds every secret server-side, so none reaches the browser. Behind it, a FastAPI relay on a Raspberry Pi 5 drives three Klipper printers over the Red Room's own 4G link. Their IP addresses drift on every power cycle, so the relay identifies each machine by MAC address and re-finds it on its own.

Raspberry Pi 5FastAPICloudflare Worker Cloudflare AccessMoonraker4G LTE
4
Printers online
MAC
Self-healing key
0
Secrets in browser
Red Room fleet · live status LTE · next poll 42s
PCS · browser → Worker → Pi relay → Moonraker
03.2
03.2Subsystem of § 03 · Computational Tool

3DPME

3D Print Material Estimator

Filament weight estimation without running a slicer — so the portal can quote a job the moment a student uploads it.

It reads the mesh itself: convexity, bounding-box fill, surface-to-volume and height ratio classify each STL, ZIP or G-code upload. Mean error is 3.14 g across 52 real prints.

PythontrimeshNumPy SciPyAzure FunctionsREST API
3.14g
Mean error
52
Prints validated
4
Input formats
Prediction Accuracy n = 52 prints
3DBenchy · sample print
drag to rotate
10.3g
Actual
10.68g
Predicted
+0.38g
Error · 3.7%
PLA
10% infill
Settings
3DPME · 3D Print Material Estimator · Azure Functions REST API
§ 03 · Toolkit

Tools of the trade

No self-assessed percentages — every entry below names the work it came from. Click a row to jump to the project.

Embedded & Hardware
ESP32
Three-board BAJA architecture — DAQ, dashboard, LoRa pit link
Arduino
LOOM control electronics — Mega 2560 + RAMPS, Nano + CNC shield
Raspberry Pi
Pi 5 running the Red Room printer relay over 4G LTE
GPS / NEO-6M
Live position and lap timing in the BAJA DAQ client
Sensor integration
40+ channels across the BAJA vehicle
3D printing — FDM / SLA
Mixed Bambu, Creality and Elegoo fleet; LOOM is a printer
Klipper / Moonraker
Two MCUs under one Klipper instance; Moonraker via the PCS relay
Software & Cloud
Azure Functions
RedRoom auth, permissions and KV APIs; the 3DPME endpoint
Cloudflare Workers
Holds the fleet API key and Access token server-side
FastAPI
The printer relay on the Pi, behind Cloudflare Access
REST APIs
Every service above, plus JWT session gating
Docker
Open WebUI and Bambuddy containers on the Pi
Google Cloud
Coursework and side deployments
Programming
Python
TA for EECE 231 · BAJA DAQ client · 3DPME · the Pi relay
C / C++
ESP32 firmware sampling and streaming at 20 Hz
JavaScript
RedRoom staff pages, student portal and Cloudflare Worker
HTML / CSS
This site, and every RedRoom page
Tools & Simulation
OnShape
LOOM toolchanger, frame and Z stack-up
PSpice / OrCAD
Electronic circuits coursework
Vivado
Digital design coursework
MATLAB
Signals & systems, numerical methods
Git / GitHub
Every project here; RedRoom deploys from GitHub Pages
Wireshark · Packet Tracer
Computer networks coursework
Linux
Ubuntu and Kali; Debian on the Pi 5 that runs the printer fleet
Languages
Arabic
Native
English
Fluent
French
Fluent — French Baccalauréat, GLFL
§ 04 · Correspondence

Let's connect

Whether you want to collaborate on an engineering project, talk embedded systems, or just say hello — my inbox is open.

Currently at AUB, Beirut — leading BAJA SAE electronics, running the Red Room's print infrastructure, and building LOOM.

Based in
Beirut, Lebanon · GMT+3
Reading
Computer & Communications Engineering · AUB, MSFEA
Working in
Embedded systems, motion control, hardware-to-cloud
Languages
Arabic native · English fluent · French fluent