Retro Waveform/signal generator

Project i am starting on is a analog style waveform signal generator.
It will have no lcd/digital display.
frequency selection will be via a "Pot" (variable resister) and a dial to indicate frequeencies.
A switch will be to select between several "bands" of frequencies. A second switch will select the waveform type.

It will also have a manual/preset switch and a preset selecter switch to select certain values such as 1khz.
I am after a retro look/feel with this and loosly basing it on the look of the signal generators we had in physics class some twenty five to thirty years ago.

Under the bonnet is a Arduino Uno clone and a AD9833 DDS module. The mega I have on hand will probably be overkill as the dds module is doing the heavy work and there is no digital display to drive.

Hi,
What is the question?

Tom.. :slight_smile:

My module came with no instructions so am unsure how to access the digital pot I believe it has onboard to attenuate signals so all waveform types output at the same strength.
This is a problem I have found with boards/modules ordered from China as well as the "house brand" of a local electronics chain in my country.

As this is being built as both a test equipment, to drive a scope for "theatrical" purposes and as a functional "prop", is it feasable to have the arduino be able to switch in/out a simple preamp or drive some sort of control to control the output signal strength if I can't drive the module's digital pot.
Also would it be possible to manipulate the output by issuing various commands to the module "live" to simulate a heartbeat monitor "blip"

Reading the controls and setting the frequency/wave type values should be fairly straight foward given the sample code I have.

Hi,
google arduino AD9833 DDS module

Tom... :slight_smile:

TomGeorge:
Hi,
google arduino AD9833 DDS module

Tom... :slight_smile:

As everything I found code wise for the ad9833 modules and arduino only covered talking to the ad9833 ic, I actually googled MCP41010 arduino and found a script for driving the mcp41010 digital pot ic, have grafted that into the ad9833 script. will need to test it - if it works it will simplify everything as the ad9833 modules i have have the mcp41010 on the circuit board (I ordered them after reading an article on the ad9833 in april 2017 Silicon chip magazine.). This will be easy to test as I have a proper scope on hand and can see immediatly if it works.

Reproducing an ECG blip could could not be done with a AD9833 .

You'd need to sample or invent such a waveform and output it via a d/a convertor.
Store the waveshape as an array in flash memory.

The arduino's pwm output could be used for this with suitable filtering - good enough for a stage effect anyway. And you could use a modern storage scope to display it -well enough for an audience tens of feet away to think it's a real ECG machine. Don't forget the beeping noise!

Allan

For a truly authentic look, pick up a vintage signal generator on eBay cheap, and replace the tube innards with your own circuit.

I picked up one just like this at a swap meet for $10, and it works very well!

allanhurst:
Reproducing an ECG blip could could not be done with a AD9833 .

You'd need to sample or invent such a waveform and output it via a d/a convertor.
Store the waveshape as an array in flash memory.

The arduino's pwm output could be used for this with suitable filtering - good enough for a stage effect anyway. And you could use a modern storage scope to display it -well enough for an audience tens of feet away to think it's a real ECG machine. Don't forget the beeping noise!

Allan

My first attempt at building a arduino driven signal generator was the arduino driving a r2r dac, and one of it's modes does resemble a ecg trace so i could use that unit if i have to for that purpose.
Gradually assembling it adding one piece at a time. got the ad9833 module's digital pot set up so that all three waveforms output at same level. have working mode switch but that has introduced a bug (posted in audio section).