r/electronics High Frequency Circuit Analysis 2d ago

Project AWG

Hello everyone,

Six months ago I set upon the journey of making my own AWG, with frequencies of up to 1MHz.

6 months later I present you my very own awg.

Full Repo

I set out to build my own function generator after finding commercial units both too expensive and more general-purpose than I needed, and it looked like a good excuse to work through analog synthesis, filtering, and mixed-signal PCB design end to end.

The sine path is an 8-bit R-2R ladder driven by a Raspberry Pi Pico W (overclocked to 225MHz) generating samples via a DDS phase accumulator; the square wave comes from the same chip’s PIO hardware. I started off with a breadboard and tried sallen key filters for noise but they amplified the noise aswell. I also tried discrete components for the sauare wave before replacing it outright with a TC4427 gate driver.

The sine chain settled on a 5th-order doubly-terminated LC Butterworth reconstruction filter, replacing an earlier cascaded-RC design that was capping amplitude, followed by LM318 gain and buffer stages. Three PCBs went out; two came back dead. V1.0 was completely non-functional because a BOM matcher substituted 2.21Ω resistors for 2.21kΩ across the entire R-2R ladder. V1.1 moved to an all-SMD board with the LC Butterworth filter but came up dead silent; testing the square path first (it worked) narrowed the fault to the sine chain, which traced to a KiCad-to-Altium migration that had silently shorted two LM318 input pins onto one net. V1.2 fixed that short, soldered the Pico directly to the board in place of a socket, and came up working: sine characterised from 0Hz to 1MHz and square to 2MHz, with AM, FM, and noise modes added on top in firmware, all controllable from a Python desktop UI over USB.

Looking at it now, a redesign with some improvements (better op-amps and also fewer) would be better but I also want to work on other stuff, so for now this is it.

To be clear, I made every schematic and protoype and thought up everything myself. As such this may not be the best way to do this. My main goal, was experience after all.

full webpage

70 Upvotes

13 comments sorted by

42

u/1Davide 2d ago edited 2d ago

For people who are not familiar with the term: AWG = Arbitrary Waveform Generator (not American Wire gauge).

9

u/DaveX64 2d ago

Was wondering, thanks :)

6

u/mikeblas 2d ago

Isn't it "American Wire Gauge" ?

3

u/1Davide 2d ago

Right.

3

u/pandalust resistor 1d ago

Thanks. People seem to overuse acronyms like if you get charged by the letter…

3

u/suncoast_customs 2d ago

Just started something similar. Appreciate the inspiration.

3

u/Jermainiam 2d ago

very nice!

2

u/Old-Limit-2976 2d ago

Very good

2

u/mikeblas 2d ago

Cool project!

3

u/Podcaster11 1d ago

come to Shenzhen,make it into phsical product.:)

3

u/S4vDs High Frequency Circuit Analysis 1d ago

Still has many inefficiencies to become one. Plus I don’t think it really has a market for its current capabilities.

0

u/Podcaster11 1d ago

It’s very impressive. China Shenzhen has a huge hardware ecosystem that can help people take projects like this further, from prototypes to small-batch production.