I'd like to try to be a part of a collaborative project instead of just doing something myself. I'm also in the need of a decent square wave signal generator to replace my aging HP 3325A that is both huge and limited to 10MHz squares.
So I'm looking for collaborators to specify, design. build and code "The Square Wave Box"
You can use a Si5351A for programmable clock or get a AD9850 DDS for sinewave and squarewave. Both are programmable from a uC. Stick a SPI- 8 digits LED, rotary encoder + push button and that's a function generator.
My plan was to focus on squarewave and have better performance than the $10-$30 units available at ebay. They are usually 9850-based and specs sines to 20-30Mhz and squares to only 1MHz. Why the square spec is so low is rather strange since the chip already contains an integrated comparator to generate squares if connected to the sine output.
The Si5351 is nice as it only requires a low speed 25/27Mhz clock compared to a 125Mhz for the 9850. And it also have dual completely independent outputs (and a third that is semi-dependent). And the newer models can be pushed far beyond the old specs, both upwards and downwards.
But the Si5351 still doesn't go all the way down to the Hz-range, so a divider is required for the lowest range.
Unfortunately a those cheap SPI 7-segments sticks aren't enough. One more digit is required unless we cap the max frequency at 99MHz.
I'd like to have the digits grouped for easy reading, so using three (or four) of 3-digit displays spaced a little bit apart will increase the readability a lot compared to just a long string of digits.
It is basically a rather simple project. The 5351, some high-speed buffers powered by different vregs, display drivers, some buttons and a rotary encoder and a mcu to drive it all.
The mcu could actually be a esp8266 to give a "free" external connection to do a remote control panel as an app or a web page.
No reason why we can't redesign the AD9850 circuit to have proper square wave and much better signal integrity on the layout. Not too keen on not at least having close to solid ground plane on such a simple layout.
The chip itself is also available about same price as the boards though. For me, it is like 5 minutes of hot air rework to strip a board like that.
The AD9850 takes either a 1 bit SPI for 40 bits of data or 5x 8-bit data. Can't imagine that DIY DDS is any easier either.
(hopefully this ends up in the right place in the comment tree - had.io is a really shitty place the have discussions.)
Not sure if the 9850 is ideal. It's limited to about 30 Mhz, but it's an alternative, especially if the internal comparator can actually be used all the way up to 30.
Getting nice and ringing-free edges might require proper transmission lines between dds and buffers and then from buffers out to the connectors. So on the final board a four layer will probably be required, but to keep the cost of a few iterations of development boards down 2-layers might suffice.
i'm pretty good at esp8266 stuff, and could probably help creating an interface that would let you open a page it generates on your smartphone/tablet to let you play around with settings/calibration/etc
if you want to go basically the mooshimeter route :)
Using a ESP as the mcu might be a good idea. It got plenty of performance and the connectivity is for free.
The only thing is that it is a bit limited on gpio. This can of course be fixed with port expanders and plain old shift registers, but that adds up the part count compared to a solution with another mcu with a larger pin count.
Not sure either how it will handle the rotary encoder. The esp have rather long periods of internal housekeeping while handling the wifi-comms. But hopefully not so much that it will affect the sampling of the rotary encoders to the degree that the user notices.
good point, i'd stick with a more bare-metal chip like an avr or arm for really accurate rotary encoder reading. I've noticed a few hiccups with encoders and the esp8266 using certain libraries
What is the chip at the heart of this DDS ?
I'm about to build a quick&dirty freq generator with 74HC gates from my drawers, so I suppose it doesn't fit your bill :-)