A full-stack embedded-to-3D pipeline that translates physical motion into a real-time 3D environment. The STM32 reads raw angular velocity from an L3GD20H gyroscope via SPI, transmits parsed data over UART, and a multi-threaded Python script animates a 3D F-15 aircraft model in Blender with zero perceptible latency.
Bare-Metal SPI: Uses STM32 HAL for efficient burst reads, capturing X, Y, and Z axes simultaneously.
Optimized UART: Fixed-point arithmetic formats and transmits sensor data, intentionally bypassing heavy floating-point printf to save MCU flash.
Real-Time Integration: Converts raw angular velocity (Β°/s) into absolute Euler angles (Pitch, Roll, Yaw) on the fly using numerical integration: ΞΈ_current = ΞΈ_previous + (Ο Γ Ξt).
Multi-Threaded Engine: Background daemon thread + Blender Modal Operator parses live serial data without freezing the 3D rendering UI.
Deadband Filtering: Customizable noise threshold prevents model drift from inherent sensor noise.
gyro_spi_read.c
/* Burst-read X, Y, Z angular velocity registers via SPI */uint8_ttx_buf[7]={0xA8|0x80|0x40};/* auto-increment + read */uint8_trx_buf[7];HAL_SPI_TransmitReceive(&hspi5,tx_buf,rx_buf,7,HAL_MAX_DELAY);int16_traw_x=(int16_t)(rx_buf[2]<<8|rx_buf[1]);int16_traw_y=(int16_t)(rx_buf[4]<<8|rx_buf[3]);int16_traw_z=(int16_t)(rx_buf[6]<<8|rx_buf[5]);
Al-Midan is a full-stack application that connects student athletes across Moroccan universities. It facilitates spontaneous sports event organization β matching players, balancing teams, and coordinating campus field reservations in real time.
The platform tackles student isolation and promotes physical well-being by making pickup games as frictionless as sending a message.
Smart Matchmaking: Auto-balances teams based on player skill scores and reliability ratings derived from post-match feedback.
Location-Aware: Surfaces nearby matches and available campus fields using geolocation.
Real-Time Updates: Firestore subscriptions push live player counts and match status changes instantly.
Venue Integration: Partner sports complexes appear in-app with availability, pricing, and student discounts.
Trust System: Post-match reporting identifies toxic behavior and maintains community quality.
Why It Matters
University life in Morocco often leads to sedentary habits and social isolation. Al-Midan leverages the neurobiological benefits of group sports β endorphin release, cortisol reduction β as a healthy alternative to excessive screen time. Initial projections target 11,000+ users across Rabat’s 35 universities within the first semester.
Cloud AI Monitor is a production-grade AIOps platform built during an internship at CIRES Technologies (Tanger Med). It monitors hybrid cloud infrastructure across OpenShift and OpenStack, detects anomalies using a custom mathematical AI model, predicts resource exhaustion, and executes autonomous remediation β all without human intervention.
A real-time face recognition access control bridge built for INPT. The system captures frames from a camera (webcam or ESP32-CAM), identifies enrolled faces via AWS Rekognition, and triggers a servo on the ESP32 to unlock a door. All access events are logged to SQLite with timestamps and confidence scores.
A complete IoT pipeline for agricultural field monitoring, from raw sensor data on an
STM32 microcontroller, through an MQTT broker, to a real-time web dashboard.
The system monitors soil moisture, ambient temperature, and humidity, triggering alerts
when values cross configurable thresholds.
The STM32 firmware reads sensors via ADC and I2C, packages readings into a JSON string,
and sends them over UART to the ESP8266 co-processor every 5 seconds.