I have updated my "Tool to control UNIT-T UTG900 Waveform generator"
https://github.com/jarjuk/UTG900 with the support to upload arb files.
Issues fixed:
UTG900.py arb internal waveform, implementation missing
UTG900.py arb external waveform, implementation not working
Known issues:
README.org: API -usage documentation should be enhanced
UTG900.py arb external waveform file, format documentation missing
Kudos to:
If I recall, didn't the E stand for European/English market edition ? ..pre-configured / accessoried up for this region or some such thing ?
Hello,
"E" stands for "Export", which is the version of Exporting out of China.
Regards
I received my UTG932E yesterday. I am impressed by the build quality for the price !
The CPU is a Gigadevice GD32F207ZCT6 (crazy what you can do with isopropanol and a good view angle).
The firmware is not protected... I could not resist ...
After dumping the code I was able to extract the SCPI commands that are recognized by the device. That could come handy when trying to remote control the device.
Some of them still need to be identified.
The commands are:
*IDN
*RST
CHANnel<n>:AMPLitude:UNIT
CHANnel<n>:ARB:INDex
CHANnel<n>:ARB:SOURce
CHANnel<n>:BASE:AMPLitude
CHANnel<n>:BASE:DUTY
CHANnel<n>:BASE:FREQuency
CHANnel<n>:BASE:HIGH
CHANnel<n>:BASE:LOW
CHANnel<n>:BASE:OFFSet
CHANnel<n>:BASE:PERiod
CHANnel<n>:BASE:PHASe
CHANnel<n>:BASE:WAVe
CHANnel<n>:FM:FREQuency:DEV
CHANnel<n>:FSK:HOPPing:FREQuency
CHANnel<n>:INVersion
CHANnel<n>:LIMit:ENABle
CHANnel<n>:LIMit:LOWer
CHANnel<n>:LIMit:UPPer
CHANnel<n>:LOAD
CHANnel<n>:MODe
CHANnel<n>:MODulate:ARB:INDex
CHANnel<n>:MODulate:ARB:SOURce
CHANnel<n>:MODulate:DEPTh
CHANnel<n>:MODulate:FREQuency
CHANnel<n>:MODulate:SOURce
CHANnel<n>:MODulate:WAVe
CHANnel<n>:OUTPut
CHANnel<n>:OUTPut:SYNC
CHANnel<n>:PM:PHASe:DEV
CHANnel<n>:PULSe:FALL
CHANnel<n>:PULSe:RISe
CHANnel<n>:SWEep:FREQuency:STARt
CHANnel<n>:SWEep:FREQuency:STOP
CHANnel<n>:SWEep:TIMe
CRC
CVER
DISPlay
DISPlay:Data
IDN
KEY:<k>
KEY:<k>:LED
RP<n>:ADDR<a>
SCPI
SYNC<n>:CMD<a>
SYSTem:BEEP
SYSTem:BRIGhtness
SYSTem:CONFigure
SYSTem:CYMometer
SYSTem:CYMometer:DUTY
SYSTem:CYMometer:FREQuency
SYSTem:CYMometer:PERiod
SYSTem:ERR
SYSTem:INFo
SYSTem:LANGuage
SYSTem:LOCK
SYSTem:NUMBer:FORMat
SYSTem:PHASe:MODe
SYSTem:SLEEP:TIMe
UPDate
WARB<n>:CARRier
WARB<n>:MODulate
WFILE
WP<n>:ADDR<a>
You will find more details in the pdf attached to this post.
I also monitored the traffic between the CPU and the 24LC64 eeprom and dumped the eeprom. Interesting as my UTG932E turned now to be a UTG962E.
The 496 first bytes of the eeprom are used to store the current configuration. The model definition is store at the end of the eeprom (see print screen). I did not find the serial number in it.
As the model type (30 or 60Mhz) is stored in the eeprom and the eeprom is only connected to the CPU, there might be a possibility that a SCPI command could change the model. I modified it the hard way with my TL866 programmer but this would of course be more convenient via SCPI.
Enjoy!
Edit: Reduced pictures size
That is a sanding/etching fail. Not locking the device is even bigger fail. I tried on mine with water and alcohol, but could not see anything.
Fortunately the UI here is more of less tolerable to go into trouble of creating an alternative firmware.
Fortunately the UI here is more of less tolerable to go into trouble of creating an alternative firmware.
Yes. There are only 2 things that I find annoying regarding the UI: the way the frequency digits are truncated for frequencies > 1Mhz and the encoder direction when selecting the next line. You have to decrease to go to the next line
Nice score, this could open up some hacking options.
They really failed on locking that lot down, sloppy. But good for us
Yeah, Tony has a few other attack vectors he wanted to try as suggested in the TEA thread; I intended to post in here if any of it panned out.
@fremen67: Well done ID-ing the CPU and dumping the EEPROM/SCPI command table. This could very quickly become one of the most hackable budget instruments yet.
mnem
UNI-T UTG962E with external ref is working!..
It was indeed a ground problem... silly mistake
, but it works now, thanks for pointing that out.
Spoiler: i connected my ADF4351 LCD and MAX2870 LCD but they do not output enough power, so its only working now on my 6 Channel PLL,
but is was a nice try.. so if you can amplify that 500 mV to 1,5 Volts.. you have it working cheaper.
still that 50 MHz is not convenient for ext. ref.
still that 50 MHz is not convenient for ext. ref.
maybe future task will be 5X PLL from 10MHz rubidium of GPSDO ref
The Leo Bodnar GPSDO can outPUT 50Mhz or any frequency up to 800Mhz from its second channel. Which is handy I use 1st channel for 10Mhz . So 50Mhz from 2nd will go nice with my UTG 962 . . and with external input Ref should make very Accurate
It was one on my todo project list.
Just doing an overhaul on my Fluke 515A .
Thanks great work ..
still that 50 MHz is not convenient for ext. ref.
maybe future task will be 5X PLL from 10MHz rubidium of GPSDO ref
That is more or less what i did.. my 6 channel pll is ofcourse connected to 10MHz ref
... GPSDO
for me the 50MHz is no problem, i was just looking for a cheaper solution for others.
Hi Tony,
I had a similar problem! I was looking for a cheap replacement for an expensive 100MHz OCXO. Final solution was a 20MHz OCXO in combination with an IDT570 clock multiplier. I divided the 20MHz by 4 -> 5MHz and configured the IDT570 to 20x -> 100MHz
Your configuration would be a single D-FF (10MHz -> 5MHz) and the IDT570 configured for 10x -> 50MHz
All you need is a D-FF and the IDT570 (8pin SO, 2.4€ at Mouser), no external components! Remaining open issue is the input buffer for the 10MHz signal.
Should easily fit on a tiny PCB ... even inside the UTG962! Jitter performance of the IDT570 looks good ... at least for my understanding ;-)
Happy clocking BugCatcher
Yes cool idea!... for now i am okey with my pll connected to gpsdo... but your option is a lot cheaper, thanks!
Hi Tony,
I'm eager to understand the real performance/resolution of the UTG962. The manual shows 0.1Hz resolution at 10MHz (0.01ppm). Is this the real resolution?
Your 10MHz are looking "bang on"! Keep in mind that this is a b.c. scenario (exact 20 samples per period).
I would recommend the following test:
- increase the 10MHz manually in steps of 0.1Hz
- check the precise frequency on your high resolution counter (connected to the same reference!)
- observe the spectrum on an SDR-receiver (A1 audio and waterfall spectrum), cheap spectrum analyzer are not good enough
- frequency deviations would prove arithmetic limitations of the DDS (insufficient word length of phase increment and accumulator)
- you can overcome missing frequency resolution by random switching between two different phase increments
-> looks like FSK modulation, no longer single carrier !!! (level of unwanted sidebands is defined by modulation index)
I did a similar test with a MHS3200A function generator. Found that the lowest 2-3 digits of the frequency were "decoration"!
The ADALM2000 from Analog Devices is using a random switching approach (the integrated spectrum analyzer was not sensitive enough to detect the sidebands!).
Happy clocking BugCatcher
Hi Tony,
I'm eager to understand the real performance/resolution of the UTG962. The manual shows 0.1Hz resolution at 10MHz (0.01ppm). Is this the real resolution?
Your 10MHz are looking "bang on"! Keep in mind that this is a b.c. scenario (exact 20 samples per period).
I would recommend the following test:
- increase the 10MHz manually in steps of 0.1Hz
- check the precise frequency on your high resolution counter (connected to the same reference!)
- observe the spectrum on an SDR-receiver (A1 audio and waterfall spectrum), cheap spectrum analyzer are not good enough
- frequency deviations would prove arithmetic limitations of the DDS (insufficient word length of phase increment and accumulator)
- you can overcome missing frequency resolution by random switching between two different phase increments
-> looks like FSK modulation, no longer single carrier !!! (level of unwanted sidebands is defined by modulation index)
I did a similar test with a MHS3200A function generator. Found that the lowest 2-3 digits of the frequency were "decoration"!
The ADALM2000 from Analog Devices is using a random switching approach (the integrated spectrum analyzer was not sensitive enough to detect the sidebands!).
Happy clocking BugCatcher
Nice test!
i will play first with the Juntek PSG9080
.. just in.
have the WhiteLabel (saves you around 30 dollar)..but is seems very original, or the have send a real one by mistake..
keep an eye on the channel.
PSG9080 WhiteLabel - Ali:
https://s.click.aliexpress.com/e/_AP5w9rPSG9080 Org AliExpress:
https://s.click.aliexpress.com/e/_9y5dElPSG9080 - BangGood :
https://www.banggood.com/custlink/mmDYOlkDEVnow you know why i mostly hang-out in the TEA section here .
Hi Tony,
impressive device!
I would start with the lowest frequency ... 1nHz one period is equal 31.7 years ;-)
UPS (uninterruptible power source) is a must!
Have Fun BugCatcher
Hi Tony,
impressive device!
I would start with the lowest frequency ... 1nHz one period is equal 31.7 years ;-)
UPS (uninterruptible power source) is a must!
Have Fun BugCatcher
I have a funny feeling it might fail before one finishes that test ..
May need a backup test plan.
i will play first with the Juntek PSG9080 .. just in.
now they are listening. the numeric keypads is most welcomed. i might consider buying that brand if they've put the keypad on earlier version.
I would start with the lowest frequency ... 1nHz one period is equal 31.7 years ;-)
UPS (uninterruptible power source) is a must!
I have a funny feeling it might fail before one finishes that test ..
May need a backup test plan.
I have a funny feeling someone will go to the trouble to test it unknowingly/happily/proudly wasting half of his lifetime
(1). the backup plan i think is called wisdom, its clearly a marketing gimmick. no affordable battery afaik that you can put in a UPS that can last 31yrs, not even close.
now you know why i mostly hang-out in the TEA section here .
very understandable!
(~1)
I would not worry about the Battery . The Power supply and the components will more likely fail a few minutes after
the warrantee*(1) . So I would make all the tests on the highest frequencies first .
Also take into account that it may have fake or low grade components . The Box may out last the years or so .
*(1) Chinese warrantee 1 year .. Not stating Which Year .
i will play first with the Juntek PSG9080 .. just in.
have the WhiteLabel (saves you around 30 dollar)..but is seems very original, or the have send a real one by mistake..
keep an eye on the channel.
What means white label?
my one has this label. In Hz mode it has 0.001 Hz resolution and change least significant digit affect the output frequency. Tested it by phase comparison on oscilloscope. Also I can see difference between 90.000 Hz, 90.001 Hz and 90.002 Hz on my Brymen 867, I don't have freq meter with better resolution. PSG9080 allows to select also mHz and uHz mode, but I didn't tested it.
i will play first with the Juntek PSG9080 .. just in.
have the WhiteLabel (saves you around 30 dollar)..but is seems very original, or the have send a real one by mistake..
keep an eye on the channel.
What means white label?
my one has this label. In Hz mode it has 0.001 Hz resolution and change least significant digit affect the output frequency. Tested it by phase comparison on oscilloscope. Also I can see difference between 90.000 Hz, 90.001 Hz and 90.002 Hz on my Brymen 867, I don't have freq meter with better resolution. PSG9080 allows to select also mHz and uHz mode, but I didn't tested it.
The seller does not mention the name JUNTEK, only the type... selles it cheaper than all others..
not the name JUNTEK on the box... but the sticket says JUNTEK...
Stay tuned...... what generator is in the box... does that say JUNTEK or is it also without name?
my one is branded Juntek.
Their price on aliexpress is about 140 EUR. They all exactly the same from the same factory. The difference is just a seller margin.
What is your firmware version? 1.20?
Waterfall on the siglent okey
25 MHz + 0.1 Hz