G0UPL's Ultimates, GPS.

This page is specific to the Hans Summer Ultimate 3 but will apply to most other projects. Group https://groups.io/g/QRPLabs
At the bottom of this page I am adding notes about other programming methods I see mentioned. 
And also:-
Cheap USB Programmer from Ebay 
Saving the EEPROM data. and some links for general information.
Some old  GPS units I have tried.
June 2015 AD9830 DDS mod:- http://www.qrp-labs.com/ultimate3/u3mods/u3mod6m.html (Short R12).

Connecting to the U3 for In-Circuit Programming.

March 2014:- The U3 now has a pre-installed socket.

This page http://benryves.com/bin/avr_tutorial/avr_tutorial.htm shows a simple in circuit programmer.
In the Files section of the Yahoo! QRSSLabs group is a document http://groups.yahoo.com/neo/groups/QRPLabs/files/Firmware%20for%20U3%20kit"programming.pdf which describes an interface to the U2. Still there but the current place is https://groups.io/g/QRPLabs/files note there are several pages, not one big one like Yahoo.

Here are some pictures that show how I connected the U3

Above details of connections to the U3. Refer to "programming.pdf" for explanation. Pin numbers of Atmel168. Two are routed to currently unused pads. Pin 19 may be accessed on the marked via.

If you intend to use the bandswitching option then connections may be made directly to the IC socket pins. Or to the underside of the bandswitch header, I made connections to the top of this.

The programming connector.

A closeup of the Reset pin 1. The two tracks going to it are cut. I have put a 10K surface mount across one cut. A small wire component could be used instead. The wire link maintains continuity of the 5V track.

Various programmers are available but I cannot comment about those. I make my own if possible and the COM port one below is simple!
But see the bottom of this page, Cheap USB Programmer from Ebay (£2.67 inc.) cheap enough to tempt me! I now recommend this!

A Serial COM port Programmer

My build of this on Veroboard. My usual trick, I've reused a piece so it is not as clear as it might be. Again I have used surface mount where wired components could go instead. The horizontal ones are soldered across a cut in the track. 
The tracks do not correspond with the schematic.
The +5V and 10K (I used 12K) to the reset pin are duplicated on the U3 board, although I only realised this after I had finished. This is probably not needed.
I used Averdudess another time, it does not mention COM pin 6 for the serial adaptor so I disconnected it.


 COM Port  Track From Top  U3 Atmel168
 X  1  1 Reset
 3  2  +5
 5  3  Ground -ve
 6,7  4  19 SCK
 X  5  X
 4  6  17 MOSI
 8  7  18 MISO
 X  8  X

Please check!! I do make mistakes.

Two 5V1 zener diodes and a BC547 on top. In fact almost any small NPN will do.


The Atmel program looks immense just for flashing a chip. 
You may decide to download and install this. http://www.atmel.com/tools/atmelstudio.aspx Refer to programming.pdf.

I decided to use PonyProg, about 1/1000 of the install size.
Ponyprog - not a 750MB download http://www.lancos.com/ppwin95.html use latest beta, earlier ones do not include the Atmel168. Later chips may not be supported in PonyProg, the Averdude/Averdudess combination will.

Let it calibrate. Set the COM port 
It looks as if it will only accept ports up to COM 4. I used a real port. A USB/serial adapter did not work for me. It will probably run on an old computer with a real port. I don't think flashing a chip will stress and old system.

Select the Atmel168

Connect the interface, power up the U3. Command - Read All.

You should get a "Read Sucessfull" and the window should be full of data with some recognisable text on the right.

Now select the updated hex file.

 If you do not see the hex file then use the drop-down.

And write the flash. 

March 2017 for some time there has not been an eep file, it is no longer needed.
[[Do the same for the eep. Select the file and "Write Data (EEPROM)]]

Rebooting the U3 I got "v 3.00d..."

Fuses:- If the Atmel168, or later 328, has been programmed before then they are already set so do not touch them.  But if you are upgrading a U1 to a U2 or U3 then note the fuses ARE different.

April 2014 For fuse settings for the Atmel 328 using AVR Dude See this thread https://groups.yahoo.com/neo/groups/QRPLabs/conversations/messages/3897  "The fuse settings for 3.03b are as follows:

Extended fuse:0x04  Low fuse:0xF7 High fuse:0xDF"

And Andy's page here https://sites.google.com/site/g0ftdradio/home/ultimate-3 A screenshot of Extreme Burner setup for a Atmel 328. And using Windows 8.  ALSO:-Files for updating Extreme Burner for the Atmel 328.    "LOW = 0X F7, HIGH = 0X D9, EXTENDED = 0X FC, LOCK FUSE = 0X FF, CALIBRATION = 0X FFFFFFB9 - I do not think you require the lock fuse or the calibration."
Different people offer slightly different settings but they work, obviously some are not used or not critical.

Info on programming in the QRSSLabs group:- G3ZJO has some interesting information, Open Office reader available here http://www.odtviewer.com/ 

Other methods.

I'm sure there are many other sites giving a better way than mine. Or one that suits you better. Search!

Cheap USB Programmer from Ebay + Averdude    (Driver:- Use Zadig choose libusb-win32)

March 2014 All U3s will have a 10 pin header for a socket to suit these Usbasp avr programmers. In circuit programming made simple. Later models have the standard 6 pin connector.

Another post from Graham, using Averdude for the Almel 328 https://groups.yahoo.com/neo/groups/QRPLabs/conversations/messages/3342

 VE3KCL in the Photos section:- http://groups.yahoo.com/neo/groups/QRPLabs/photos/albums/2087458949/lightbox/284563526 Does this link work for you? A completely different way, removing the chip and using a cheap ready-made programmer. Or I'd think it could be used in-circuit using the connections as I've described??  Yes! See below.
This shows  Averdude, a Windows command line application. (Or you may find Extreme Burner easier)

Cheap USB Programmer from Ebay + Extreme burner

Extreme Burner here http://extremeelectronics.co.in/avr-tutorials/gui-software-for-usbasp-based-usb-avr-programmers/ is an alternative with a graphic interface.. Versions for all platforms. But it may need caution, 

Look here for a file that adds the Atmel 328 to Extreme Burner.

 G0MJI Read here http://groups.yahoo.com/neo/groups/QRPLabs/conversations/messages/2652  Copied below:-

"I purchased: 1 cheap Ebay Usbasp avr programmer.  1 Olimex AVR-P28 development board. (Also on Ebay, not too expensive but I'd already prepared my U3 for in-circuit. And you risk damage every time the chip is removed.)
Download: EXtreme Burner 1.4 (well the latest version) set to correct chip type
The programmer and development board plugged together easily so long as pin 1 is taken note of. No outboard psu was required.
Then I lost six hours of my life.
I could clone existing working chips with 'read all' 'write all' buttons in EXtreme Burner. But using the load/write buttons with fresh code produced corrupted versions of Hans' code.
Eventually I discovered a possible bug in Extreme Burner and a work around. So long as I loaded the files using the 'file' menu, rather than the 'load' buttons It then updated the chips fine, even with 'write all'.
Using the above V2.05 was updated to latest version and V3.0 was updated to latest version.
Perhaps this may help someone else. If not I can look this up next time there is an upgrade.
Note to self: Do not use the BUTTONS in eXtreme.
73 Bri G0MJI"

I have now tried this, a cheap Ebay Usbasp avr programmer with the cable end cut off and connected to my U3 as described above. Using EXtreme Burner as Bri describes I programmed a Atmega168 in circuit. This does require the Ultimate* to be powered.

   Ribbon Lead Connections From Top
 1*  (Red dotted) MOSI (Atmega168 pin 17)
 2  NC = (No Connection to be made)
 3  NC
 4  NC
 5*  RST (Atmega168 pin 1)
 6  NC
 7*  SCK (Atmega168 pin 19)
 8*  Ground
 9*  MISO (Atmega168 pin 18)
 10  Ground (is connected to 8)

* Five connections to the Ultimate*. U3 as described at top of this page.
NC:- Some of these wires are connected to the programmer. Do not connect anything to these wires, these connections are not required.
I put a plug on the end of the ribbon cable to suit my in-circuit connector to the U3, as above, but no connection to the 5 volt contact. (Note this USB programmer goes straight to the U3)
CHECK THIS! Your cheap Ebay may be different or maybe I've made a mistake.

Saving the EEPROM data.
I had a problem, the EEPROM data got corrupted. This was because my brownout fuses were wrong. If the EEPROM data is saved from a working configuration it may be quickly restored by in-circuit programming. This might help to load different configurations when a lot of settings may need changing.
EXtreme Burner  will read the chip and save both the flash and EEPROM
data and save as hex and eep files. I found there was no point in selecting just eep, it saved both even though I had not read the hex. Just the saved eep may be quickly loaded.

Links for More Information

 Graham VE3GTC has some notes about various programmers here  http://groups.yahoo.com/neo/groups/QRPLabs/conversations/messages/3182

http://groups.yahoo.com/neo/groups/QRPLabs/photos/albums/1642656830/lightbox/ John G4PIR's off-board programming setup.

http://groups.yahoo.com/neo/groups/QRPLabs/photos/albums/843997587/lightbox/ Jon Ove LA3JJ's in-circuit interface. Looks familiar!

The module in the qlg1 GPS unit https://www.qrp-labs.com/images/qlg1/yic_module.pdf

GPS Units. And good advice from Paul, KE7HR, about setting up the Ultimates for use without GPS. This is for the U2 with DDS, the principle is the same for the 27MHz Si5351 crystal.
Also note if you have a stable oscillator the PPS may not be required, just the NMEA from a GPS is needed to maintain accurate timing indefinitely.

I've been looking at various old GPS units. Possibly seen at rallies, maybe more likely in someone's junk box. Quite a few in mine! These are probably not quite as sensitive as modern ones and a reasonable view of the sky is required. (As all need for reliability).
The Oncore and Garmin 18LVC NMEA is one second slow, not perfect but adequate for WSPR. If you are concerned about the second then disconnect the NMEA and set the time manually.
And I'm not sure about the exact timing, when checked with my internet-timed computer (usually reported as within 50mS) sometimes I get DT -1.02, sometimes DT -0.2. Maybe the variation is in which PPS the Ultimate actually locks on? And Windows is not a real-time system.

The accuracy of frequency setting by the PPS will be shown at the higher frequencies, I use 10 and 12m. A few Hz variation here would not be noticeable on the lower bands. All I have tested so far do not require the "Huff Puff" (HP) feature to be activated.

The old Garmin 18LVC has positive-going NMEA pulses, it needs a simple single transistor inverter so that the U3 will read it. works at 4800 and 9600 baud, possibly other rates. The pps is reasonably good. Newer models were made.
These are integral units with about 4.5m of cable and need a 5V supply.
WSPR "DT" -1.0 seconds.
Click on picture for full-size in new window.

An alternative to a transistor is an inverter/buffer IC like the 7404. To remove the chance of damage I have used an IC as a buffer for all inputs/outputs of my GPS units. A single stage inverts, two will give the original polarity. It may be best to use a fast IC to preserve the accuracy of the PPS.

If an inverter is not needed then protection may be provided by a series resistor, 2K2, probably higher, will not usually affect the data.

Other old GPS units I've tested:- All require a separate, preferably active antenna and a PSU. The pps is typically specified as +/- 1mS but I suspect that IS worst case. They all seem to set the U3 within 3-4Hz max at 28MHz.
A Rockwell Jupiter provides an adequate pps. And the U3 reads the 4800 baud NMEA with it's negative-going pulses.
It needs a 5V supply. It also has a 10KHz output locked to GPS time. Useful as a frequency reference to check counters and lock oscillators.
There was a "T" model with the pps specified to 100nS but these were rare.
WSPR "DT" 0.0.
The Motorola Oncore SL is another with pps output. Specified +/-500nS. There are various 5V models, some with a more precise pps. This has a negative-going NMEA and sets my U3. But it has the disadvantage of requiring initialising by a computer after it has not been used for a while. (Visual GPS 3.33, the "Legacy" version, will do this). I'm not sure how long has to pass before initialising is required again, more than one day.
WSPR "DT" 1.0 seconds.
A Leadtek 9543L provides suitable signals. It is a small 3V3 unit. Connections require a delicate touch! PPS +/-1uS.
WSPR "DT" 0.0 seconds. Negative-going pulses compatible with Ultimates.

A basic Blox LEA-5S module is a test of soldering skills. This is really a surface mount module but I managed with wires. 50nS is mentioned in the specs but I guess this refers to the LEA-5T timing version. It needs 3V3. The U3 reads the NMEA and the PPS holds it to within a few Hz on 12m.
This is a sensitive module. Indoor, unpowered antennas are possible. Negative-going pulses compatible with Ultimates.

This module is incorporated in an Arduino aircraft control module See here a message from Dave VE3KCL

I did not find sockets so I soldered directly to these boards.
On one I was trying I mixed the PPS and NMEA connections. Obviously the Ultimate did not read the NMEA but it saw the NMEA as a PPS! Care!
All these units have configuration utilities, possibly they may not be needed. As long as the NMEA RMC sentence is transmitted they should work with the Ultimates.

A page here on the u-Blox 6 & 7 with reference to their configurable output of up to 10MHz GPS-referenced signal. https://sites.google.com/site/g4zfqradio/u-blox_neo-6-7

 I have some notes about GPS units here http://homepages.wightcable.net/~g4zfq/chirp.htm including a download of the CSI-GPS utility. CSI-GPS will configure the Jupiter and Oncore and show navigational data. NMEA, just RMC for the Ultimates, GSV, GGA, GSA, for the CSI-GPS display.

Monitoring Output on a Computer.

September 2014:- Not so essential now Hans has incorporated the data on the U3's display but gives a little more.

A program like u-Centre Visual GPS or the older CSI-GPS will show the number of satellites from which a GPS is getting it's location and timing. The Azimuth and Elevation window is especially interesting for a GPS that is used with an internal antenna and a sensitive receiver. With a quadrifilar from a radiosonde hanging in the corner of my room I see 6, 7, 8 satellites being used often none of them visible directly from the window.

Test with your Ultimate switched off. Note the degradation, maybe loss of signals, when the Ultimate is switched on. There are enough emissions from the Ultimates to wreck 1.6GHz reception. Screening is important.  A remote powered antenna is always best. All the units I've tested have the facility to send power to a remote antenna.
The Survey window could be used as a record to compare antennas or antenna positions.

To connect to a computer the TXD signal from the GPS will normally have to be inverted and fed to RXD on a COM port (Serial or RS232 port). All COM port inputs are compatible with "TTL" data, even at 3V3 from a modern GPS. A USB/Serial (COM port or RS232 port) adaptor will work well with Visual GPS.

The inverter shown above will suit, converting the negative-going pulses that the Ultimates require to positive-going pulses the COM port needs. Either 5V from the Ultimate or 5/3V3 from the GPS power may be used.
Pulses from the older Garmin module I mention above do not need inverting, it needs the inverter to feed the Ultimate.

I recommend making your own cable to the computer COM port pin 2. If you use an "extension" lead be aware that many are "null modem" with pins 2 and 3 crossed.

The GPS TXD is an output, after inverting it connects to the RXD input of a computer. Male DE9 pin 2. Ground connection to pin 5.

Or use a CP2102 USB TTL UART  Bridge, cheap on Ebay. These interface directly, a 3V3  bridge will  connect to a 3V3 GPS unit and also supply power if required. Other 5V versions are available..

Very often the mouse cursor will move uncontrollably when first connecting a GPS to the COM port.
Windows (even Windows 10) sees GPS data on a COM port as a Serial Ball Point Mouse. The solution is to remove the GPS, leaving the UART plugged in, then disable this in Device Manager.

DO NOT CONNECT THE COMPUTER TXD (Pin 3) TO THE GPS WITHOUT A RESISTOR/ZENER TO CONVERT TO TTL. THE GPS RXD INPUT IS NOT COMPATIBLE WITH COM PORT SIGNALS AND WILL BE DAMAGED. It is only necessary to connect the computer TXD in the unlikely event you wish to send commands to the GPS.
 The simple way to convert - No MAX required.

GPS Time Keeping

 http://www.dxatlas.com/ToyNtp/ WILL work on UART/USB Serial (Probably lower accuracy.) BUT must use 4800 Baud. QRP Labs/many newer GPS default 9600.
http://4river.a.la9.jp/gps/  Will use NMEA to set the time, good enough for WSPR and the like. "A clock of a PC can be corrected cyclically by a GPS."
https://www.coaa.co.uk/gpstime.htm is supposed to do the same.
SatK Older Japanese, only COM1-4 supported.  http://www7.ocn.ne.jp/~set/Satk34.lzh http://www7.ocn.ne.jp/

Baud Rate:- uBlox - u-Centre - Configure Ports - Baudrate - Send.

September 2014:- This does not really suit the current U3 with relay boards.

I see no point in just operating in TX mode. As a radio ham I like to know how conditions are both ways. Even if you are in a rare DX location others want to know how their signals reach you.


Here is a way of using the same antenna for your RX.
I used a 5V reed relay but a 12V one could be used with a suitable supply.
My relay uses about 30mA so is switched by a small NPN transistor.The U3's Q1 switching signal is used, the resistor is not critical, 2-20K will work. The diode across the relay coil may be any small silicon type.
The output from the LPF is disconnected from the antenna on receive so the DDS signal leakage is greatly reduced, I have also grounded it thinking it might reduce the signal more. You may prefer a 50 ohm load resistor here.
I also ground the RX input on transmit, hopefully reducing any leakage from the U3 output.
A single pole relay could be used, just switching the antenna from the RX to the LPF, this would probably be adequate.

If you have made a connection for the in-circuit programmer described on this page then the required connections may be taken from there.

Click on picture for full-size in new window

Testing TCXOs

Modern Temperature Controlled Crystal Oscillators have very good performance, maybe good enough for all but the most critical radio work. Some of us have tried these with the Si5351 synthesiser chip.
The board now has pads so something the size of the FOX unit may replace the 27MHz crystal.
The way they implement the control varies.
Below, the FOX924 27MHz. The control moves the frequency in 0.5Hz steps. Long-term frequency control looks good but the steps may make it unsuitable for digital modes, especially if used as a reference for VHF.
The charts below show frequency changes at 27 and 26MHz with temperature. Si5351 frequencies will vary in proportion, about 1/3 at 10MHz 5 times at 144MHz. The approximate temperature in °C of my improvised oven is recorded along the top of the charts. Time along the bottom.
Range 3.5Hz
The chart below is using an Epsom 26MHz TCXO. While 26MHz is not ideal for the Ultimates the slightly inaccurate WSPR shifts still enabled me to decode 144MHz WSPR from a U3S.

Note similar long term stability and a smooth curve without the jumps. (The slight irregularities are due to mechanical disturbance of my improvised test setup.)
Range 2.0Hz

Both are surface mount, mounted "Dead Bug". The Epson is really small about 2x3mm.

The question is "How do we find which type of control is used for any particular TCXO?" So far I have found no warning about the nature of the FOX devices.
ZL1RS:- "ECS-TXO-5032 27 MHz TCXO (from Mouser).  It jumps like the FOX does".
Another very small one Abracon ASTX-H11-27.000MHZ-T SM7ETW thinks it does not jump. 3V3 nominal.
The Connor Winfield D75F-027.0M is a more expensive choice.

This is the Epsom TCXO, minute, about 2x3mm! Mounted "Dead Bug". Surprising what can be done with care. Note modern components are tough and will usually survive a lot of abuse.
http://www.ebay.co.uk/itm/CRYSTAL-TCXO-26MHZ-SMD-MPN-X1G0042110002-EPSON-/391339155043?hash=item5b1da19e63:g:1MMAAOSw-nZTpJCO Still says 4 sold, all mine?
NOTE:- these are EPSON - TG-5006CJ http://www.farnell.com/datasheets/1804154.pdf Nominal 1.8 volts, permissible maximum 3.3V. As the LM317 is set to 3V5 It may be wise to use a series resistor, maybe 270R. Better, change the LM317 voltage to 3V1 by making R5 820R (First version with no power smoothing.)  Then it is within the working range of the Epsom and the Si5351. (But note power output may be a little down because of slightly less drive from the Si5351.)
If used with the ProgRock's noise filter then the divider would need to be changed. I calculate if R5 of the ProgRock were changed to 27K then about 3V1 would reach the Synth board. This needs to be tested.

LM317:- Using the formula and typical values on the data sheet the output using R1=3K and R2=1K will be 5.15 volts +/- tolerances. [Iadj=50uA  = 0.000050 x 3000 = +0.15]

Possible Project? Slightly more precise GPS discipline for QRP Labs. Could be applicable to any crystal frequency in any project.

With the U3 would avoid any drift problems, VFO/Progrock/QCX equivalent to constant calibration but should hold to parts per billion. (The NMEA output of the NEO-7 can still be used to provide time/position data in the U3 etc. Just no PPS, I'm not sure if that is enough to keep time calibrated for WSPR.) Yes, NMEA sets the time, set Calibration to "00" to prevent any changes to the calibration figure.

Thought:- Use 27MHz VCXO, divide by 10 and use PLL with uBlox NEO-7 https://sites.google.com/site/g4zfqradio/u-blox_neo-6-7 set to 2.700MHz. (Or, similar divider/frequency relationship.) Note this is NOT  GPS disciplined, a NCO is used. The output is accurate, ideal for a frequency reference. But the basic signal is not clean enough for a receiver local oscillator. The PLL will need a sufficiently long time constant.

Jitter:- A component of phase noise, high values limit reception of weak signals next to strong ones, limit SNR etc. Figures I quote are from data sheets but I do not know if method/units are comparable. Low values are desirable for transmitters but for QRP not so critical.

Fox Jitter not spec.
Epson 26MHz Jitter not spec.

Si570 0.5ps

Si5351  100ps


Phase Jitter ( 12 KHz ~ 20 MHz ) 1 ps
3V3 or 5V 45mA max
Control 0.1-0.9VDD 100ppm
SMD, 7mm x 5mm

Jitter 20ps max @ 1sigma
Control 1V65+/- 1V65  +/-100ppm.
SMD case 7.5 x 5mm

December 2017
Test of LC100A

Site Index https://sites.google.com/site/g4zfqradio/home