Ask Hackaday: Who wants to build a function generator?

[tari] sent in a tip about a MAX5214 DAC evaluation board AVNET is giving away this summer.  The MAX5214 / MAX5216 is a neat little chip providing a 14 or 16 bit DAC with a serial interface in a tiny 8-pin package. [tari] thinks this eval board could be hacked into a function generator, and we’ve got to agree. Now, who wants to build one?

It’s entirely possible to take the MAX5214 chip and put it in a circuit with a small ARM uC, a display, and a few knobs, but that seems like a waste of time given function generators of this caliber are already available for about $60. It seems the most efficient hack of this dev board will be simply adding an amplifier to this board’s output and possibly programming a better interface than the current LabView software available.

If you want to tinker around with some free hardware and make something useful in the process, have a go at making a function generator out of this dev board. Be sure to send it in when you’re done.

Comments

  1. karmicthreat says:

    Wow, the avnet website is bad even for a parts distributor.

    • NATO says:

      Avnet generally does not cater to kids playing with electronics… Therefore, their website is not set up for such. They are a big-time distributor. They sell to large companies. I deal with them all the time. Very good company.

      • RandyKC says:

        No argument on the quality of the company, but any website that tries to start a video every time you open a tab is by definition bad, intrusive and obnoxious. Please Avnet, make that go away! If we want to learn something more we will download and play the video. We don’t need one autostarting and sucking up our time.

  2. herrkami says:

    -3dB @ 100kHz, 2.5 mV digital feed-through (which is ~10/40 (14/16 bits) times higher than the DAC resolution -> has to be filtered -> bandwidth!). That’s not an DAC you should use for building a function generator. Maybe for a programmable bench supplies or something like this. Function generators usually use parallel input DACs, that are much faster.

    • nxpguy says:

      agree, not even good enough for audio.
      AS it needs a pc it would be better to use the audio output of PC with some buffer for gain and offset. 24bits and 96khz are common these days

  3. herrkami says:

    sorry for spelling errors

  4. Hans de Jong says:

    The voltage output settlign time is 14us. Hell, PIC16F microcontrollers have faster settling times! Maybe no the resolution, but hey, it’s a waveform generator.
    With 14us you get about 70ksps. Hooray, we can make a very rough sine wave of about 7kHz.

    I’d rather make a function with a cortex M4, tied to a high speed via a parallel bus. I believe some STM micro’s also contain a 1MSPS DAC onboard.

  5. Oliver Heaviside says:

    Agreed. This isn’t for function generation as we think of it, this is for tweaking things like valves and precision power supplies.

    However, if you only care about end states and not so much about quality, distortion, slope or overshoot, you could probably bang out useable audio with it.

    This is for servo apps and instrumentation. It really is low power, though – and would be useful for communications work. One could make a nice broadband spectrum analyzer from this, in a very tiny package.

  6. Mathias says:

    Speaking of Labview: Does anyone know a good way to replace a Labview Gui? I want to replace a piece of software that has one, I need a graph updated a few times a second, a few buttons and sliders, nothing fancy, programmable for instance in C and if possible cross platform and easy to use.
    Any ideas?

    • Christian says:

      C++ with Qt library and qwt widgets (http://qwt.sourceforge.net/)
      Can also be used with python instead of c++. Works like a charm. Used it both on windows and Linux.

      • Mathias says:

        I already did look into QT creator, but didn’t find those qwt widgets. Those look a bit 2001, but apart from that exactly what I was looking for.
        Many thanks!

    • Jarel says:

      I second the Qt recommendation.

      Also, if you’ve never used a GUI library before, or are just doing this as a one-off project, you should get Qt Creator. It has a WYSIWYG editor built right in and it makes it easy to switch between your C code for signals/slots, the nitty-gritty “QML” layout stuff, and the WYSIWYG editor.

  7. steve says:

    Not much use. 100 kHz max sampling rate giving you ten kilohertz of somewhat decent signal.
    Btw. the output is already buffered, no need for amplifier!

    • herrkami says:

      What kind of rule is this? Nyquist gives you 40-50kHz but the sampling rate is in deed much higher (MHz range). It’s the analog bandwidth that reduces the speed. And how do you drive a 50Ohm load with a minimum resistive load of 5k? If you want to put a Vpp=4.6V signal into a 10k resistor, there’s no need for an amplifier, that’s right, but I think, that’s not what you expect from a signal generator, or is it?

  8. philwatcher says:

    If you want to build a function generator, get one of the many AD9851 boards on ebay. 50MHz DDS for 20 dollars. Still need to add some microcontroller, but at least you get some serious analog bandwidth (w/o cpu load)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 93,791 other followers