E-Design 344 Project - Engineering a Multi-Waveform Analogue Signal Generator
Managing complex test signals for a lab bench shouldn't require a mountain of expensive gear. For my E-Design 344 project at Stellenbosch University, I took on the challenge of designing and building a professional-grade Analogue Signal Generator from scratch.
The goal was to create a robust, self-contained unit capable of producing high-quality waveforms while maintaining thermal stability under heavy loads.
Requirements
The technical requirements for this build were rigorous. I needed a system that could:
- Generate Three Waveforms: Square, Triangle, and Sine.
- High Power Output: Deliver up to 10 V peak into a 27 Ohm load (swinging 20 V peak-to-peak).
- Frequency Range: Fully adjustable from 100 Hz to 10 kHz across multiple bins.
- Integrated Controls: Real-time adjustment for frequency, duty cycle, gain, and DC offset.
The Hardware Stack
The system architecture was designed around modularity, ensuring that each signal path was optimized before being unified in the final output stage.

1. Power & Virtual Ground
Since the project runs on a single 30 V DC supply, I implemented a virtual ground rail at 15 V. Using a TL081 op-amp in a negative feedback configuration, I stabilized this rail to prevent the voltage drift typically seen in simple resistor dividers.

2. The Waveform Engines
- Square & Triangle: I used an LM555 timer in astable mode to drive a capacitor charged by adjustable constant current sources. This ensures the triangle waves have excellent linearity and the square waves have sharp transitions.

- Sine Wave: This uses a Wien-bridge oscillator topology, chosen for its low distortion. I integrated Automatic Gain Control (AGC) using a parallel diode-resistor network to keep the loop gain at exactly 3, ensuring stable oscillations with a THD of ~3%.

3. The Power Stage
To drive a 27 Ohm load at high voltages, I built a Class AB push-pull amplifier. It utilizes TIP41C (NPN) and TIP42C (PNP) power transistors. To prevent them from melting during high power draw, I included massive heat sinks salvaged from an old UPS and a dual-fan cooling system (including a laptop CPU blower).


Intelligent Monitoring: The Python Companion

No modern project is complete without a software layer. I developed a companion tool in Python 3 to perform real-time signal analysis. By piping the signal into a computer audio interface, the software provides:
- Fast Fourier Transform (FFT) for frequency domain visualization.
- Automated THD Calculation to monitor sine wave purity.
- Signal Classification that automatically identifies the waveform type, frequency, and duty cycle.

Challenges & Reflections
The biggest hurdle was managing thermal dissipation and "frequency bin drift". While the TL081 is a workhorse, its slew rate 20V/us becomes a limiting factor at the highest frequencies. However, the final prototype is incredibly durable and serves as a highly functional tool for any electronics hobbyist's lab.