First off, this is not an ad or paid blog. I was recently working on a project where I needed to generate several different waveforms simultaneously and my old, trusted and true GW Instek SFG-2110 Synthesized Function Generator just wasn’t going to do the trick. I considered using MicroPython and slapping some FETs on the I/O lines, but by the time I went through the process I would have expended more money in labor than if I just bit the bullet and bought myself a new waveform generator. I thought I would share my experiences with my selection in case anyone is in a similar position.
(Image Source: Siglent)
There were several reasons that I decided to look at the Siglent SDG-2042X arbitrary waveform generator. It met several of my requirements which included:
- Dual output with independent waveforms
- Modern looking and sexier aesthetics
- Programmable using Python
- Natural / Intuitive user interface
- 10 MHz or greater frequency (This generator can do 40 MHz)
- Budget around $500 USD
- Expedited shipping ( Aren’t all a day too late and a dollar short?)
I originally did not think that the display had a touch screen, after poking around at it and not seeing happen. I though it would have been convenient, but given that the push buttons are adequately labeled and the interface super intuitive, it really is not a necessity. However, while writing this blog and deciding to look a little bit closer at the manual, I discovered that indeed it does have a touch screen! The touch screen is just not super sensitive like a phone and requires the user to apply a fair amount of force to get the touch to register.
I was so impressed and tickled with how nicely the Getting Started Guide was put together for the unit, even though I did nothing more than flip through it for 5 seconds out of curiosity while I waited for the unit to boot. As you can imagine, after discovering I had overlooked the touch screen, I’ve since gone back and devoted a bit more time to looking at the manual to see what other useful features I’ve overlooked (more on that later).
Honestly, that’s what I liked about the unit. Yes there is a manual, but for all the basic functions there was no real need for the manual, especially if you have used a function generator before. I think it took me about 60 seconds to get my bearings and find all the right knobs and switches and I was up and running, at least with the basic wave generation functions. There is a button to switch between channel 1 and channel 2, independent buttons to enable or disable the channel outputs and a nice rotatory switch to manually ramp and adjust frequency or other settings.
I originally wanted a generator that I could program and use with Python, however, after reading that user manual, I discovered that I could use the Siglent Arbitrary Waveform Software EasyWaveX software which you can see a screenshot of below:
(Image Source: Siglent)
I originally wanted to write some scripts that would allow me to simulate the controller frequency inputs so that I could simulate various stages of the start-up and run cycles. With this software, I was able to choose to either hand code the scripts myself or just design my output wave and then trigger the waveform to simulate my expected input, allowing me to test the controller on the bench. The software is handy for quick benchtop testing, but with the programmable / computer interface capabilities, this could easily be built into some hardware in loop testing for system level testing and validation.
As a software guy, I usually don’t get too geeked out about function generators, but so far I’m really liking my Siglent 2042X. I’ve only had it for a week or so, but so far it’s proving to be a fantastic upgrade from my last frequency generator and I’ll be looking to integrate it into my system level and automatic testing. This tool does a ton and I’ll probably spend the next year learning all the cool little features that it offers and putting them to good use.