top of page

Create Your First Project

Start adding your projects to your portfolio. Click on "Manage Projects" to get started

Real-Time Morse Code Decoder as Embedded Neural Network

Date

Sep 2024 - Dec 2024

Tools & Technologies

TensorFlow, STM32F091RC, Xilinx Vivado, Vitis, MicroBlaze softcore processor, Embedded C

Built a neural network–based decoder to translate real-time Morse button-press sequences (A–J + unclassified) into text, deployed on both an STM32F091RC microcontroller and a MicroBlaze/FPGA system.

The process spanned data collection (timing data via GPIO interrupts + µs timer), model training (normalized features, label encoding, lightweight MLP with ReLU, dropout, Adam optimizer, early stopping, ~85% accuracy), and weights/bias extraction into a C header for embedded use.

On the STM32, implemented the full inference pipeline in bare-metal C (manual matrix–vector multiplies, ReLU, softmax, timer-based benchmarking), while the MicroBlaze deployment required a custom Vivado/Vitis hardware–software co-design (AXI Timer, GPIO, Interrupt Controller).

Beyond demonstrating embedded ML deployment across two hardware targets, the project served as a benchmark workload for evaluating hardware acceleration tradeoffs in my broader research.

Check out video demos of the project below:

bottom of page