Open to Summer 2027 mechatronics internships
Iliya Ghamoushi Resume

Mechatronics & Management Engineering · McMaster University

Iliya Ghamoushi

I'm a third-year mechatronics student who likes building things that move, light up and respond. I've programmed embedded systems, built a 10-speed transmission controller in Simulink, and done residential and commercial electrical work. I just joined McMaster EcoCAR's Propulsion Controls & Modeling team.

Looking for a Summer 2027 mechatronics internship (May to August)
GPA
11.4 / 12.0
Standing
Dean's Honour List 2025
Based in
Hamilton & Toronto, ON

Nyan Cat Runner, my embedded systems term project, rebuilt for the browser. Tap the screen, press the button or hit Space to jump.

Jump
All projects Project 1 of 6
EcoCAR PCM development challenge · Sept to Oct 2026 · Two-person team

A 10-speed transmission controller in Simulink and Stateflow

PCM's entry challenge was to write the controller for a 10-speed automatic transmission. We were given the plant, a longitudinal vehicle model with an engine, torque converter and gearbox, plus a system specification. Our controller reads the gear lever, throttle, brake, vehicle speed and engine RPM, then decides the gear, the parking brake and the final throttle.

We wrote the requirements first, built the gear-selector logic as a Stateflow state machine, and verified it with automated tests linked to each requirement. We presented it to the PCM leads at the McMaster Automotive Resource Centre (MARC), and it earned me my spot on the team.

PParkGear 0, parking brake on. Only when |v| < 0.1 m/s.
RReverseGear −1. Only when v < 0.5 m/s.
NNeutralGear 0. Allowed at any speed.
DDriveGears 1 to 10. Only when v > −0.5 m/s.
  • MATLAB
  • Simulink
  • Stateflow
  • Requirements Toolbox
  • Simulink Test
  • Git
Requirements we built to
Park allowed|v| < 0.1 m/s
Parking actuator lock / release≤ 100 ms
Drive allowedv > −0.5 m/s
Reverse allowedv < 0.5 m/s
Neutral allowedAny speed
Engine speed window800 – 7250 RPM
0–60 mph target< 12 s
Throttle override per shift≤ 1 s
Automated test cases15
Problem

Engine stalled in Reverse

Engaging a gear at idle loads the engine through the torque converter, and RPM fell from 700 to about 250. We added idle throttle control at low RPM and tuned its threshold from 700 up to 1000 RPM.

Problem · found by me

Feedback wired to the wrong inputs

Speed, RPM and power were feeding the wrong controller ports. Our controller-only tests skipped the top-level wiring, so they never caught it. Lesson: test the whole system, not just the unit.

Problem · fixed by me

Tests that couldn't fail

Some test assessments had their timing backwards or no tolerance. I corrected them, added a 10–20 ms timing buffer, and cleaned up the requirement IDs and wording.

My part: reviewed the model integration and found the swapped feedback wiring, fixed the test assessments and requirement wording, and prepared our presentation.

All projects Project 2 of 6
MECHTRON 2TA4 · Embedded Systems Design I · Winter 2026

Nyan Cat Runner: an obstacle-avoidance game on a 16×2 LCD

Arduino Uno on a breadboard wired to a blue 16 by 2 character LCD showing PRESS START and BEST:0, with a hand on the pushbutton.
The full circuit: microcontroller, pushbutton, piezo buzzer and a 16×2 character LCD.

A side-scrolling runner on a character LCD. The cat dodges star obstacles that scroll in from the right, faster and faster. One pushbutton makes it jump, the game keeps your score and best score, and a piezo buzzer beeps faster as the speed climbs and plays a crash sound when you hit a star.

The main loop runs on a fixed 20 Hz tick. A fractional speed accumulator lets obstacles move less than one column per tick, so scrolling stays smooth even though the LCD can only draw whole characters. The sprites are custom 5×8 pixel characters.

SensePushbuttons for start and jump
ProcessFinite-state machine on a 20 Hz tick
ActLCD sprites and piezo audio
  • Arduino
  • C / C++
  • 16×2 LCD
  • Finite-state machine
  • Piezo audio
Timing and characteristics
Display16 × 2 character LCD
Game loop20 Hz (50 ms tick)
Scroll speed0.35 → 1.40 col/tick (4× ramp)
Jump airtime300 ms (6 ticks)
Obstacles on screen3 max
Obstacle spawningPseudo-random cooldown, random()
SpritesCustom 5 × 8 px characters
Best recorded score196
Overhead view of the breadboard, piezo buzzer, microcontroller and LCD showing PRESS START.
Idle: press start
Close-up of the LCD mid-game with the cat sprite on screen.
Running: cat sprite
Close-up of the LCD showing GAME OVER and S:196 B:196.
Game over: S:196 B:196
All projects Project 3 of 6
ENGINEER 1P13 · Integrated Cornerstone Design · Oct to Dec 2024

Automated airport luggage system

Inventor render of the final assembly: a black perforated frame with a white ramp feeding a bucket, a large and small gear, and the rotary actuator mount.
Final assembly: the ramp drops the bag into the bucket, and the geared actuator flips it onto the lower platform.
Engineering drawing titled Exploded View, ENGINEER 1P13, dated 12/4/2024, with numbered balloons and a parts list including the rotary actuator mount and support, top ramp, bucket supports, bucket and gears.
Exploded view and parts list, Dec 2024.

The brief: check passenger luggage in by ticket type (economy, business, layover) and move it from the conveyor platform down to the plane, using either a rotary or a linear actuator but not both. Our design catches the bag in a bucket, and a rotary actuator, geared up for torque, turns the bucket over so the bag slides onto the lower platform.

  • Project coordinator: ran meetings outside studio and logged every session
  • Programmed the layover sorting function in Python and helped finish the others
  • Built a Python GUI that displays flight and passenger data in real time
  • Made the engineering drawings for the rotary actuator support and bucket support in Autodesk Inventor, then 3D printed and reprinted parts

Next time: thinner bucket walls, to cut the load on the actuator and save material.

  • Python
  • Autodesk Inventor
  • Stepper actuator
  • Q-Arm
  • 3D printing
A magenta 3D-printed U-shaped bracket with four mounting holes in its base and a hole in each side wall.
3D-printed actuator support.
Python code that activates the stepper motor, then twice rotates it clockwise 1.2, waits 2 seconds, and rotates it counterclockwise 1.2.
Python test script that cycles the stepper motor back and forth.
All projects Project 4 of 6
EcoCAR CAV development challenge · Sept 2026 · Pair project

AntWorld: an energy-aware colony controller

In C++, we wrote one controller that picks every ant's move each step. The colony's food map is built only from what the ants actually sense, and every trip is planned on energy cost. Unseen terrain is assumed to cost the maximum, so the colony never commits to a trip it can't afford.

Each ant's decision, in priority order
  1. Scan every step, since scanning costs no energy.
  2. Deliver: an ant carrying food heads home. If it runs out on the way, the food drops closer to home for another ant to finish.
  3. Collect: otherwise, go to the known food with the cheapest full trip, ant to food to home.
  4. Last trip: if no full trip is affordable, carry the cheapest reachable food closer to home.
  5. Explore: if no food is known, head to the first unexplored cell.
  • C++
  • CMake
  • Git
  • Path planning
  • Debugging
Avg score, 100 seeds
23.8 → 35.4
Unfinished games
57 → 7
Results by change, seeds 1 to 100
ChangeAvg scoreUnfinished
First version: explore, collect, return23.857
Scan every step, sensor-only memory, cheapest trip, last trip35.482
Plan only on terrain already seen35.482
Spend leftover energy when stuck35.47

Biggest lesson: the largest gain came from a one-line bug. Ants only scanned when they weren't carrying food. A per-move debug log exposed it, and fixing it added 11 points to the average.

All projects Project 5 of 6
Power in the Community · Feb to Mar 2025 · Team coordinator

Modular guided cutting board

An assistive kitchen tool for a client with Usher syndrome, which limits her sight and hearing. The design had to be easy to use, high-contrast, easy to move around, low-cost and safe.

Attachable picket-style walls guide each cut, a roofed finger guard with stabilizing spikes protects her hand, and a custom knife handle keeps her grip steady and directed.

  • Team coordinator: logged every design studio and lab
  • Designed and modelled the knife handle in CAD; prototyped with 3D printing
  • Wrote the executive summary, problem framing and conceptual design sections, plus the testing plans

What testing taught us: using the board blindfolded showed how hard it was to use, so we redesigned the walls with slanted tops.

  • CAD
  • 3D printing
  • Assistive design
  • User testing
Prototype cutting board with alternating green and orange picket-style walls on a grey base, a black angled finger guard, and a black knife handle.
Prototype: picket guide walls, finger guard and the knife handle I designed.
All projects Project 6 of 6
First-year design project · Jan to Feb 2025 · Subject matter expert

Wastewater filter material selection

We chose a filter material for algae-choked treatment ponds in Tampakan, Philippines, targeting contaminants of 1 to 100 µm. We ranked candidates in Ansys Granta EduPack using material performance indices for carbon footprint and production energy, and selected UHMWPE fibre.

We estimated porosity by comparing the Young's modulus of porous and solid material from Ashby charts and the Granta database. At about 7.3%, the fibre keeps the strength it needs for filtration.

Estimated porosity
≈ 7.3%
Contaminant size
1–100 µm
  • Subject matter expert: managed and vetted the team's sources
  • Calculated the material performance index for minimum production energy
  • Wrote Python scripts to automate the porosity and fluid flow calculations
  • Ansys Granta
  • Python
  • Materials selection
  • Life-cycle analysis
Granta eco audit bar chart of energy and climate change contribution by life phase: material about 39 and 28 percent, manufacture about 40 and 49 percent, transport about 21 and 22 percent, with a small negative end-of-life potential.
Granta eco audit for UHMWPE: energy and CO₂ by life phase.
Now

McMaster EcoCAR

McMaster EcoCAR · Oct 2026 to present

Propulsion Controls & Modeling team member

EcoCAR is an Advanced Vehicle Technology Competition where university teams research, design and build next-generation vehicle technology, then integrate and test it on a real vehicle. A new competition is starting, and I'm on the team for Year 1.

I joined the Propulsion Controls & Modeling (PCM) sub-team after completing its development challenge. PCM builds Simulink models of the propulsion system and the control software that runs it, tested model-in-the-loop and hardware-in-the-loop before it runs on a real-time controller in the car.

Sub-team
Propulsion Controls & Modeling (PCM)
How I got in
PCM development challenge: a 10-speed transmission controller in Simulink and Stateflow
Focus this year
Propulsion modeling and controls in MATLAB, Simulink and Stateflow
Also completed
CAV development challenge in C++ (AntWorld)
Experience

Experience

  1. May – Aug 2026

    Operations Student

    CRH, Ontario Redimix · Toronto Portlands Plant
    • Supported dispatch and loading of concrete mixer trucks at a high-volume ready-mix plant, keeping delivery schedules accurate and on time.
    • Ran quality control tests on concrete batches (slump, air content and cylinder sampling) to check them against mix design specifications.
    • Studied concrete mix designs and their material proportions to support batching accuracy.
  2. Jan – Apr 2026

    Corporate Strategy Consultant

    Lobo's Eatery · North York, ON
    • Identified and segmented 80+ corporations within 5 km and built the outreach: flyers, emails and sales proposals.
    • Built a corporate catering CRM, FAQ and order forms, and researched competitor pricing to recommend a catering model that could scale.
  3. Jun 2023 – Aug 2025

    Sales Associate

    Sobeys · Clark & Hilda
    • Handled high-volume transactions accurately and de-escalated customer disputes.
    • Coordinated with the team to keep the store running smoothly at peak times.
  4. Aug 2021 – Jul 2023

    Apprentice Electrician

    SparkBusted Mobile
    • Installed and commissioned residential and commercial electrical systems, from high-voltage utility distribution to low-voltage lighting control.
    • Did circuit analysis and systematic fault-finding on wiring systems, following the Ontario Electrical Safety Code (OESC).

Clubs & awards

Engineering team

McMaster EcoCAR

Propulsion Controls & Modeling sub-team since Oct 2026, Year 1 of the new competition.

General Executive

McMaster Poker Studies Club

Executive team of a club built around poker strategy: probability, expected value and decisions with incomplete information.

Member

McMaster Iranian Student Association

Part of McMaster's Iranian student community and its cultural events.

Dean's Honour List, McMaster Faculty of Engineering2025
Calculus Award for the highest standing average, Thornhill Secondary School2024
Skills

Skills

Programming

  • C
  • C++
  • Python
  • MATLAB
  • Git
  • CMake

Embedded & electrical

  • Arduino
  • Character LCDs
  • Pushbutton & buzzer I/O
  • Finite-state machines
  • Circuit analysis
  • Fault-finding
  • Wiring to OESC

Design & fabrication

  • Autodesk Inventor
  • AutoCAD
  • 3D printing
  • Engineering drawings
  • Prototyping
  • Actuator integration

Analysis & lab

  • Ansys Granta EduPack
  • Excel
  • Data analysis
  • Experimental design
  • Rheological analysis
  • Concrete QC testing

Controls & simulation

  • Simulink
  • Stateflow
  • Requirements Toolbox
  • Simulink Test
  • Model-in-the-loop testing

Working style

  • Team coordination
  • Technical writing
  • Leadership
  • Adaptability
About me

About me

Outside the lab

I chose engineering because I like designing things and seeing them work in the real world. Outside class I stay active, spend time with friends and listen to a lot of music.

The photos are from night snowboarding with friends from my program and a visit to a farm, where I fed the sheep and goats.

On repeat
  • Phoebe Bridgers
  • Geese
  • Jane Remover
  • Frank Ocean

I recently saw Phoebe Bridgers live, and I really enjoyed the show.

Five friends in helmets and goggles holding snowboards on a lit ski hill at night.
Night snowboarding with friends from my program.
Iliya leaning over a wire fence holding lettuce, a carrot and an apple out to a sheep and a young goat.
Feeding the animals at a farm.
Contact

Hiring a mechatronics intern for Summer 2027?

I'm available May to August 2027 for roles in embedded systems, controls, electromechanical design or automation. Email is the fastest way to reach me.