This is the SparkFun MiniGen Signal Generator, a small shield for the Arduino Pro Mini that is capable of generating sine, square, or triangle waves at up to 3MHz, and approximately 1Vp-p. Though the MiniGen is technically a shield it can, in fact, operate as a stand-alone board capable of the the same functionality as it would if it were placed on top of a Pro Mini.
The MiniGen offers two out put sources for you to utilize: a 2-pin 0.1" spaced header and a u.FL connector. The output is at a DC offset of Vcc/2, however neither the offset nor the amplitude can be varied. By default, the MiniGen ships configured with a 3.3V regulator enabled and should only be used with 3.3V signals (or 3.3V Pro Minis if you are using this as a shield) unless the jumper on the back is soldered over to bypass the regulator for 5V use.
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
Based on 3 ratings:
1 of 1 found this helpful:
Purchaed this MiniGen shield with the pro mini and all of the necessary female and male pitch headers. Used this device to prototype a circuit I am designing using the AD9837 DDS chip. I was surprised to see that the board generated up to 6MHz with no real issues except for some losses(using two wire output). It performs well with the 3.3V arduinp(8MHz) because the shield has its own 16MHz reference clock. Its a bit on the expensive side however given their supplied Arduino API and open source schematics its hard to complain about :)
I used an Arduino Uno R3 to drive this (not the pro-mini as in the docs). Basically, put a blob of solder over the 5V-3.3V jumpers on the board (to be able to run it at 5V), then (Fsync,SCA,SCLK) on the MiniGen to (10,11,13) on the Arduino (and +5V/GND to power the board), and the library worked like a champ. I initially hooked the two outputs of the MiniGen to an oscilloscope and the frequency, as set in the software was dead-on. A 1V p-p sine wave riding on a DC offset of about 4 volts.
It performs exactly as advertised and is surprisingly stable. A tad pricey compared to similar boards from China, but hey, you can actually get documentation, code examples and a C++ library for this one. Amazing! Easily mates to breadboards, shields and most microcontrollers. Very low power requirements and all on a quality PCB. I'm using this as a component in a ham radio construction project - cheaper and much easier than a complete scratch-build. I Like Analog Devices products and this is a great implementation of the AD9837/AD8045. Just what I needed!
Looking for answers to technical questions?
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Log in or register to post comments.
-------------------- Tech Support Tips/Troubleshooting/Common Issues --------------------
Example tutorial using Analog Device's ADALM1000 with the MiniGen => https://ez.analog.com/community/university-program/blog/2015/09/21/adalm1000-interfaced-to-a-dds-programmable-waveform-generator.
I bought one of these about a year ago, set the jumper for 5v. I don't recall that there was a warning at that time. This week the unit stopped working. I ordered a new one, and when I was installing it there was the following warning in the hookup guide:
"Danger! Adding a solder jumper will bypass the 3.3V voltage regulator, you will be powering the board at 5V. While most of the components on the board can handle 5V, the 16MHz crystal oscillator is not. It can only handle 3.3V. You would need to find a way to cut the trace connecting to the 16MHz and 3.3V voltage regulator in order to reroute 3.3V to the 16MHz crystal oscillator's circuit. ".
I assume that is why my board failed. Given that there are no instructions as to how to cut & reroute the traces, am I correct in assuming that this board cannot operate with 5v after all? Can I get a replacement for the one that failed? Thanks
I am super impressed by the MiniGen! I was able to use the hookup guide, a 5V arduino nano, and libraries to get up and running in about 15 mins!
The voltage info in the datasheet wasn't specific, so I measured with an oscope. The board output is 1.16Vpk-pk, 1.84Vmin, 3.00Vmax. The AD9837 output is 0.664Vpk-pk, 0.048Vmin, 0.712Vmax
I used an Arduino Uno R3 to drive this (not the pro-mini as in the docs). Basically, put a blob of solder over the 5V-3.3V jumpers on the board (to be able to run it at 5V), then (Fsync,SCA,SCLK) on the MiniGen to (10,11,13) on the Arduino (and +5V/GND to power the board), and the library and stock example worked on the first try. I initially hooked the two outputs of the MiniGen to an oscilloscope and the frequency, as set in the library was dead-on. A 1V p-p sine wave, at the proper frequency riding on a DC offset of about 4 volts.
I wish there was a library call for muting the output, but oh well. The board is awesome. Can't believe it'll go up to 3MHz or so.
So... Why, if the AD8937 will work to 8 MHz (per the data sheet), does the board limit to 3 MHz? Haven't yet received mine, but I'm guessing C4 is all than limits the bandwidth... or am I reading the data sheet wrong?
Rats! I just dropped $### on a B+K 4053 function generator. This might have done the job just as well. (B+K was founded by Phillip Ban and Carl Korn. Did Carl later start that eponymous rock band?)
Can you make a version of this as a shield for a regular Arduino? that would be amazing!
I'll suggest it.
What is the point of the opamp at the output? Also, zimboy, Analog Devices' demo board for this DDS IC has the same exact issue.
Word of warning to anyone planning to use this without the recommended Pro mini. I hooked it up to a Uno using 6 inch connection leads to a prototype board, and could not get it to work. Eventually I traced the problem to significant overshoot on the rising and falling edges of the SCLK, SDATA and FSYNC pins. After adding some 220pF caps to ground to filter out the high frequency components on the SPI pins, the overshoot was removed and everything started working as expected.
I'd suggest adding some inline resistance as well, rather than just a capacitor. Increasing the capacitive load the driver needs to push can actually increase ringing issues rather than fixing them.
You're missing the open hardware logo on the product description.
Can I hook headphones up to this, or would the DC offset kill the drivers?
It'd be easy enough to exclude the offset with a couple of blocking caps.
It has potential. It looks like you could beat AM radio direct to audio. It might be worth it just to try that. You can load two frequencies and two phases and switch between for modulation, giving lots of Secret Squirrel possibilities. For me at least, a ramp (sawtooth) is a lot more useful than a triangle and AD could have easily made that happen. On the other hand, it is cap coupled with 10K to ground before the op-amp, so very low freq might be a challenge. The device doesn't block any harmonics so external filtering is a must. I guess that is an active filter and I would figure it out if the op-amp circuit wasn't drawn so goofy. Great op-amp by the way. Help me Jeebus I hate Eagle.
The following isn't a sentence because the word "thought" at its beginning out to be "though". I think. ==Thought the MinioGen is technically a shield it can, in fact, operate as a stand-alone board capable of the the same functionality as it would if it were placed on top of a Pro Mini.== The same sentence includes the word "MinioGen" where I think you want "MiniGen" == I've course, I could be a turkey and wrong in both places but I think I've been reading fairly well today. Thank you for existing!!!
The following isn’t a sentence because the words “I've” at its beginning out to be “Of”. I think. == "I’ve course, I could be a turkey and wrong in both places but I think I’ve been reading fairly well today."
I wonder how accurately does it track down in the hundreds of Hz range. Could it be used as a musical synthesizer?
it has a 3rd order reconstruction filter and a 10-bit DAC. This means low fidelity in conventional audio terms. Also the triangle wave and square wave are not band limited so they will contain strong aliasing components.
Data sheet says 0.06Hz resolution. Absolute frequency accuracy would depend on the xtal oscillator.
It's pretty sharp. The step size is sub-Hz, but I can't totally vouch for its accuracy because all I have to go on is my elderly Tek scope, which tells me it's at the frequency I thought it was--100Hz out to two decimal places.