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:



