Hello, my name is

Farhan Ishraq

About Me

Profile photo

I love challenges that push me to grow. In embedded systems, that means designing hardware and firmware that stay reliable under real conditions. In machine learning, it is experimenting with models and learning from the patterns they reveal.

Embedded Systems

Hands-on experience with microcontrollers, PCB design, and firmware development for real-time applications

  • C / C++
  • RTOS
  • STM32
  • Altium Designer
  • KiCAD
  • I2C / SPI / CAN / UART
  • VHDL
  • Oscilloscope & Function Generator

Machine Learning

Experience building neural networks, data pipelines, and model evaluation using PyTorch and TensorFlow

  • Python
  • PyTorch
  • TensorFlow
  • CUDA
  • OpenCV
  • Data Preprocessing
  • Model Training & Cross-Validation
  • Ensemble Methods

Performance Optimization

Optimizing code and hardware for efficiency in resource-constrained and real-time environments

  • MISRA / CERT Guidelines for Efficient Code
  • DMA & Interrupt Latency Tuning
  • RTOS Scheduling
  • Priority Inversion Handling
  • Energy Profiling & Low-Power Techniques
  • Static & Dynamic Analysis Tools

Robust System Design

Designing reliable hardware and firmware with fail-safe mechanisms and thorough testing for long-term stability

  • MISRA C / MISRA C++ Compliance
  • ISO / IEC Standards
  • Hardware-in-the-Loop (HIL) Testing
  • Redundancy & Watchdog Strategies
  • Memory Protection & RTOS Safety Features
  • Code Review & Static Analysis

My Story

From an early age, I have been curious about how technology works, always drawn to the mechanisms that power the world around us. That curiosity led me to pursue Engineering Physics at UBC, where I have developed skills in programming, circuit design, and system integration. I have found myself equally excited by two areas: embedded systems, where I work on building reliable hardware and firmware, and machine learning, where I explore how models can uncover patterns in complex data. Whether I am debugging an STM32 board in KiCad or training a neural network in PyTorch, I am motivated by the challenge of turning ideas into practical solutions. As I continue to grow, I am eager to deepen my expertise in both fields and push the boundaries of what I can build.

I invite you to explore some of the projects below, which showcase how my journey in engineering has transformed my passion into practical applications. Each project reflects my commitment to tackling complex engineering problems with creativity and rigor.

Work Experience

A journey through innovative companies, building cutting-edge embedded systems and AI solutions

Machine Learning Research Assistant

Supervised by Dr. Markus Roggen

January, 2025 - Present
Vancouver, BC

Building machine learning pipelines for cannabis chromatography research, transforming raw chemical data into predictive features and benchmarking neural network architectures to model aroma profiles.

PythonPyTorchCUDAPandasNumPyScikit-learnCross-ValidationEnsemble Methods
Firmware Developer Co-op

Shearwater Research Inc. logoShearwater Research Inc.

May, 2025 - Present
Richmond, BC

Engineered a next-generation depth simulator for dive computers with a custom 4-layer PCB and watchdog circuit, integrating I2C/SPI/CAN communications and implementing firmware in C/VHDL to automate dive computer testing.

CVHDLPythonSTM32I2CSPICANUARTAltium Designer
Hardware Engineer Co-op

Sierra Wireless (now Semtech) logoSierra Wireless (now Semtech)

May, 2023 - December, 2023
Richmond, BC

Optimized gateway hardware to cut power consumption by 40%, engineered fault-tolerant communication systems for 100% RS232/485 accuracy, and automated validation workflows to halve testing time.

PythonBashCSMD SolderingOscilloscopeFunction Generator
Power Team Lead

UBC Sailbot logoUBC Sailbot

September, 2022 - January, 2024
Vancouver, BC

Led a 6-member team to design a fault-tolerant power system and optimize energy efficiency, extending vessel survival by 30% through advanced MPPT algorithms and robust hardware design.

C++ChibiOSPythonPower ElectronicsPID ControlOscilloscopeFunction Generator
Product Engineer Co-op

Microchip Technology Inc. logoMicrochip Technology Inc.

January, 2022 - April, 2022
Burnaby, BC

Automated DDR5 clock jitter PVT testing with Python, improving measurement accuracy and repeatability while streamlining high-speed signal validation across environmental conditions.

PythonPVT TestingDDR5Eye DiagramsOscilloscopeSoldering
Software Developer

UBC Agrobot logoUBC Agrobot

September, 2020 - September, 2022
Vancouver, BC

Built computer vision and ROS-based control systems for an autonomous weeding robot, reducing chemical usage by 80% and improving sprayer accuracy by 90%.

PythonC++OpenCVROSMachine Learning

Featured Projects

Showcasing innovative solutions that combine embedded systems expertise with artificial intelligence

Education & Certifications

Academic foundation and continuous learning in embedded systems and artificial intelligence

Academic Background

University of British Columbia logo

Bachelor of Applied Science in Engineering Physics

University of British Columbia

Vancouver, BC2020 - 2026

Key Achievements:
  • Dean's List

Relevant Coursework

Data Structures & AlgorithmsSignals and SystemsQuantum and Statistical MechanicsAnalog CMOS Integrated Circuit DesignMachine Learning and Data MiningDigital Systems and Microcomputers