Experience

Broad embedded experience across many processor families and product types.

Nearly four decades of hands-on software engineering, mostly in C and C++, from low-level firmware through to PC tools and diagnostics.

Microcontrollers & processors

Experience with 8, 16 and 32-bit targets including ARM Cortex devices, STM32, Nordic devices, AVR, STM8, PIC, 68K, Z80-class systems and bespoke embedded processors.

RTOS and bare-metal

Work across bare-metal firmware and RTOS systems including FreeRTOS, ThreadX, Zephyr and small cooperative scheduler designs.

Interfaces and peripherals

Hands-on development with UART, SPI, I2C, GPIO, ADC, timers, SDIO, USB HID, wireless modules, bootloaders and production programming tools.

Debugging approach

Comfortable working from schematics and datasheets, using debuggers, logic analysers, oscilloscopes and test scripts to find practical root causes.