STM32 Morse Code Translator
Overview
The STM32 Morse Translator project is an embedded software development endeavor built for the STM32 Nucleo Board. It implements a Morse code translator using UART serial communication and an LED indicator. The project was initially designed as part of the UBC Orbit Command and Data Handling (CDH) subsystem assignment but has since been enhanced and redesigned.
Features
The project showcases the following features:
- Blinking of the LD2 LED pin on the STM32L476RG board
- Communication with a computer terminal through UART serial communication
- Translation of an ASCII phrase to Morse code
- Display of the Morse code translation on an LED
Project Structure
The project is structured as follows:
- STM32CubeMX: Project files generated using the STM32CubeMX Graphical Tool Software
- Source Code:
main.candmain.hfiles containing the translated functionality - Serial Communication: UART peripheral set in blocking mode for communication with the user
- DMA Controller: Direct Memory Access (DMA) utilized for efficient data transfer between UART and memory
Build Tools
The project utilizes the following build tools:
- VSCode Editor: Configured with build and debug settings, integrated with Cortex-Debug extension for enhanced debugging capabilities
- Flash Executable: ARM GCC C Compiler, Make Automation Tool, and OpenOCD Debugger used for flashing the executable onto the STM32 Nucleo Board
Demonstration
For a demonstration of the project, please watch the video here.
The video showcases the input via keyboard and the corresponding output on the STM32 Nucleo Board. Additionally, an image demonstrates the UART communication to the terminal.
Credit
The project was inspired by a UART-DMA tutorial from the Controllers Tech YouTube channel.
Log in or sign up for Devpost to join the conversation.