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.