# Programmable Function Generator
## Description
Programmable 1 Hz–1 MHz function generator PCB with sine, triangle, and adjustable-duty square outputs, programmable amplitude up to ±10 V using a DDS-based signal path and protected power rails.
## Project Details
- **Owner:** jayanok
- **Created:** 7/14/2026
- **Last Updated:** 7/14/2026
- **Visibility:** Public
## Key Components
### D1 — [MBRM120ET3G](https://www.flux.ai/lcsc/mbrm120et3g~vbdw.md)
- JLCPCB Part Class: Extended Part
- Role: Schottky Rectifier
- Manufacturer Name: onsemi(安森美)
- Product Info Url: https://lcsc.com/product-detail/Schottky-Barrier-Diodes-SBD_ON_MBRM120ET3G_MBRM120ET3G_C154780.html
- Package or Case Code: POWERMITE_L2.0-W1.9-LS3.8-RD
- LCSC Part Number: C154780
- Role Details: LT3471 +15V boost rectifier
- Datasheet URL: https://storage.googleapis.com/graviton-electric-symbols/document_assets/lcsc/2410010304_onsemi-MBRM120ET3G_C154780.pdf
- Manufacturer Part Number: MBRM120ET3G
- Part Type: Schottky Barrier Diodes (SBD)
**Pins:**
- A [pin 2]
- C [pin 1]
### D2 — [MBRM120ET3G](https://www.flux.ai/lcsc/mbrm120et3g~vbdw.md)
- Role: Schottky Rectifier
- Role Details: LT3471 -15V inverting rectifier
- LCSC Part Number: C154780
- Part Type: Schottky Barrier Diodes (SBD)
- Manufacturer Part Number: MBRM120ET3G
- Datasheet URL: https://storage.googleapis.com/graviton-electric-symbols/document_assets/lcsc/2410010304_onsemi-MBRM120ET3G_C154780.pdf
- Manufacturer Name: onsemi(安森美)
- JLCPCB Part Class: Extended Part
- Package or Case Code: POWERMITE_L2.0-W1.9-LS3.8-RD
- Product Info Url: https://lcsc.com/product-detail/Schottky-Barrier-Diodes-SBD_ON_MBRM120ET3G_MBRM120ET3G_C154780.html
**Pins:**
- A [pin 2]
- C [pin 1]
### D3 — [TPD4E05U06DQAR](https://www.flux.ai/lcsc/tpd4e05u06dqar~l929.md)
- JLCPCB Part Class: Extended Part
- Operating Temperature: -40℃~+125℃@(Ta)
- Package or Case Code: DFN2510-10_L2.5-W1.0-P0.50-BL
- Role: ESD Protection
- Datasheet URL: https://www.lcsc.com/datasheet/C138714.pdf?spm=wm.sxq.inf.ggs&utm_source=octopart&lcsc_vid=T1kIXgFeT1NaU1RXQFBbUlUHT1cKU1NXFVBeX1VSTlAxVlNRT1FdVFBSRFVdVDsOAxUeFF5JWA4NEwsWFhMaSQcJGk4%3D
- Manufacturer Part Number: TPD4E05U06DQAR
- LCSC Part Number: C138714
- Manufacturer Name: TI
- Part Type: ESD Protection Devices
- Role Details: USB D+/D-/CC1/CC2 low-capacitance ESD array
**Pins:**
- D1- [pin 2]
- D1+ [pin 1]
- D2- [pin 5]
- D2+ [pin 4]
- GND [pin 3]
- GND [pin 8]
- NC [pin 9]
- NC [pin 10]
- NC [pin 7]
- NC [pin 6]
### J1 — [USB4105-GF-A](https://www.flux.ai/adrian95/usb4105-gf-a~im9.md)
- Part Type: USB C
- Manufacturer Name: GCT
- Symbol Style: parametric-v1
- Manufacturer Name: GCT
- Role: USB-C Receptacle
- License: https://creativecommons.org/licenses/by/4.0/
- Manufacturer Part Number: USB4105-GF-A
- Role Details: USB-C 5V sink input plus USB FS data for STM32 control
- Datasheet URL: https://gct.co/files/specs/usb4105-spec.pdf
**Pins:**
- CC1 [pin A5]
- CC2 [pin B5]
- DN1 [pin A7]
- DN2 [pin B7]
- DP1 [pin A6]
- DP2 [pin B6]
- GND [pin A1_B12]
- GND__1 [pin B1_A12]
- SBU1 [pin A8]
- SBU2 [pin B8]
- SHELL_GND [pin SH1]
- SHELL_GND__1 [pin SH2]
- SHELL_GND__2 [pin SH3]
- SHELL_GND__3 [pin SH4]
- VBUS [pin A4_B9]
- VBUS__1 [pin B4_A9]
### J2 — [CONBNC001](https://www.flux.ai/vasy_skral/conbnc001~qj8.md)
- Manufacturer Part Number: CONBNC001
- Role: Output Connector
- License: https://creativecommons.org/licenses/by/4.0/
- Part Type: Connector
- Manufacturer Name: TE Connectivity Linx
- Role Details: BNC analog waveform output, high-Z amplitude calibration assumption
- Datasheet URL: https://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&DocNm=CONBNC001&DocType=Data+Sheet&DocLang=English&DocFormat=pdf&PartCntxt=CONBNC001
**Pins:**
- GND [pin S2]
- GND [pin S3]
- GND [pin S1]
- GND [pin S4]
- Signal [pin 1]
### J3 — [ARM JTAG SWD 10Pin 0.05" Connector](https://www.flux.ai/vasy_skral/arm-jtag-swd-10pin-005-connector~y0b.md)
- Manufacturer Part Number: FTSH-105-01-L-DV-007-K
- Part Type: Connector
- Datasheet URL: https://suddendocs.samtec.com/catalog_english/ftsh_smt.pdf
- Symbol Style: parametric-v1
- Role: Debug Connector
- Role Details: 10-pin Cortex SWD header for STM32 programming and debug
- Manufacturer Name: Analog Devices
**Pins:**
- ~RESET~ [pin 10]
- GND [pin 5]
- GND [pin 3]
- GNDDetect [pin 9]
- NC/TDI [pin 8]
- SWDCLK/TCK [pin 4]
- SWDIO/TMS [pin 2]
- SWO/TDO [pin 6]
- VTref [pin 1]
### U1 — [MP5016GQH-Z](https://www.flux.ai/monolithicpower/mp5016gqh-z~mgj.md)
- Role Details: USB 5V eFuse, OVP/UVLO/OCP; current limit target about 1A for high-Z output design
- Manufacturer Part Number: MP5016GQH-Z
- Role: Input Protection
- Datasheet URL: https://www.monolithicpower.com/en/documentview/productdocument/index/version/2/document_type/Datasheet/lang/en/sku/MP5016GQH-Z
- Package or Case Code: QFN10-1p5X2_MNP
- Product Image Url: https://www.monolithicpower.com/pub/media/catalog/product/M/P/MP5016_428_1.jpg
- Product Info Url: https://www.monolithicpower.com/en/catalog/product/view/id/428?utm_source=ultralibrarian&utm_medium=component_search&utm_campaign=listing
- Manufacturer Name: Monolithic Power Systems
**Pins:**
- DV/DT [pin 10]
- EN [pin 9]
- GATE [pin 8]
- GND [pin 3]
- ILIMIT [pin 4]
- MODE [pin 5]
- SOURCE [pin 7]
- SOURCE [pin 6]
- VCC [pin 1]
- VCC [pin 2]
### U10 — [ADA4898-2YRDZ](https://www.flux.ai/jecstronic/ada4898-2yrdz~sqf.md)
- Part Type: Operational Amplifier (OP-AMP)
- Role Details: Low-level DDS/square conditioning, bias subtraction, and pre-scaling before THS3091 output stage
- Manufacturer Name: Analog Devices Inc.
- Role: Amplification
- Manufacturer Part Number: ADA4898-2YRDZ
- Datasheet URL: https://www.analog.com/media/en/technical-documentation/data-sheets/ADA4898-1_4898-2.pdf
**Pins:**
- -IN 1 [pin 2]
- -IN 2 [pin 6]
- +IN 1 [pin 3]
- +IN 2 [pin 5]
- EP [pin 9]
- OUT 1 [pin 1]
- OUT 2 [pin 7]
- V- [pin 4]
- V+ [pin 8]
### U2 — [MCP1703Ax-330xxMB](https://www.flux.ai/kicad-part-library/mcp1703ax-330xxmb~qtf.md)
- Package or Case Code: SOT-89-3
- Manufacturer Name: Microchip Technology Inc.
- Role: Voltage Regulator
- Role Details: 5V_PROT to 3V3 digital/control LDO
- Datasheet URL: http://ww1.microchip.com/downloads/en/DeviceDoc/20005122B.pdf
- Manufacturer Part Number: MCP1703Ax-330xxMB
**Pins:**
- GND [pin 1]
- VI [pin 2]
- VO [pin 3]
### U3 — [LT3471EDD#PBF](https://www.flux.ai/vasyl/lt3471eddpbf~dw.md)
- Role Details: 5V_PROT to +/-15V analog rails for THS3091 output stage
- Part Type: Integrated Circuit
- Datasheet URL: https://www.analog.com/media/en/technical-documentation/data-sheets/3471fb.pdf
- Manufacturer Name: Analog Devices Inc.
- Manufacturer Part Number: LT3471EDD#PBF
- Role: Switching Regulator
**Pins:**
- ~SHDN~/SS1 [pin 9]
- ~SHDN~/SS2 [pin 7]
- FB1N [pin 1]
- FB1P [pin 2]
- FB2N [pin 5]
- FB2P [pin 4]
- GND [pin 11]
- SW1 [pin 10]
- SW2 [pin 6]
- VIN [pin 8]
- VREF [pin 3]
### U4 — [STM32G0B1CBT6](https://www.flux.ai/lcsc/stm32g0b1cbt6~dg8z.md)
- Role: Microcontroller
- Role Details: USB control, SPI to DDS/DAC/digipot/mux, timer square output
- Frequency: 64MHz
- Datasheet URL: https://www.lcsc.com/datasheet/C2847904.pdf?spm=wm.sxq.inf.ggs&lcsc_vid=FlVZVVIFFgBeVAVTT1BXUgFfEwJeVlBfEwVcAlMHRAQxVlNeR1RcVlxUQlBdUTsOAxUeFF5JWBYZEEoKFBINSQcJGk4dAgUUFAk%3D
- Manufacturer Name: ST(意法半导体)
- LCSC Part Number: C2847904
- Part Type: ST Microelectronics
- Package or Case Code: LQFP-48_L7.0-W7.0-P0.50-LS9.0-BL
- Manufacturer Part Number: STM32G0B1CBT6
- Operating Temperature: -40°C ~ 85°C (TA)
- Symbol Style: parametric-v1
- JLCPCB Part Class: Extended Part
- Voltage Supply: 1.7 ~ 3.6V
**Pins:**
- PA0 [pin 11]
- PA1 [pin 12]
- PA10 [pin 32]
- PA11[PA9] [pin 33]
- PA12[PA10] [pin 34]
- PA13 [pin 35]
- PA14-BOOT0 [pin 36]
- PA15 [pin 37]
- PA2 [pin 13]
- PA3 [pin 14]
- PA4 [pin 15]
- PA5 [pin 16]
- PA6 [pin 17]
- PA7 [pin 18]
- PA8 [pin 28]
- PA9 [pin 29]
- PB0 [pin 19]
- PB1 [pin 20]
- PB10 [pin 22]
- PB11 [pin 23]
- PB12 [pin 24]
- PB13 [pin 25]
- PB14 [pin 26]
- PB15 [pin 27]
- PB2 [pin 21]
- PB3 [pin 42]
- PB4 [pin 43]
- PB5 [pin 44]
- PB6 [pin 45]
- PB7 [pin 46]
- PB8 [pin 47]
- PB9 [pin 48]
- PC13 [pin 1]
- PC14-OSC32_IN [pin 2]
- PC15-OSC32_OUT [pin 3]
- PC6 [pin 30]
- PC7 [pin 31]
- PD0 [pin 38]
- PD1 [pin 39]
- PD2 [pin 40]
- PD3 [pin 41]
- PF0-OSC_IN [pin 8]
- PF1-OSC_OUT [pin 9]
- PF2-NRST [pin 10]
- VBAT [pin 4]
- VDD/VDDA [pin 6]
- VREF+ [pin 5]
- VSS/VSSA [pin 7]
### U5 — [AD9833BRMZ](https://www.flux.ai/jecstronic/ad9833brmz~d1h.md)
- Role Details: SPI-controlled sine/triangle source, 25MHz MCLK, 1Hz-1MHz output target
- Manufacturer Part Number: AD9833BRMZ
- Part Type: Integrated Circuit
- Datasheet URL: https://www.analog.com/media/en/technical-documentation/data-sheets/AD9833.pdf
- Role: DDS Waveform Generator
- License: https://creativecommons.org/licenses/by/4.0/
- Manufacturer Name: Analog Devices Inc.
**Pins:**
- ~FSYNC [pin 8]
- AGND [pin 9]
- CAP/2.5V [pin 3]
- COMP [pin 1]
- DGND [pin 4]
- MCLK [pin 5]
- SCLK [pin 7]
- SDATA [pin 6]
- VDD [pin 2]
- VOUT [pin 10]
### U6 — [ADG758CPZ](https://www.flux.ai/kicad-part-library/adg758cpz~awh.md)
- Manufacturer Name: Texas Instruments Inc.
- Datasheet URL: https://www.analog.com/media/en/technical-documentation/data-sheets/ADG758_759.pdf
- Role: Analog Multiplexer
- Manufacturer Part Number: ADG758CPZ
- Role Details: Low-level waveform selection before high-voltage output gain
- Package or Case Code: LFCSP-20-1EP_4x4mm_P0.5mm_EP2.1x2.1mm
**Pins:**
- A0 [pin 19]
- A1 [pin 18]
- A2 [pin 17]
- D [pin 7]
- EN [pin 1]
- GND [pin 15]
- NC [pin 8]
- NC [pin 16]
- NC [pin 9]
- NC [pin 20]
- S1 [pin 3]
- S2 [pin 4]
- S3 [pin 5]
- S4 [pin 6]
- S5 [pin 13]
- S6 [pin 12]
- S7 [pin 11]
- S8 [pin 10]
- V_{DD} [pin 14]
- V_{SS} [pin 2]
- V_{SS} [pin 21]
### U7 — [AD5290](https://www.flux.ai/kicad-part-library/ad5290~p1.md)
- Package or Case Code: MSOP-10_3x3mm_P0.5mm
- Role Details: ±15V-capable digital pot in output amplifier gain network
- Manufacturer Name: Texas Instruments Inc.
- Role: Programmable Gain
- Datasheet URL: https://www.analog.com/media/en/technical-documentation/data-sheets/AD5290.pdf
- Manufacturer Part Number: AD5290
**Pins:**
- ~{CS} [pin 5]
- A [pin 1]
- B [pin 2]
- CLK [pin 6]
- GND [pin 4]
- SDI [pin 7]
- SDO [pin 8]
- V_{DD} [pin 9]
- V_{SS} [pin 3]
- W [pin 10]
### U8 — [THS3091DDAR](https://www.flux.ai/jecstronic/ths3091ddar~hbv.md)
- Manufacturer Part Number: THS3091DDAR
- Manufacturer Name: Texas Instruments Inc.
- Role: Output Amplifier
- Part Type: Operational Amplifier (OP-AMP)
- Role Details: High-slew ±15V current-feedback amplifier for 20Vpp high-Z output
- Datasheet URL: https://www.ti.com/lit/ds/slos423h/slos423h.pdf
- License: https://creativecommons.org/licenses/by/4.0/
**Pins:**
- GND [pin 9]
- NC_1 [pin 1]
- NC_2 [pin 5]
- NC_3 [pin 8]
- VIN- [pin 2]
- VIN+ [pin 3]
- VOUT [pin 6]
- VS- [pin 4]
- VS+ [pin 7]
### U9 — [DAC80501MDGSR](https://www.flux.ai/adrian95/dac80501mdgsr.md)
- Datasheet URL: https://www.ti.com/lit/gpn/DAC80501
- Manufacturer Name: Texas Instruments
- Part Type: Integrated Circuit
- Package or Case Code: 10-VSSOP
- Role Details: SPI DAC for offset/zero calibration and analog bias trim
- Role: Control DAC
- Manufacturer Part Number: DAC80501MDGSR
- Symbol Style: parametric-v1
**Pins:**
- ~SYNC~/A0 [pin 7]
- AGND [pin 4]
- NC_1 [pin 3]
- NC_2 [pin 9]
- SCLK/SCL [pin 6]
- SDIN/SDA [pin 8]
- SPI2C [pin 5]
- VDD [pin 1]
- VOUT [pin 2]
- VREFIO [pin 10]
### X1 — [DSC6151HI2B-025.0000T](https://www.flux.ai/vasy_skral/dsc6151hi2b-025p0000t~t7x.md)
- Symbol Style: Parametric
- Datasheet URL: https://ww1.microchip.com/downloads/aemDocuments/documents/TCG/ProductDocuments/DataSheets/DSC61xxB-Ultra-Small-Ultra-Low-Power-MEMS-Oscillator-DS20006155.pdf
- Role: Clock Oscillator
- License: https://creativecommons.org/licenses/by/4.0/
- Role Details: 25MHz low-jitter MCLK for AD9833 frequency accuracy
- Manufacturer Name: Microchip
- Part Type: Oscillator
- Frequency: 25MHz
- Manufacturer Part Number: DSC6151HI2B-025.0000T
**Pins:**
- ~STDBY [pin 1]
- GND [pin 2]
- OUT [pin 3]
- VDD [pin 4]
*The full schematic, PCB layout, bill of materials, and interactive design are available at [https://www.flux.ai/jayanok/programmable-function-generator~60](https://www.flux.ai/jayanok/programmable-function-generator~60).*
---
*Generated from [https://www.flux.ai/jayanok/programmable-function-generator~60](https://www.flux.ai/jayanok/programmable-function-generator~60)*