Skip to the content
2 layers46.5 × 60 mmFunctionGeneratorPCB, the printed circuit board in 3D

An Analog Function Generator Designed Around the TL072 Dual Op-Amp

Size
46.5 × 60 mm
Copper layers
2
Thickness
1.6 mm
Parts
19
Nets
19
Pads
60
Tracks, vias
116, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
1 Jun 2026
Updated
28 Aug 2026

Overview

FunctionGeneratorPCB is an open-source printed circuit board by ruproshanjha, from the ruproshanjha/Function-Generator-using-TL072-OPAmp repository on GitHub. It is a 2-layer board of 46.5 × 60 mm with 19 parts on 19 nets, routed with 116 tracks and 0 vias.

It is built around the TL072. Its parts include 8 resistors, 3 capacitors, 2 ICs, 2 connectors and 1 switch.

Main components

1

README

README.md

Function Generator Using TL072 Op-Amp

An Analog Function Generator Designed Around the TL072 Dual Op-Amp

Function Generator Block Diagram

Overview

This project is a discrete analog function generator built using TL072 operational amplifiers.

The circuit generates multiple periodic waveforms through a combination of op-amp based waveform-generation and signal-conditioning stages. The project was developed from individual circuit stages, simulated in LTSpice, prototyped on a breadboard, and finally designed as a PCB using KiCad.

The project includes the complete design workflow:

Circuit Design → Simulation → Breadboard Prototype → KiCad Schematic → PCB Layout → 3D PCB


Features

  • Analog function generator based on TL072 dual op-amp
  • Square-wave generation
  • Triangle-wave generation
  • Sine-wave generation
  • Adjustable signal gain/output stage
  • LTSpice simulation
  • Breadboard prototype implementations
  • Complete KiCad schematic
  • PCB layout
  • 3D PCB visualization
  • Frequency response/trend analysis
  • Design documentation and circuit diagrams

Waveforms

The generator is designed around a waveform-generation chain in which the different stages produce and process the required signals.

Square Wave

The square-wave stage forms the primary waveform-generation section.

Square Wave Circuit

Triangle Wave

The triangle-wave stage converts the generated waveform into a triangular waveform.

Triangle Wave Circuit

Sine Wave

The sine-wave stage processes the generated waveform to obtain a sinusoidal output.

Sine Wave Circuit


Functional Block Diagram

The overall design can be understood as a sequence of functional blocks:

text
                 ┌─────────────────────┐
                 │   Wave Generation   │
                 │      Stage          │
                 └──────────┬──────────┘
                            │
                            ▼
                 ┌─────────────────────┐
                 │  Waveform Shaping   │
                 │   / Conversion      │
                 └──────────┬──────────┘
                            │
              ┌─────────────┼─────────────┐
              │             │             │
              ▼             ▼             ▼
           Square        Triangle        Sine
              │             │             │
              └─────────────┼─────────────┘
                            │
                            ▼
                 ┌─────────────────────┐
                 │   Gain / Output     │
                 │       Stage         │
                 └──────────┬──────────┘
                            │
                            ▼
                         OUTPUT

Gain & Output Stage

A dedicated gain/output circuit is included to condition the generated waveform before it is presented at the output.

Gain and Output Circuit


Simulation

The circuit was simulated using LTSpice before hardware implementation.

LTSpice Schematic

LTSpice Schematic

Simulation Results

LTSpice Simulation Results

Simulation was used to verify the circuit behavior and waveform generation before moving to physical implementation.


Hardware Prototype

After simulation, the individual stages were implemented and tested on a breadboard.

Square Wave Prototype

Square Wave Breadboard Implementation

Triangle Wave Prototype

Triangle Wave Breadboard Implementation

Sine Wave Prototype

Sine Wave Breadboard Implementation

The breadboard implementations were used to validate the practical behavior of the analog circuits before committing to the PCB design.


KiCad Design

The final hardware design was developed using KiCad.

Source Schematic

KiCad Source Schematic

Core Circuit

KiCad Core Circuit

Gain & Output

KiCad Gain and Output


PCB Design

The complete PCB layout was created from the KiCad schematic.

KiCad PCB Layout

3D PCB View

PCB 3D View

PCB 3D View 2


Prototype PCB Implementation

A zero-PCB implementation was also documented as part of the hardware development process.

Zero PCB Implementation


Frequency Analysis

The project also includes analysis of how the oscillator frequency changes with component values.

Frequency vs Resistance

Frequency vs Resistance

Frequency vs Capacitance

Frequency vs Capacitance

These plots provide a practical reference for understanding the relationship between the timing components and generated frequency.


Repository Structure

text
Function-Generator-using-TL072-OPAmp/
│
├── 3D Models/
│
├── Docs/
│   ├── 00 - Block Diagram.png
│   ├── 01 - Square Wave Circuit.png
│   ├── 02 Triangle Wave Circuit.png
│   ├── 03 - Sine Wave Circuit.png
│   ├── 04 - Gain Circuit.png
│   ├── 05 - LTSpice Schematic.png
│   ├── 06 - LTSpice Simulation Graph.png
│   │
│   ├── 10 - Breadboard Implementation Square.jpeg
│   ├── 11 - Breadboard Implementation Triangle.jpeg
│   ├── 12 - Breadboard Implementation Sine.jpeg
│   │
│   ├── 20 - KiCad Schematic - Source.png
│   ├── 21 - KiCad Schematic - Core Circuit.png
│   ├── 22 - KiCad Schematic - Gain & Output.png
│   ├── 23 - KiCad PCB Layout.png
│   ├── 24 - KiCad 3D View 1.png
│   ├── 25 - KiCad 3D View 2.png
│   │

Design Workflow

The project followed a complete electronics development workflow:

1. Circuit Design

Individual analog stages were designed for waveform generation and signal conditioning.

2. Simulation

The circuits were tested in LTSpice to verify their expected behavior.

3. Breadboard Prototype

The circuits were physically implemented on a breadboard and tested.

4. Schematic Capture

The validated design was recreated in KiCad.

5. PCB Layout

The complete circuit was converted into a PCB layout.

6. 3D Verification

The PCB was inspected using KiCad's 3D viewer to verify component placement and overall board design.


Design Files

The repository contains the main KiCad project files:

FileDescription
FunctionGeneratorPCB.kicad_proKiCad project file
FunctionGeneratorPCB.kicad_schComplete circuit schematic
FunctionGeneratorPCB.kicad_pcbPCB layout
Footprint.pretty/Custom footprint library
3D Models/3D component models
Docs/Design, simulation and hardware documentation

Tools Used

  • KiCad — Schematic capture, PCB design and 3D visualization
  • LTSpice — Circuit simulation
  • TL072 Op-Amp — Core analog building block
  • Breadboard — Hardware prototyping and validation

Learning Objectives

This project demonstrates several practical analog electronics concepts:

  • Operational amplifier circuits
  • Analog waveform generation
  • Waveform conversion and shaping
  • Signal amplification
  • Frequency control
  • Component-value analysis
  • LTSpice simulation
  • Breadboard prototyping
  • Schematic capture
  • PCB layout
  • Hardware design verification

Project Documentation

All supporting diagrams, simulation results, prototype photographs, PCB designs and frequency-analysis plots are available in the Docs directory.


Status

Completed — Design, Simulation, Prototyping and PCB Development

The repository contains the design artifacts required to understand and reproduce the project, including the circuit schematics, PCB files, supporting documentation and prototype images.


Author

Rup Roshan Jha

Electronics / Hardware Design Project


License

See the repository for licensing information.

Parts

19
QtyValueFootprintReferences
4100kΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3, R5, R6, R7
3100kΩFootprint:POT_PTN16-A100125K1B1RV1, RV2, RV3
210kΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R4
2TL072Footprint:TL072U1, U2
110nFCapacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mmC3
11uFCapacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mmC1
1220kΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR8
122kΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2
133nFCapacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mmC2
1Conn_CoaxialConnector_Coaxial:BNC_Amphenol_B6252HB-NPP3G-50_HorizontalJ2
1SW_DIP_x03Button_Switch_THT:SW_DIP_SPSTx03_Slide_6.7x9.18mm_W7.62mm_P2.54mm_LowProfileSW1
1Screw_Terminal_01x03TerminalBlock_Altech:Altech_AK300_1x03_P5.00mm_45-DegreeJ1

Similar boards

  • 2 layers148 × 84.5 mmPanel daisy, the printed circuit board in 3D

    Panel daisy

    ohmtech-rdi/eurorack-blocks

    Software to Hardware Prototyping for Eurorack using C++, Max/Gen~ or Faust

    259 parts410
  • 2 layers39.6 × 99.1 mmESP32-Eurorack Audio, the printed circuit board in 3D

    ESP32-Eurorack Audio

    ctag-fh-kiel/ctag-tbd

    CTAG TBD >>to be determined<< an extendible open source Eurorack sound module

    128 parts260
  • 4 layers121.9 × 109.2 mmPlinkyblack hwmidi jacks, the printed circuit board in 3D

    Plinkyblack hwmidi jacks

    plinkysynth/plinky_public

    a public release of the plinky sw and hw

    300 parts227
  • 2 layers58 × 110 mmVco core, the printed circuit board in 3D

    Vco core

    shmoergh/moduleur

    Fully analog DIY-friendly modular synth

    146 parts222
  • 2 layers37 × 113.9 mmVCO, the printed circuit board in 3D

    VCO

    nickajeglin/Eurorack-pcbs

    A collection of easy to solder DIY eurorack PCB's

    104 parts208
  • 2 layers111.3 × 106.4 mmSuper Sixteen v1, the printed circuit board in 3D

    Super Sixteen v1

    matthewcieplak/super-sixteen

    Code and schematics for the Super Sixteen Eurorack sequencer

    141 parts171
  • 2 layers85.1 × 62.2 mmMic extension board, the printed circuit board in 3D

    Mic extension board

    StoneRose35/cortexguitarfx

    guitar effects processor implemented on various arm cortex platforms

    75 parts146

Questions

How big is the FunctionGeneratorPCB PCB?

It measures 46.5 × 60 mm and has 2 copper layers, 1.6 mm thick.

What parts does the FunctionGeneratorPCB use?

19 parts, built around the TL072. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the FunctionGeneratorPCB KiCad files?

From the ruproshanjha/Function-Generator-using-TL072-OPAmp repository on GitHub, at the commit this page was made from: the board is FunctionGeneratorPCB.kicad_pcb and its schematic FunctionGeneratorPCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the FunctionGeneratorPCB design in my own project?

Its repository states no licence, so its author keeps all rights: ask ruproshanjha before reusing the design.