Djordje carrying a competition rocket at a McMaster Rocketry launch
Portrait of Djordje Kokot

Embedded Enjoyer · Mechatronics Engineering Graduate · McMaster 2026

Hey I'm Djordje Kokot

Nerd that likes developing hardware and software. I stick to C for the most part but I learned to love Rust as it was my rocketry team's language of choice. I got to take custom hardware from conception to flight. I've messed around with FPGAs in my embedded systems course and still keep my Cyclone V-based DE-10 dev board to tinker. Besides my custom boards I have a box of all sorts of microcontroller families (STM32, ESP32, Arduino, FRDM, Raspberry Pi) dev boards which I use to dip my toes into different platforms. Currently racking my brain around a custom quadcopter flight controller + firmware.

Projects / "Experience"

Front of OZYS V3 data acquisition board Back of OZYS V3 data acquisition board

"OZYS V3" + "Epsilon" Custom DAQ Board

  • Rust
  • Embassy
  • STM32G474
  • KiCad
  • DMA
  • SPI
  • CAN
  • ADC
  • USB
  • Digital + Analog Design
  • Rocketry

Strain-measuring data acquisition system for rocket flight. OZYS V3 samples four ADCs at 22 kHz via DMA and logs to SD NAND over SPI, pairing with up to four Epsilon strain-gauge amplifier boards. An isolated CAN bus keeps failures away from the rest of the avionics, and USB streams logged data to a host PC. It captured live strain data on its first flight.

More details

I was quite fortunate to join the team when I did as OZYS and Epsilon were my first custom boards ever, and as luck would have it, OZYS was on its third iteration. V3 was the first iteration to successfully log data in flight. I developed both PCBs in KiCad and wrote the firmware in Rust using the Embassy async framework, which were all technologies I used for the first time. Before flight, I simulated the analog front-end in Simulink to verify the design performed as intended.

OZYS was designed to enable richer telemetry/flight-diagnostic data for future rockets. This board allows us to measure the relative mechanical deformation of any part as long as the strain gauge is calibrated properly. It provides a platform to measure fin flutter during test flights, allowing us to tune a design's performance.

Custom NEMA 23 Stepper Motor Controller

  • C
  • STM32G431
  • KiCad
  • Stepper Motor
  • SPI
  • Control
  • PWM
  • Rocketry

Custom stepper driver board for RoCam, a canceled custom AI-driven rocket-tracking camera winch system built toward Launch Canada 2026. An STM32G431 drives a NEMA 23 stepper through a DRV8844 quad half-bridge with low-level drivers written in C, and uses an MT6816 absolute magnetic encoder over SPI to provide position feedback. Board design integrates current sense amplifiers for both motor phases.

More details

I plan to return to this project to implement a full-fledged FOC Servo controller which in itself opens a world of opportunities. The original goal was going to run closed loop torque control with SimpleFOC, but the project got canceled before I got to write the code, so the SimpleFOC torque loop and RS485 interface were left to be implemented.

All the hardware was built and populated, and everything I've tested works. The STM32G431 drivers, DRV8844 open loop control, and MT6816 encoder over SPI are confirmed working on the bench.

"Blend-IQ" Capstone Project

  • C++
  • ATmega2560
  • I²C
  • PWM
  • Group Project

A fun display of what four Mechatronics engineering students with $0 in funding can pull off. We designed a smart smoothie machine: an ATmega2560 dispenses, measures, and blends a user-selected mix of fruit and liquid from a touchscreen interface. A custom dispensing mechanism weighs the cup with a load cell over I²C and counts dispenser rotations with a Hall-effect sensor, while ESCs drive the BLDC blending and dispensing motors.

The Endgame Hardware/SW Debugging + GCS board Backside of The Endgame board

"The Endgame" - an Electronic Swiss Army Knife

  • Electronics
  • KiCad
  • Group Project

Worked on a team of 5 to develop "The Endgame", a project that tripled as a hardware testing, debugging, and ground control station for the rocketry team. My contributions were the variable power supply with integrated current measurement for servo testing, and the on-board ST-LINK clone for programming and debugging the team's boards.

Pediatric Pneumonia xray

Pneumonia Detection Model Group Project

  • Python
  • PyTorch
  • Numpy
  • Group Project
  • COMPSCI 4AL3 Applications of Machine Learning

Worked on a team of 3 to develop a transfer-learning pneumonia detection model from pediatric X-ray images using Python, scikit-learn, PyTorch, and NumPy. I contributed to the image preprocessing steps and multiple baseline models, including a most-frequent-class predictor and a custom CNN, before moving to transfer learning with various pretrained architectures. The final fine-tuned ImageNet-based model achieved an F1 score of 0.95, 93% accuracy, and 96% recall. I also created the visualizations used for error analysis and understanding model performance.

VLMini Firmware ONLY

  • Rust
  • Embassy
  • IMU
  • SPI
  • DMA

I wrote the firmware for VLMini, a backup data logging board for McMaster Rocketry, in Rust using Embassy. Its job was to independently capture flight data so there was a second record if the primary avionics failed. It reads the IMU and streams the samples to SD NAND over SPI, using DMA to move the data so the CPU stays free instead of babysitting every transfer. The board has flown on competition rockets and logged real flight data.

Student number finite state machine circuit on breadboards

Student Number Finite State Machine

  • Digital Logic
  • J-K Flip-Flops
  • K-Maps
  • Sequential Logic
  • ENGPHYS 2E04 Analog and Digital Circuits

A finite state machine that cycles through my student number on a seven segment display, built from J-K flip-flops and logic gates. I worked out the minimum number of counter and memory bits the FSM needed, then used truth tables and 3D Karnaugh maps to minimize the logic. That cut down the number of chips and gates the circuit needed.

Resume

Trouble viewing it? Open the resume in a new tab.