SellersCircuits' DIY Waveform Generator Is a Handy Raspberry Pi RP2040-Powered Synthesis Tool
Driven with MicroPython, this handy tool uses an Analog Devices AD9833 to generate arbitrary waveforms.
Pseudonymous wireless engineer "SellersCircuits" has designed a custom waveform generator, powered by a Raspberry Pi RP2040 microcontroller talking to an Analog Devices AD9833 waveform generator chip.
"Low frequency waveform generators can easily be found from multiple test equipment companies. While these are nice devices that will reliably output a waveform for you, they are also expensive. Even the cheaper ones can set you back hundreds of dollars," SellersCircuits explains of the inspiration behind the project.
"You can expect to spend anywhere from $300 to $2,000 for a 'lower quality' device," the maker continues. "The reality is that these devices are not that great, and creating your own waveform generator for testing purposes is not that complicated."
That's exactly what the DIY Waveform Generator is: a "lower quality" waveform generator suitable as a diagnostic tool or for educational use. Designed as a four-layer board — in order to provide full ground planes — the compact PCB is driven by a Raspberry Pi RP2040 microcontroller, the same chip as in the Raspberry Pi Pico family of development boards, talking to the Analog Devices AD9833 using a MicroPython program.
"[The AD9833] is a low power, complete DDS [Direct Digital Synthesizer] on chip that is controlled through a 3-wire SPI interface," SellersCircuits explains. "It can generate sinusoidal outputs, triangle waves, and square waves. We will be clocking this using a 24MHz clock, so the maximum theoretical frequency we can get out of it is 12MHz."
The finished board allows the user to trigger waveforms of arbitrary frequency and in sine, square, and triangle formats — though at 1MHz and beyond steps in the output signal become easily visible, thanks to the sampling rate of the device. "This is normal and expected behavior," SellersCircuits notes.
More information on the project is available on SellersCircuits' blog, along with a schematic of the board, while assembled boards are up for sale on Tindie at $35 each.
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.