Bojan Gavrilovic

Embedded Systems engineer

Toronto, ON · (905) 512-0160 · gavrilovicBojan72@gmail.com

"People who are really serious about software should make their own hardware"

- Alan Kay

Hi! my name is Bojan and I am an embedded systems engineer. Welcome to my personal website where you can learn more about my current and past projects. Feel free to contact me if you would like to collaborate on a project, or just learn more about me.


Summary

Senior embedded systems engineer with extensive experience designing, securing, and scaling production firmware for connected IoT devices deployed at scale.

I specialize in full-lifecycle firmware development, from hardware bring-up and low-level drivers through RTOS-based architectures, ultra-low-power operation, secure boot and over-the-air updates. My work has been deployed on tens of thousands of cellular IoT devices operating in security-critical environments.

In addition to core firmware development, I design the tooling and processes required to support production systems, including CI/CD pipelines, hardware-in-the-loop testing, automated manufacturing workflows, and secure key provisioning. I have a strong track record of applying firmware best practices including test-driven development, code quality metrics, and architectural reviews, to improve reliability and maintainability at scale.

I regularly operate in technical leadership roles, defining platform architecture, mentoring engineers, conducting design and code reviews, and coordinating cross-functional teams to deliver robust embedded systems from concept through deployment and long-term support.

Experience

Senior Embedded Software Engineer

Mueller Water Products

Mueller Water Products is a leading manufacturer of water infrastructure products and services across North America.

  • Architected and owned a production-grade cellular IoT firmware platform deployed across multiple product lines and tens of thousands of field devices.
  • Designed firmware spanning the full stack, including low-level MCU drivers, RTOS-based services, power management, and application-level logic.
  • Implemented core platform capabilities such as a secure multi-stage bootloader, ARM TrustZone-based isolation, encrypted storage, and TLS-secured cellular communication.
  • Designed ultra-low-power firmware using STM32U5 background autonomous mode, enabling multi-year battery life in harsh field environments.
  • Built and maintained a complete firmware release and security toolchain, including image signing, encryption, key provisioning, and secure factory flashing workflows.
  • Developed a scalable hardware-in-the-loop (HIL) test infrastructure using Python, Robot Framework, and Jenkins, enabling automated regression testing.
  • Modernized firmware development practices by integrating versioned builds, static analysis, and complexity tracking into the CI/CD pipeline to improve long-term maintainability.
  • Acted as a technical lead within the firmware team, performing architecture reviews, mentoring junior engineers, and defining best practices for production firmware development.
March 2021 – Present

Lead Firmware & Hardware Engineer

Autzu Inc.

Autzu is a mobility technology startup developing connected vehicle and fleet management solutions.

  • Led end-to-end design and delivery of the company’s first vehicle telematics platform, from early prototypes through production deployment.
  • Designed and implemented embedded firmware for LTE, GPS, Bluetooth, CAN, and sensor subsystems, supporting real-time data collection and remote vehicle control.
  • Developed custom bootloaders and OTA update mechanisms to support in-field firmware upgrades.
  • Designed supporting hardware subsystems, including power management, cellular, GNSS, and vehicle interfaces.
  • Managed technical execution across firmware and hardware disciplines, leading design reviews and coordinating cross-functional development.
  • Led hiring and mentorship of junior engineers, establishing development standards and improving team velocity.
June 2019 – March 2021

Research Engineer

KITE Research Labs | Toronto Rehabilitation Institute
  • Designed and prototyped wearable embedded systems for physiological data collection in clinical research settings.
  • Developed both hardware and firmware, gaining early experience in low-power design, sensor integration, and experimental validation.
October 2016 – June 2019

Projects

Cellular IoT Platform for Water Infrastructure Monitoring

Developed production firmware for a battery-powered cellular IoT platform used in municipal water systems for leak detection and pressure/flow monitoring. Built fully custom firmware across STM32L4, STM32U5, and PIC32 MCUs using FreeRTOS. Implemented firmware for cellular connectivity, GPS, ADC, Accelerometer and system power management, enabling reliable long-term field operation.

Connected Vehicle Telematics Platform

Designed and built a vehicle telematics platform enabling remote vehicle control (lock/unlock) and real-time telemetry. The system was based on an STM32L4 MCU running FreeRTOS, and integrated LTE, GPS, Bluetooth, and OBD communication interfaces.

Wearable Device for Sleep Apnea Detection

Designed and built a wearable device to diagnose sleep apnea using a bare-metal STM32 firmware architecture. The system captured breathing sounds via a neck-mounted microphone and monitored sleep position and heart rate using an IMU. Implemented an SD card–based file system to store long-duration audio recordings for offline analysis.

Multi-Frequency Bio-Electrical Impedance Measurement Device

Designed and built a bare-metal STM32-based wearable device to perform bio-electrical impedance analysis across frequencies ranging from 50 kHz to 1 MHz. Implemented precision signal generation and measurement firmware to support accurate multi-frequency impedance acquisition in a compact, wearable form factor.


Education

University of Toronto

Masters of Science
Clinical Engineering
September 2014 - August 2016

McMaster University

Bachelor of Engineering
Electrical & Biomedical Engineering
September 2010 - August 2014

Skills

Programming Languages & Tools
  • C/C++
  • FreeRTOS
  • Unity
  • Arm
  • Python
  • Make
  • Linux
  • WSL
  • GCC
  • Jenkins
  • Robot
  • Git
Chipsets
  • STM32L4
  • STM32U5
  • STM32F4
  • PIC32
  • MSP400
  • UBLX M10/M8
  • Sierra HL78XX
  • Sierra RC76XX
  • Quectel BG95
  • Quectel EG916
Workflow
  • Test-Driven Development
  • JLINK & printf Debugging
  • Cross Functional Teams
  • Agile Development & Scrum
  • CI/CD Pipelines

Resources

These are some of my favourite embedded design resources. These include podcasts and blogs that I enjoy to follow. I hope you find them as useful as I do.

Podcasts

Blogs