
Ethan
Ieong
Computer Engineering at Toronto Metropolitan University. I write firmware and robotics software close to the hardware — control loops, sensor drivers, and the boards they run on.
Experience
Sep 2026 — Dec 2026
Firmware Developer Intern
The Home Depot Canada
Dec 2025 — present
Research Assistant
Intelligent Systems & Robotics / Micro Manufacturing Lab, TMU
Control and perception software for a Unitree G1 humanoid.
Sep 2024 — present
Control Systems Project Manager
MetRocketry Design Team
Software Lead from 2025, Project Manager from 2026. Avionics and active roll control for a student-built rocket.
May 2025 — Aug 2025
Software Developer Intern
First Insurance Funding of Canada
Triaged 500+ static analysis findings across OWASP Top 10 categories and remediated path traversal and SQL injection in a production .NET system.
May 2024 — Aug 2024
IT Support Intern
First Insurance Funding of Canada
Automated Excel reporting and data pulls in Python.
2023 — Apr 2028
B.Eng. Computer Engineering
Toronto Metropolitan University
Projects
C++ROS2MoveIt2Unitree SDK2
Unitree G1 humanoid control stack
Finite state machine and polymorphic behavior interface so new robot behaviors drop in as self-contained modules. Depth and color streams map detected objects into robot-frame coordinates, and MoveIt2 plans collision-aware dual-arm motion from live obstacle geometry.
- 500 Hzcontrol loop
- < 50 msmotion plans
- 82–92%detection confidence
CSTM32FreeRTOSCortex-M4
Rocket avionics and roll control
Roll-stabilizing fin control with a Linear and Extended Kalman Filter for state estimation. SPI and I2C drivers are paced by interrupt pins and binary semaphores rather than polling, with mutexes protecting shared buses.
- 10 msactuator latency
- 316 µsaltitude update
- 2 mssensor acquisition
KiCadLoRaSDIO
Flight computer PCB
Four-layer board with dedicated power and ground planes carrying an IMU, GPS and barometer over SPI, UART and I2C. RF traces are impedance matched to keep EMI down, and the microSD socket is placed to suit the MCU pinout so the SDIO bus stays length matched.
- 50 ΩRF traces
- 2.5 mmSDIO length match
- 45k fttelemetry ceiling
Isaac SimReplicatorYOLOv8
Synthetic data pipeline for grasp detection
Domain randomization over lighting, object pose, materials and camera angle to build a labelled training set, with an export step that writes annotations straight into YOLOv8 format.
- 2,000+images generated