Review: IEMP v1.0 – Simple Arduino DDS Signal Generator
Name: IEMP v1.0 – Simple Arduino DDS Signal Generator
Distributor: ITead Studio
Evaluation Type: Development Tool
Application you used the part in: Signal generation
Was everything in the box required?: No, but Yes if you want to customize
What were the biggest problems encountered?: The power supply on the board gets really hot when used
Product Performed to Expectations: 7
Specifications were sufficient to design with: 7
Demo Software was of good quality: 5
Demo was easy to use: 9
Support materials were available: 8
The price to performance ratio was good: 8
ITead Studio have provided us with their signal generator board called IEMP which is an inexpensive digital signal generator capable of generating both sine, triangle and square waves up 5MHz (though 1MHz for triangle and square only). In this review I will walk thru the different parts on the board, that together with the ATMEGA328P is generating the different signals. I will test the different signals and by using an oscilloscope I will show you the waveforms and comment on them.
To start with please take a look at the Video review where I show the board and demonstrates the different signal types by using an oscilloscope.
When you buy the board from ITead Studio you get a nice red PCB with a Nokia 5110 LCD mounted on top. You also get some metal standoffs and their Foca tiny serial breakout. This serial board can be used to reprogram the onboard ATMEGA328P which is running the Arduino bootloader. I will talk more about this later.
As I said the IEMP board can be used to generate signals, but how does it works.
Together with a graphics LCD and a rotation encoder the IEMP has a menu interface where you can select which type of signal you want and the desired frequency. All this is being controlled by an ATMEGA328P running the Arduino bootloader.
The firmware that is installed and shipped with the board is very simple and lightweight but can’t do anything else than letting you set the frequencies. Though ITead Studio has published the source code so you are able to modify and make the firmware better or even add another feature (like frequency swipe).
The ATMEGA328P is connected thru SPI to an AD9833 chip, a low-power Programmable Waveform Generator from Analog Devices. This chip takes care of generating the different signals by just writing the signal type and signal frequency to its’ registers. The output of this IC is then connected to different filters and amplifiers (Op-amps) to generate both a TTL-level output (3.3V or 5V) and a specific Gain and Bias controlled output.
The specifications of the IEMP board is the following:
- Sine: 100Hz ~ 5MHz
- Triangle: 100Hz ~ 1MHz
- Square: 100Hz ~ 1MHz
- TTL (Square): 100Hz ~ 5MHz
- Wave Amplitude: 0.3Vpp ~ 9Vpp
- Bias voltage: -4.5V ~ 4.5V
- Duty cycle: 50% ± 10%
- TTL level: 3.3V or 5V
The two potentiometers for Gain and Bias control is very sensitive and it is difficult to precisely adjust the Bias voltage to fx. 0V. As these potentiometers is directly connected to the amplifier circuitry it is not possible to control this by software. But as the potentiometers are also connected to the ATMEGA328P the current Gain and Bias setting can be read out.
The board has a normal jack connector for power supply and on-board voltage regulators takes care of generating the required 5V power supply. The board uses the MC34063 Step-Up/Down/Inverting Switching Regulator to generate a general voltage level, and then they use LM7905 to generate the negative 5V supply used by the op-amps. ITead Studio decided to use a SOT223 packaging for this negative voltage regulator, which is small and doesn’t have any heatsink – so it gets EXTREMELY HOT!
I am surprised that they didn’t thought about the power consumption in this regulator and chose another packaging. As long as you don’t touch it there is nothing to worry about – the circuit seems to work fine and the voltage output is stable.
The signal outputs can be accessed thru two screw terminals, one for the TTL-level and one for the Gain and Bias controlled. The TTL-level can be selected using a jumper, selecting either 3.3V or 5V. The outputs can also be accessed thru two BNC connectors for antenna connections or impedance controlled wires. This is great if you want to minimize noise from the generator to the electronics where the frequency is required.
The board has also a third screw terminal which is an input. This can be used for frequency modulation, where the input frequency is modulated with the generated signal and then output. This is usefull if you want to do FM modulation/transmissions, as the modulation can be easily done with the board.
Below you will find a list of oscilloscope images showing the output signal of the IEMP board at different settings.
Type: Sine, Freq: 10,000Hz, Vpp: 2000mV, Bias: 0mV
Type: Sine, Freq: 1,000,000Hz, Vpp: 2000mV, Bias: 0mV
Type: Sine, Freq: 5,000,000Hz, Vpp: 2000mV, Bias: 0mV
Type: Sine, Freq: 5,000,000Hz, Vpp: 3000mV, Bias: 1500mV
Type: Triangle, Freq: 500,000Hz, Vpp: 2000mV, Bias: 0mV
Type: Triangle, Freq: 1,000,000Hz, Vpp: 2000mV, Bias: 0mV
Type: Square, Freq: 500,000Hz, Vpp: 2000mV, Bias: 0mV
Type: Square, Freq: 1,000,000Hz, Vpp: 2000mV, Bias: 0mV
TTL 5V, Type: Sine, Freq: 1,000,000Hz, Vpp: 2000mV, Bias: 0mV
TTL 5V, Type: Sine, Freq: 1,500,000Hz, Vpp: 2000mV, Bias: 0mV
Pros and Cons
- Inexpensive signal generator for hobby use
- On-board USB programmer and debugger
- Minor frequency instability, and up to 10% duty cycle offset – there is a small inaccuracy in the on-screen frequency counter on the DS1052 oscilloscope
- LM7905 for the negative power supply gets extremely hot (IC9 in schematic)
- The board is a bit noisy because of the high-frequency switch-mode
This board is definitely a great board for the electronics hobbyist with a need of a signal generator. But if you have a specific task where precision in both the frequency and voltage is required, then this isn’t the board for you. This board is capable of doing the advised things and it generates some pretty decent signals which can be useful in many different applications.
So if you don’t already have a signal generator tool at your workbench, you should try this out!