About Me

I have graduated from the American University of Beirut (AUB) in Summer 2020 with a BE in Mechanical Engineering. My passion for science and technology has driven me to join the Robotics Club during my sophomore year. Ever since then, working on robotics and mechatronics projects is something I really enjoy doing during my free time. It is really the process of coming up with an idea or a solution to a problem, designing and manufacturing the prototype, laying out the electronics and finally writing the software that excites me the most.

Skills

  • Manufacturing

    Building prototypes and mechanical components using 3D-printing (SLA and FDM), CNC machining (Drilling, Turning, Milling, Boring) and Laser-cutting.

  • Electronics

    Programming micro-controllers, micro-processors and FPGAs. Integrating sensors, actuators and communication interfaces in complex electo-mechanical systems.

  • Software

    Programming in Python, C++, MATLAB, VHDL, Labview, C# and Kotlin. Making extensive use of librairies such as Tensorflow, Keras, OpenCV and Numpy. Performing data analysis on big data using Pandas, Matplotlib and Scikit-learn. Designing simple websites using HTML, CSS and JS.

  • Modeling and Simulation

    CAD designing using AutoCAD, Solidworks and Creo Parametric. Performing stress and motion analysis using Solidworks and Ansys.

  • IT

    Proficient in Microsoft Office, Adobe Photoshop, Adobe Illustrator and Techsmith Camtasia

  • Languages

    CEFR C2 in English, Arabic and French. CEFR A2 in German

Academic Projects

  • FPGA-based Camera Controller

    The goal of this project was to design a controller that would fetch pixels from a camera and stream images on an LCD screen in real-time. My role was to design a suitable camera controller which is capable of fetching pixels from the CMOS sensor using an I2C bus. It then operates on the pixels and stores them in memory. The design was implemented on an FPGA using Intel Quartus and NIOS.

    Watch Demo See Presentation See Repo.
  • Tell me how you speak and I won't tell you who you are - A Data Story

    The goal of this project was to explore the possibility of estimating the socio-culture attributes of a speaker based on the lexical features extracted from quotes. To do so, the "Quotebank" dataset which includes millions of quotations-speaker pairs was coupled to the Wikipedia API to generate a usable dataset. Data cleaning was required to ensure consistency in the data. An exploratory analysis was performed first followed by a dimensionality reduction and a k-means clustering. Finally, different machine learning models were trained to estimate the socio-cultural features of speakers.

    Read Data Story See Repo.
  • Holohover, a miniature air-hockey robot

    The goal of this project was to design, build and control a miniature hovercraft that would be placed on an air-hockey table. The robot should intercept an incoming puck and deflect it. The robot has to be light enough and should meet time, velocity and position constraints. A cascaded controller consisting of three low-level PIDs running in parallel and a high-level MPC controller. The software was implemented on ROS2.

    Watch Demo See Repo. Read Presentation
  • TidyApp, a cooperative cleaning app

    The goal of this project was to design and build an Android application using Kotlin that would allow flatmates in a flatshare to seamlessly coordinate cleaning tasks. It would also allow new comers to get introduced to all the different features of the house as well as the cleaning specifications by simply holding their phone upright and walking in the apartment. Google's ARcore as well as Sceneform API were used to implement the Augmented Reality feature.

    Watch Demo See Presentation. See Repo.
  • Autonomous Indoor Drone

    The goal of this project was to implement an algorithm on the CrazyFlie drone that would allow it to navigate autonomously in an indoor space using range sensors and optical flow. The code was written in Python

    Watch Demo See Presentation
  • Autonomous Mobile Robot

    The goal of this project was to program a mobile robot such that it could navigate its way autonomously to a pre-defined target avoiding static and dynamic obstacles on its way. The robot relies on a Kalman Filter which combines state estimates using a model and a top-view camera reading for localization. As a team member, I have worked on the path planning algorithm and the PID position controller.

    Watch Demo
  • Tensegrity-Based Morphing Wing

    As part of my semester project at EPFL, I have explored the feasibility of tensegrity-based morphing wings through the design, manufacturing and testing of a prototype wing with morphing capabilities.

    See Presentation
  • Camera Calibration from Natural Images using DL

    During my undergraduate studies, I have participated in a joint research project between the American University of Beirut and University of Waterloo. A neural network leveraging the traditional methods in camera calibration was designed allowing a user to estimate the camera intrinsics using a set of natural images.

    Link to Publication

Side-Projects

  • ShawarmaShack - A "Hot-Dog Bush" inspired game with an arabic twist

    After developing an interest to game development, I decided to purchase a game development course on Udemy and get my feet wet. Back when I was kid, I used to spend hours playing "Hot-Dog Bush" on MiniClip and so I decided to build my own but with an arabic twist.

    Watch Demo
  • 3DOF Parallel-Axis CNC

    Following the emergence of "All-in-one" 3D printers on Kickstarter in 2018, I have decided to give it a shot myself. The robot can draw any image uploaded on MATLAB using a modified version of a G-code. The algorithm converts an image into a set of (x,y,z) coordinates and then maps each point to a set of joint angles for the different stepper motors.

    Watch Demo
  • Self-Balancing Assistant Robot

    In an attempt to explore the marvels of a PID control in practice, I have decided to build a self-balancing robot using a RaspberryPi, a gyroscope and two stepper motors. The end goal was to control the robot remotely using hand gesture and feedback from the camera mounted on the robot's head

    See Repo.
  • Spider-inspired Robot

    As part of the IEEE 2018 Hackaton, my teammates and I have decided to build a quadruped robot that can be used for the inspection of tight spaces such as ventilations and electrical systems.

    Watch Demo
  • Voice-Controlled Remote Control

    In an attempt to give my "non-smart" devices a lift, I have built a voice-controlled IR transmitter that is capable of converting any standard IR-controlled device into a voice controlled smart device. An ESP-32 microcontroller connected to the wifi was used as an interface between the mobile phone and the device. IFTTT and Blynk were used to make the IR-transmitter compatible with google assistant.

    Watch Demo
  • Smart System for Beehive Monitoring

    As part of the AUB FYP accelerator program, HiveaMate was born. HiveMate is an intelligent device, which relies on computer vision and artificial intelligence, unlike other smart hive accessories, to save time and avoid losses in bees and honey, because HiveMate facilitates the beekeeping process by carefully mimicking what beekeepers usually do.

    Watch Accelerator Pitch Watch Product Demo

Mechanical Engineering Tutor

Given the changes that have resulted from the Covid pandemic and my four-year experience in tutoring university students, my colleagues and I have partnered up and launched an e-learning platform, 01TUTOR. The website offers on-demand pre-recorded videos for engineering, sciences and business courses. The videos are designed to respond to students' need for a structured and concise course content which provides simple explanation and detailed guidelines for problem solving. I am currently offering courses related to Thermodynamics and Dynamics.