A custom System-on-Chip(SoC) metal detection soft microcontroller implemented on an Artix-7 Basys3 Board. The objective was to excercise hardware-firmware co-design, bridging the gap between deterministic hardware and the development speed/flexibiity of firmware. By partitioning the workload, the system processes data in real time, achieving a flawless 15/15 detection rate during live demos
The core sensing logic was implemented in HDL (see the tech stack). Rather than relying on a standard hard-core processor for real time signal processing, the physical logic gates of the FPGA are configured into a soft-core MicroBlaze processor to detect the inductance changes from an external metal detection circuit caused by passing metal.
The implementation of a mealy-type Finite State Machine programmed on Vitis Unified IDE, the application handles state management, filtering via an EMA Filter, debouncing via lockout counter and handling edge cases so no false readings are read.