My name is Evan Owens, and I am a third year Computer Engineering Student at the University of British Columbia. I am passionate about embedded systems, firmware development, and the semiconductor industry.
I currently work at Intel as a Firmware Engineer Intern, where I have gained experience writing hardware interfacing firmware applications and drivers for microcontroller cores. I also lead the Embedded Systems team at UBC Solar, in writing safety critical embedded software for our Fourth Generation solar car.
I am currently the Embedded Lead of UBC Solar. I lead a team of 5 in writing drive control, and telemetry firmware across four ECUs on a solar car. Recently, I have been focused on transitioning our team's build system and development environment to CMake and VS Code. I have also been updating our team's development flows to better match that of industry, including automated builds, unit testing, standarized debugging via JLink, and enforced code formatting.
Previously, I have worked on telemetry firmware to log and transmit CAN messages OTA, drive control state machines, and common code libraries such as a FreeRTOS based CAN Communication layer and a Debug Print library.
EvanRTOS is a custom Real Time Operating System built for ARM Cortex-M microcontrollers. It features a pre-emptive, Priority-Based Scheduler, Counting Semaphores, and Message Queues. It also supports task timeouts, and FPU context perservation during context switches.
A custom bootloader prototype built on the STM32 F411RE microcontroller. It allows for the external flashing of the Microcontroller with new binaries over UART, from a host application written in Python. This project was designed in order to gain the skills and expertise to integrate a full, proper bootloader at UBC Solar. In the near future, we plan to use this as a basis of a CAN Bus and perhaps even OTA bootloader for all the electronic control units on our car.
I've also built Autonomous Claw Algorithms for an Arduino Powered Robotic Claw, a Turing Complete RISC Machine in SystemVerilog, a Java based Image Processing program, and an System Verilog based IPod device, all in my Computer Engineering course work at UBC.
If you have any questions, please do not heisitate to contact me. You can email me at evancdowens@gmail.com or connect with me on LinkedIn here



