Ryan Ward

Embedded Software Engineer
Version v2.0.0
Location Australia
rwardd@outlook.com.au Blog Resume LinkedIn GitHub

About Me

I am a passionate software/electronics/computer engineer. I have a formal education in electrical and computer engineering, however, most of my professional experience has consisted of writing firmware, software and gateware for a variety of applications. I am passionate about distributed systems, embedded programming, electronics, and wherever software interacts with hardware.

In addition to writing software, I have been involved with a lot of hardware verification and testing, including bringing up new PCBs, porting firmware drivers to new platforms and architectures, and debugging RF circuits. I have a strong understanding of embedded programming, integrated circuit operation, high-speed data protocols, radio frequency design & implementation, and design processes for complex projects, both in the software and hardware domain.

Outside of work hours, I spend my time working on some fun side projects, and I will try to start writing about interesting topics in my blog. I enjoy working on projects that improve my knowledge and skillset, examples include booting Linux on a softcore RISC-V processor, experimenting around with my HackRF PortaPack, learning Zig, writing a low-level operating system, the list goes on.

I love computers and their history - humanity’s progression from vacuum tubes to RTX 4090’s will always be something that fascinates me. Discovering historical and influential figures in the computing world is something I enjoy, and I admire the likes of Ritchie, Thompson, Knuth, Lattner, Stallman, Torvalds and Hotz to name a few.

Experience

Skills

Education

I hold a Bachelor’s (Honours) and Master’s degree of Electrical and Computer Engineering from the University of Queensland, Australia.

Projects

Zip RTOS
In an effort to keep up with the times, I wanted to learn the Zig programming language in a freestanding context. What better way than to try and write a simple baremetal RTOS? The project is hosted on GitHub, and still needs a lot of work.
So far, I have written a super basic task scheduler that will round-robin schedule an arbitrary number of tasks. I have spent most of my time understanding the RISC-V architecture and how different operating systems implement their context switching mechanisms rather than actually writing and learning Zig :D
Pico Mesh
A LoRa based mesh network that allows Raspberry Pi Pico modules to communicate with one another. Built on top of Zephyr RTOS, running on the RP2040 with a Semtech SX1276 LoRa module and a ST7789 OLED display.

Open Source Contributions

I have contributed to a few OSS projects, notable ones being the Rust compiler and their linting tool Clippy, the FreeRTOS-Kernel, and the STM32 USB-PD Core driver. I would love to fill this section out more in my spare time.

Shout-out

Huge thanks to Oskar Wickström for their article and template of which this website is built from. The source code for this website, and my blog, can be found on my GitHub.