This project is a multi-parameter function generator developed by a four-person engineering team for an advanced embedded systems course. The system produces AC waveforms whose frequency, amplitude, phase, and waveform type can all be adjusted in real time by the user. The implementation integrates several embedded peripherals, including hardware timers, UART communication, GPIO interfaces, and DAC/output circuitry, allowing the microcontroller to compute and output continuous waveform samples with stable timing. Debugging was supported through structured print statements, and the final design was validated using lab instrumentation.
The firmware is organized into modular components that handle waveform generation, timing control, parameter updates, user input, and output formatting. The system demonstrates how multiple hardware modules can be coordinated within a real-time environment to produce clean and flexible signal outputs. Overall, this project highlights embedded software design principles, hardware–software integration, and team-based development within a practical engineering context.