RobertGawron / DDSFunctionGenerator

A 6 MHz Direct Digital Synthesis (DDS) function generator, fully configurable via SCPI (Standard Commands for Programmable Instruments) protocol. Designed for precision waveform generation with flexible control through standardized commands.
MIT License
3 stars 3 forks source link
dds function-generator generator stm32 test-equipment

6MHz DDS Function Generator

This project is unfinished.

Component Tests Static Code Analysis

Summary

A function generator is a laboratory instrument used to generate various electrical waveforms. This project utilizes DDS DDS (direct digital synthesis), a technique that allows the creation of arbitrary waveforms from a single base frequency.

Current Version

The current version of the PCB uses components with 0402 (or similar) footprints. Use of these components wasn’t the best choice - they're too difficult to solder, and there was no need to minimize the board size. The next version of the PCB will switch to 0805 components for easier assembly.

Photo of the assembled PCB

System Architecture

System Architecture

Tools: PlantUML

Hardware

Tools: KiCad (for PCB design).

Software

Tools:

Simulation

This project includes an LCD for user interaction. To simplify the creation of the layout, a simulation environment has been developed.

This simulation combines the following:

More Info

Enclosure

The device's enclosure is designed using OpenSCAD, a script-based 3D CAD modeler that allows precise and parametric design.

More Info

Devops

Repetitive setup tasks are best left to automation, which is why the development environment is managed with Docker. This approach eliminates the need to deal with outdated installation lists or READMEs—just run the container, and everything is ready to go.